thread-master/backend/internal/model/permission/domain/repository/permission.go

26 lines
770 B
Go

package repository
import (
"context"
"haixun-backend/internal/model/permission/domain/entity"
)
type PermissionFilter struct {
Status entity.Status
Type entity.Type
}
type PermissionRepository interface {
EnsureIndexes(ctx context.Context) error
UpsertByName(ctx context.Context, permission *entity.Permission) error
List(ctx context.Context, filter PermissionFilter) ([]*entity.Permission, error)
ListByIDs(ctx context.Context, ids []string) ([]*entity.Permission, error)
}
type RolePermissionRepository interface {
EnsureIndexes(ctx context.Context) error
ListByRoles(ctx context.Context, tenantID string, roleKeys []string) ([]*entity.RolePermission, error)
SetForRole(ctx context.Context, tenantID, roleKey string, permissionIDs []string) error
}