29 lines
959 B
Go
29 lines
959 B
Go
package repository
|
|
|
|
import (
|
|
"backend/pkg/permission/domain/entity"
|
|
"context"
|
|
mongodriver "go.mongodb.org/mongo-driver/v2/mongo"
|
|
)
|
|
|
|
// PermissionRepository 權限倉庫介面
|
|
type PermissionRepository interface {
|
|
Create(ctx context.Context, permission *entity.Permission) error
|
|
GetByID(ctx context.Context, id string) (*entity.Permission, error)
|
|
GetByKey(ctx context.Context, httpMethod, httpPath string) (*entity.Permission, error)
|
|
Update(ctx context.Context, id string, permission *entity.Permission) error
|
|
Delete(ctx context.Context, id string) error
|
|
List(ctx context.Context, filter PermissionFilter) ([]*entity.Permission, error)
|
|
GetActivePermissions(ctx context.Context) ([]*entity.Permission, error)
|
|
Index20241226001UP(ctx context.Context) (*mongodriver.Cursor, error)
|
|
}
|
|
|
|
// PermissionFilter 權限查詢過濾器
|
|
type PermissionFilter struct {
|
|
Status *int
|
|
Type *entity.PermissionType
|
|
ParentID *string
|
|
Limit int
|
|
Skip int
|
|
}
|