package usecase import ( "context" "code.30cm.net/digimon/app-cloudep-permission-server/pkg/domain/permission" ) type RolePermissionUseCase interface { Get(ctx context.Context, roleID string) (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 string, permissions permission.Permissions) error Delete(ctx context.Context, roleID string, 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"` }