32 lines
934 B
Go
32 lines
934 B
Go
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) // -> role 有哪些Permission
|
|
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)
|
|
// GetByRoleUID(ctx context.Context, uid string) (permission.Permissions, error)
|
|
// GetByUser(ctx context.Context, uid string) (UserPermission, 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 {
|
|
Roles []Role
|
|
Total int64 `json:"total"`
|
|
}
|