backend/pkg/permission/domain/repository/permission.go

29 lines
959 B
Go
Raw Normal View History

2025-10-03 08:38:12 +00:00
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
}