- 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)
31 lines
847 B
Go
31 lines
847 B
Go
package repository
|
||
|
||
import (
|
||
"context"
|
||
"github.com/ocdp/cluster-service/internal/domain/entity"
|
||
)
|
||
|
||
// UserRepository 用户仓储接口(Output Port)
|
||
type UserRepository interface {
|
||
// Create 创建用户
|
||
Create(ctx context.Context, user *entity.User) error
|
||
|
||
// GetByID 根据 ID 获取用户
|
||
GetByID(ctx context.Context, id string) (*entity.User, error)
|
||
|
||
// GetByUsername 根据用户名获取用户
|
||
GetByUsername(ctx context.Context, username string) (*entity.User, error)
|
||
|
||
// Update 更新用户
|
||
Update(ctx context.Context, user *entity.User) error
|
||
|
||
// Delete 删除用户
|
||
Delete(ctx context.Context, id string) error
|
||
|
||
// List 列出所有用户
|
||
List(ctx context.Context) ([]*entity.User, error)
|
||
|
||
// AdminExists checks whether any admin user exists (lightweight EXISTS query)
|
||
AdminExists(ctx context.Context) (bool, error)
|
||
}
|