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 }