app-cloudep-permission-server/pkg/domain/usecase/role_permission.go

32 lines
938 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)
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"`
}