@punks/backend-entity-manager 0.0.181 → 0.0.183

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { AppRole, RolesGuardOptions } from "../types";
1
+ import { AppPermission, AppRole, RolesGuardOptions } from "../types";
2
2
  export declare const Public: () => import("@nestjs/common").CustomDecorator<string>;
3
3
  export declare const Authenticated: () => import("@nestjs/common").CustomDecorator<string>;
4
4
  export declare const Permissions: (...permissions: string[]) => import("@nestjs/common").CustomDecorator<string>;
@@ -8,3 +8,6 @@ export declare const buildRolesGuard: ({ mainRole, secondaryRoles, }: {
8
8
  mainRole: AppRole;
9
9
  secondaryRoles?: AppRole[] | undefined;
10
10
  }, options?: RolesGuardOptions) => import("@nestjs/common").CustomDecorator<string>;
11
+ export declare const buildPermissionsGuard: ({ permissions, }: {
12
+ permissions: AppPermission[];
13
+ }) => import("@nestjs/common").CustomDecorator<string>;
@@ -1,5 +1,5 @@
1
1
  export { CurrentUser, CurrentUserData } from "./currentUser";
2
- export { Authenticated, MemberOf, Public, Roles, buildRolesGuard, } from "./guards";
2
+ export { Authenticated, MemberOf, Public, Roles, Permissions, buildRolesGuard, buildPermissionsGuard, } from "./guards";
3
3
  export { WpPermissionsService } from "./permissionsService";
4
4
  export { AuthenticationExtensionSymbols } from "./symbols";
5
5
  export { WpRolesService } from "./rolesService";
@@ -19,6 +19,10 @@ export type AppRole = {
19
19
  uid: string;
20
20
  name: string;
21
21
  };
22
+ export type AppPermission = {
23
+ uid: string;
24
+ name: string;
25
+ };
22
26
  export type RolesGuardOptions = {
23
27
  exact?: boolean;
24
28
  };
package/dist/esm/index.js CHANGED
@@ -2524,11 +2524,13 @@ const AuthenticationGuardsSymbols = {
2524
2524
 
2525
2525
  const Public = () => SetMetadata(AuthenticationGuardsSymbols.Public, true);
2526
2526
  const Authenticated = () => SetMetadata(AuthenticationGuardsSymbols.Authenticated, true);
2527
+ const Permissions = (...permissions) => SetMetadata(AuthenticationGuardsSymbols.Permissions, permissions);
2527
2528
  const Roles = (...roles) => SetMetadata(AuthenticationGuardsSymbols.Roles, roles);
2528
2529
  const MemberOf = (...groups) => SetMetadata(AuthenticationGuardsSymbols.MemberOf, groups);
2529
2530
  const buildRolesGuard = ({ mainRole, secondaryRoles, }, options) => Roles(mainRole.uid, ...(!options?.exact && secondaryRoles
2530
2531
  ? secondaryRoles.map((role) => role.uid)
2531
2532
  : []));
2533
+ const buildPermissionsGuard = ({ permissions, }) => Permissions(...permissions.map((x) => x.uid));
2532
2534
 
2533
2535
  const WpPermissionsService = () => applyDecorators(Injectable(), SetMetadata(AuthenticationExtensionSymbols.PermissionsService, true));
2534
2536
 
@@ -2636,7 +2638,7 @@ let AuthGuard = AuthGuard_1 = class AuthGuard {
2636
2638
  }
2637
2639
  const allowedPermissions = this.getAllowedPermissions(context);
2638
2640
  if (allowedPermissions) {
2639
- const isAllowed = this.isPermissionMatching(allowedPermissions, auth?.roles ?? []);
2641
+ const isAllowed = this.isPermissionMatching(allowedPermissions, auth?.permissions ?? []);
2640
2642
  this.logger.debug(`Authorized:${isAllowed} -> authorization permission guard`, {
2641
2643
  ...this.getContextInfo({
2642
2644
  context,
@@ -28398,5 +28400,5 @@ InMemoryEmailProvider = __decorate([
28398
28400
  WpEmailProvider("in-memory")
28399
28401
  ], InMemoryEmailProvider);
28400
28402
 
28401
- export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsS3BucketError as AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, BucketItemType, CurrentUser, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EntitySerializationFormat, EntitySerializer, EntitySnapshotService, EntityVersionOperation, EventsService, FilesService, IEntityVersionsCursor, InMemoryBucketProvider, InMemoryEmailProvider, InvalidCredentialsError, MemberOf, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestEntitySnapshotService, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PipelineController, PipelineErrorType, PipelineInvocationError, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, TrackingService, UserCreationError, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpEmailLogger, WpEmailProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpPermissionsService, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
28403
+ export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsS3BucketError as AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, BucketItemType, CurrentUser, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EntitySerializationFormat, EntitySerializer, EntitySnapshotService, EntityVersionOperation, EventsService, FilesService, IEntityVersionsCursor, InMemoryBucketProvider, InMemoryEmailProvider, InvalidCredentialsError, MemberOf, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestEntitySnapshotService, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, Permissions, PipelineController, PipelineErrorType, PipelineInvocationError, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, TrackingService, UserCreationError, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpEmailLogger, WpEmailProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpPermissionsService, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildPermissionsGuard, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
28402
28404
  //# sourceMappingURL=index.js.map