package usecase import ( "code.30cm.net/digimon/app-cloudep-permission-server/pkg/domain/permission" "context" ) type RolePermissionUseCase interface { Get(ctx context.Context, roleID int64) (permission.Permissions, error) GetByRoleUID(ctx context.Context, uid string) (permission.Permissions, error) GetByUser(ctx context.Context, uid string) (UserPermission, error) Create(ctx context.Context, roleID int64, permissions permission.Permissions) error Delete(ctx context.Context, roleID int64, permissions permission.Permissions) error List(ctx context.Context, req ListQuery) (RoleResp, error) } type UserPermission struct { RoleID string `json:"role_id"` Permissions permission.Permissions `json:"permissions"` } type UserRoleCountResp struct { Role UserCount int `json:"user_count"` } type RoleResp struct { List []UserRoleCountResp `json:"list"` Total int64 `json:"total"` }