feat(admin): add super admin initialization endpoint
All checks were successful
Build Backend / build (push) Successful in 2m42s
Build Backend / build-docker (push) Successful in 2m52s

Add POST /api/v1/admin/setup-super-admin endpoint to initialize the first super admin.
The endpoint can only be used once - after a super admin exists, subsequent requests
are rejected. Requires valid setup_secret configured via APP_SETUP_SECRET environment
variable or setup_secret in config file.
This commit is contained in:
lafay
2026-04-24 15:14:44 +08:00
parent 05c7f8a5eb
commit 813e54e5b2
12 changed files with 153 additions and 3 deletions

View File

@@ -63,6 +63,7 @@ var ServiceSet = wire.NewSet(
ProvideAdminVerificationService,
ProvideSensitiveService,
ProvideUserProfileAuditService,
ProvideSetupService,
// 日志服务
ProvideAsyncLogManager,
@@ -476,3 +477,12 @@ func ProvideUserProfileAuditService(
) service.UserProfileAuditService {
return service.NewUserProfileAuditService(auditRepo, userRepo, hookManager, moderationHooks)
}
func ProvideSetupService(
userRepo repository.UserRepository,
roleRepo repository.RoleRepository,
casbinSvc service.CasbinService,
cfg *config.Config,
) service.SetupService {
return service.NewSetupService(userRepo, roleRepo, casbinSvc, cfg.SetupSecret)
}