- 移除未使用的DTO类型(ChangePasswordRequest/DeleteAccountRequest) - 移除service层未引用的错误重导出(auth_service/audit_service) - 删除未使用的SiteSettingRepo(数据访问由config.SiteSettings直接处理) - 删除未使用的FindByStatus方法(user_repo) - 删除未使用的AutoMigrate方法(audit_repo/notification_repo) - 删除未使用的PaginatedResult/NewPaginatedResult(pagination.go) - 修复接口注释:notifProvider(5→4)、auditUseCase(4→3)、siteSettingUseCase(3→4) - 移除auditStatusProvider未使用的FindByUsername方法 - 统一使用common.ErrXxx直接引用,消除跨service错误重导出耦合
35 lines
1.2 KiB
Go
35 lines
1.2 KiB
Go
package admin
|
||
|
||
import (
|
||
"metazone.cc/metalab/internal/model"
|
||
"metazone.cc/metalab/internal/service"
|
||
)
|
||
|
||
// adminUseCase AdminController 对 AdminService 的最小依赖(ISP:4 个方法)
|
||
type adminUseCase interface {
|
||
ListUsers(params service.ListUsersParams) (*service.ListUsersResult, error)
|
||
UpdateUserStatus(operatorUID, targetUID uint, newStatus string) error
|
||
ResetUserToken(operatorUID, targetUID uint) error
|
||
CountUsers() (int64, error)
|
||
}
|
||
|
||
// auditUseCase AuditController 对 AuditService 的最小依赖(ISP:3 个方法)
|
||
type auditUseCase interface {
|
||
List(auditType, status string, page, pageSize int) (*service.AuditListResult, error)
|
||
Approve(reviewerID uint, submissionID uint) error
|
||
Reject(reviewerID uint, submissionID uint, reason string) error
|
||
}
|
||
|
||
// siteSettingUseCase SiteSettingController 对 SiteSettingService 的最小依赖(ISP:4 个方法)
|
||
type siteSettingUseCase interface {
|
||
GetSettings() map[string]string
|
||
UpdateSetting(key, value string) error
|
||
UpdateBoolSetting(key string, value bool) error
|
||
GetAuditSettings(defaults *service.AuditDefaults) *service.AuditSettings
|
||
}
|
||
|
||
// auditStatusProvider 审核控制器所需的用户信息查询(ISP)
|
||
type auditStatusProvider interface {
|
||
FindByID(id uint) (*model.User, error)
|
||
}
|