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

45 lines
1.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package usecase
import (
"context"
"code.30cm.net/digimon/app-cloudep-permission-server/pkg/domain/entity"
"code.30cm.net/digimon/app-cloudep-permission-server/pkg/domain/permission"
)
type PermissionUseCase interface {
Insert(ctx context.Context, req CreatePermissionReq) error
Del(ctx context.Context, id string) error
Update(ctx context.Context, id string, req UpdatePermissionReq) error
All(ctx context.Context, status *permission.Status) ([]entity.Permission, error)
// FilterAll 用樹的結構,使得付節點若關閉,子節點也不會顯示
FilterAll(ctx context.Context) ([]entity.Permission, error)
// Get(ctx context.Context, id string) (entity.Permission, error)
// List(ctx context.Context, param ListParam) ([]entity.Permission, int64, error)
}
type CreatePermissionReq struct {
Parent *string // 父權限的 ID (用字串儲存 ObjectID 的 Hex)
Name string // 權限名字
HTTPMethod string // 視作操作Action
HTTPPath string // 視作資源Object
Status permission.Status // 例如 1: 啟用, 0: 停用
Type permission.Type
}
type UpdatePermissionReq struct {
Parent *string // 父權限的 ID (用字串儲存 ObjectID 的 Hex)
Name *string // 權限名字
HTTPMethod *string // 視作操作Action
HTTPPath *string // 視作資源Object
Status *permission.Status // 例如 1: 啟用, 0: 停用
Type *permission.Type
}
type ListParam struct {
PageIndex int64
PageSize int64
Parent *string
}