feat(backend): leaderboard tiers, N+1 fix, contributors, certificate approval, physical disable
- leaderboard: batch-fetch users (GetUsersByIDs), deterministic tie-break by user_id - leaderboard: tier system (champion/gold/silver/bronze) based on rank percentile - store: HasCompletedCurriculum requires cert.Status == "issued"; pending does not satisfy - certificate: issueCertificateIfEligible creates pending row; admin approves via handleAdminIssueCertificate - certificate: handleRequestPhysicalCertificate returns 410 Gone (feature disabled) - settings: contributors CRUD (loadContributors, validateContributors, handleAdminContributorAvatarUpload) - community: expose contributors in /api/community response - rate_limit: separate DevMode bypass from redis-nil check in allowWSHandshake - router: remove /api/search route; fix missing tab indent on /api/meta line - migration 0032: contributors app_setting with seed entry
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
-- Add contributors setting key. Seed one verified entry (sole git author).
|
||||
-- Admins can update via the site settings panel.
|
||||
INSERT INTO app_settings (key, value) VALUES (
|
||||
'contributors',
|
||||
'[{"name":"Amir Husayn Panahifar","role":"بنیانگذار و توسعهدهنده","bio":"","url":"","avatar":"","contributions":["code"]}]'
|
||||
) ON CONFLICT (key) DO NOTHING;
|
||||
Reference in New Issue
Block a user