feat: 完成源晶权限与经验系统并优化 me/admin 交互
这个提交包含在:
@@ -27,6 +27,8 @@ TEST_CASE("migrations create core tables") {
|
||||
|
||||
REQUIRE(CountTable(db.raw(), "users") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "sessions") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "user_experience") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "user_experience_logs") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "problems") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "problem_tags") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "submissions") == 1);
|
||||
@@ -34,11 +36,23 @@ TEST_CASE("migrations create core tables") {
|
||||
REQUIRE(CountTable(db.raw(), "contests") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "contest_problems") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "contest_registrations") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "contest_modifiers") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "seasons") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "season_reward_tracks") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "season_user_progress") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "season_reward_claims") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "loot_drop_logs") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "kb_articles") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "kb_article_links") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "kb_knowledge_claims") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "kb_weekly_tasks") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "kb_weekly_bonus_logs") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "import_jobs") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "import_job_items") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "problem_drafts") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "problem_solution_jobs") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "problem_solutions") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "source_crystal_settings") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "source_crystal_accounts") == 1);
|
||||
REQUIRE(CountTable(db.raw(), "source_crystal_transactions") == 1);
|
||||
}
|
||||
|
||||
在新工单中引用
屏蔽一个用户