feat(admin): add super admin initialization endpoint
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:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user