feat: rebuild CSP practice workflow, UX and automation

这个提交包含在:
Codex CLI
2026-02-13 15:49:05 +08:00
父节点 d33deed4c5
当前提交 e2ab522b78
修改 105 个文件,包含 15669 行新增428 行删除

查看文件

@@ -14,6 +14,17 @@ add_library(csp_core
src/app_state.cc
src/services/crypto.cc
src/services/auth_service.cc
src/services/problem_service.cc
src/services/user_service.cc
src/services/wrong_book_service.cc
src/services/kb_service.cc
src/services/contest_service.cc
src/services/submission_service.cc
src/services/problem_workspace_service.cc
src/services/problem_solution_runner.cc
src/services/problem_gen_runner.cc
src/services/import_service.cc
src/services/import_runner.cc
src/domain/enum_strings.cc
src/domain/json.cc
)
@@ -30,6 +41,15 @@ target_link_libraries(csp_core PUBLIC
add_library(csp_web
src/controllers/auth_controller.cc
src/controllers/problem_controller.cc
src/controllers/submission_controller.cc
src/controllers/me_controller.cc
src/controllers/contest_controller.cc
src/controllers/leaderboard_controller.cc
src/controllers/kb_controller.cc
src/controllers/import_controller.cc
src/controllers/meta_controller.cc
src/controllers/problem_gen_controller.cc
src/health_controller.cc
)
@@ -53,7 +73,7 @@ target_include_directories(csp_server PRIVATE
target_link_libraries(csp_server PRIVATE
Drogon::Drogon
csp_core
csp_web
"$<LINK_LIBRARY:WHOLE_ARCHIVE,csp_web>"
)
enable_testing()
@@ -64,6 +84,18 @@ add_executable(csp_tests
tests/auth_service_test.cc
tests/auth_http_test.cc
tests/domain_test.cc
tests/problem_service_test.cc
tests/kb_service_test.cc
tests/contest_service_test.cc
tests/submission_service_test.cc
tests/me_http_test.cc
tests/problem_http_test.cc
tests/problem_workspace_service_test.cc
tests/problem_workspace_http_test.cc
tests/contest_http_test.cc
tests/submission_http_test.cc
tests/import_service_test.cc
tests/import_http_test.cc
)
target_include_directories(csp_tests PRIVATE
@@ -74,7 +106,7 @@ target_link_libraries(csp_tests PRIVATE
Catch2::Catch2WithMain
Drogon::Drogon
csp_core
csp_web
"$<LINK_LIBRARY:WHOLE_ARCHIVE,csp_web>"
)
include(CTest)