refactor: simplify setup flow — eliminate redundant DB calls and login round-trips

- Add AdminExists() to UserRepository (EXISTS query, not full table scan)
- SetupInitialAdmin returns tokens directly (skip separate Login call)
- Add SetupRequest DTO to auth_dto.go (replace inline struct)
- Extract defaultEmail() helper (removes duplicated email logic)
- AuthPage uses setup tokens directly (skip redundant apiLogin call)
- Use customAxiosInstance for auth API calls (consistent with codebase)
This commit is contained in:
Ivan087
2026-05-21 14:22:52 +08:00
parent 7d297a2b1a
commit e73b3147ed
8 changed files with 61 additions and 45 deletions

View File

@ -50,6 +50,13 @@ type LoginRequest struct {
Password string `json:"password" binding:"required"`
}
// SetupRequest 初始管理员注册请求
type SetupRequest struct {
Username string `json:"username" binding:"required"`
Password string `json:"password" binding:"required"`
Email string `json:"email,omitempty"`
}
// RefreshTokenRequest 刷新 Token 请求
type RefreshTokenRequest struct {
RefreshToken string `json:"refreshToken" binding:"required"`