@punks/backend-entity-manager 0.0.76 → 0.0.78

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.
Files changed (25) hide show
  1. package/dist/cjs/index.js +4 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/index.d.ts +3 -1
  4. package/dist/cjs/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/models.d.ts +1 -1
  5. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/guards/index.d.ts +8 -0
  6. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/roles/index.d.ts +47 -4
  7. package/dist/cjs/types/platforms/nest/__test__/tests/initialization/initialization-api.test.d.ts +1 -0
  8. package/dist/cjs/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  9. package/dist/cjs/types/platforms/nest/extensions/authentication/decorators/guards.d.ts +5 -0
  10. package/dist/cjs/types/platforms/nest/extensions/authentication/decorators/index.d.ts +1 -1
  11. package/dist/cjs/types/platforms/nest/extensions/authentication/types/index.d.ts +7 -0
  12. package/dist/esm/index.js +4 -1
  13. package/dist/esm/index.js.map +1 -1
  14. package/dist/esm/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/index.d.ts +3 -1
  15. package/dist/esm/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/models.d.ts +1 -1
  16. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/guards/index.d.ts +8 -0
  17. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/roles/index.d.ts +47 -4
  18. package/dist/esm/types/platforms/nest/__test__/tests/initialization/initialization-api.test.d.ts +1 -0
  19. package/dist/esm/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  20. package/dist/esm/types/platforms/nest/extensions/authentication/decorators/guards.d.ts +5 -0
  21. package/dist/esm/types/platforms/nest/extensions/authentication/decorators/index.d.ts +1 -1
  22. package/dist/esm/types/platforms/nest/extensions/authentication/types/index.d.ts +7 -0
  23. package/dist/index.d.ts +30 -19
  24. package/package.json +1 -1
  25. package/readme.md +1 -0
@@ -4,8 +4,10 @@ import { NestPipelineTemplate } from "../../../../../../pipelines/template";
4
4
  import { AppAuthContext } from "../../../../infrastructure/authentication";
5
5
  import { AuthenticationService } from "../../../../../../extensions";
6
6
  import { InstanceInitializeInput } from "./models";
7
+ import { TenantEntityManager } from "../../../../entities/tenants/tenant.manager";
7
8
  export declare class InstanceInitializeTemplate extends NestPipelineTemplate<InstanceInitializeInput, void, AppAuthContext> {
8
9
  private readonly auth;
9
- constructor(auth: AuthenticationService);
10
+ private readonly tenants;
11
+ constructor(auth: AuthenticationService, tenants: TenantEntityManager);
10
12
  protected buildTemplate(builder: IPipelineTemplateBuilder<InstanceInitializeInput, AppAuthContext>): PipelineDefinition<InstanceInitializeInput, void, AppAuthContext>;
11
13
  }
@@ -1,4 +1,4 @@
1
- import { AppRole } from "../../../../infrastructure/authentication/roles";
1
+ import { AppRole } from "../../../../../../extensions";
2
2
  export interface InstanceInitializeInput {
3
3
  roles: AppRole[];
4
4
  }
@@ -0,0 +1,8 @@
1
+ import { RolesGuardOptions } from "../../../../../extensions";
2
+ export declare const CompanyUsers: (options?: RolesGuardOptions) => import("@nestjs/common").CustomDecorator<string>;
3
+ export declare const CompanyManagers: (options?: RolesGuardOptions) => import("@nestjs/common").CustomDecorator<string>;
4
+ export declare const CompanyAdmins: (options?: RolesGuardOptions) => import("@nestjs/common").CustomDecorator<string>;
5
+ export declare const OrganizationUsers: (options?: RolesGuardOptions) => import("@nestjs/common").CustomDecorator<string>;
6
+ export declare const OrganizationManagers: (options?: RolesGuardOptions) => import("@nestjs/common").CustomDecorator<string>;
7
+ export declare const OrganizationAdmins: (options?: RolesGuardOptions) => import("@nestjs/common").CustomDecorator<string>;
8
+ export declare const TenantAdmins: (options?: RolesGuardOptions) => import("@nestjs/common").CustomDecorator<string>;
@@ -1,7 +1,3 @@
1
- export type AppRole = {
2
- uid: string;
3
- name: string;
4
- };
5
1
  export declare const AppRoles: {
6
2
  TenantAdmin: {
7
3
  uid: string;
@@ -11,4 +7,51 @@ export declare const AppRoles: {
11
7
  uid: string;
12
8
  name: string;
13
9
  };
10
+ OrganizationManager: {
11
+ uid: string;
12
+ name: string;
13
+ };
14
+ OrganizationUser: {
15
+ uid: string;
16
+ name: string;
17
+ };
18
+ CompanyAdmin: {
19
+ uid: string;
20
+ name: string;
21
+ };
22
+ CompanyManager: {
23
+ uid: string;
24
+ name: string;
25
+ };
26
+ CompanyUser: {
27
+ uid: string;
28
+ name: string;
29
+ };
30
+ };
31
+ export declare const InheritedRoles: {
32
+ TenantAdmin: {
33
+ uid: string;
34
+ name: string;
35
+ }[];
36
+ OrganizationAdmin: {
37
+ uid: string;
38
+ name: string;
39
+ }[];
40
+ OrganizationManager: {
41
+ uid: string;
42
+ name: string;
43
+ }[];
44
+ OrganizationUser: {
45
+ uid: string;
46
+ name: string;
47
+ }[];
48
+ CompanyAdmin: {
49
+ uid: string;
50
+ name: string;
51
+ }[];
52
+ CompanyManager: {
53
+ uid: string;
54
+ name: string;
55
+ }[];
56
+ CompanyUser: never[];
14
57
  };
@@ -4,6 +4,7 @@ export declare const NestTestServerPorts: {
4
4
  AuthApiTest: number;
5
5
  AuthGuardsTest: number;
6
6
  SessionTest: number;
7
+ InitApiTest: number;
7
8
  TenantInitPipeline: number;
8
9
  CompanyInitPipeline: number;
9
10
  };
@@ -1,4 +1,9 @@
1
+ import { AppRole, RolesGuardOptions } from "../types";
1
2
  export declare const Public: () => import("@nestjs/common").CustomDecorator<string>;
2
3
  export declare const Authenticated: () => import("@nestjs/common").CustomDecorator<string>;
3
4
  export declare const Roles: (...roles: string[]) => import("@nestjs/common").CustomDecorator<string>;
4
5
  export declare const MemberOf: (...groups: string[]) => import("@nestjs/common").CustomDecorator<string>;
6
+ export declare const buildRolesGuard: ({ mainRole, inheritedRoles, }: {
7
+ mainRole: AppRole;
8
+ inheritedRoles?: AppRole[] | undefined;
9
+ }, options?: RolesGuardOptions) => import("@nestjs/common").CustomDecorator<string>;
@@ -1,4 +1,4 @@
1
- export { Authenticated, MemberOf, Public, Roles } from "./guards";
1
+ export { Authenticated, MemberOf, Public, Roles, buildRolesGuard, } from "./guards";
2
2
  export { AuthenticationExtensionSymbols } from "./symbols";
3
3
  export { WpRolesService } from "./rolesService";
4
4
  export { WpUserService } from "./userService";
@@ -15,3 +15,10 @@ export type EmailVerifyTokenPayload = {
15
15
  export declare enum UserRegistrationError {
16
16
  UserAlreadyExists = "userAlreadyExists"
17
17
  }
18
+ export type AppRole = {
19
+ uid: string;
20
+ name: string;
21
+ };
22
+ export type RolesGuardOptions = {
23
+ inheritRoles?: boolean;
24
+ };
package/dist/esm/index.js CHANGED
@@ -331,6 +331,9 @@ const Public = () => SetMetadata(AuthenticationGuardsSymbols.Public, true);
331
331
  const Authenticated = () => SetMetadata(AuthenticationGuardsSymbols.Authenticated, true);
332
332
  const Roles = (...roles) => SetMetadata(AuthenticationGuardsSymbols.Roles, roles);
333
333
  const MemberOf = (...groups) => SetMetadata(AuthenticationGuardsSymbols.MemberOf, groups);
334
+ const buildRolesGuard = ({ mainRole, inheritedRoles, }, options) => Roles(mainRole.uid, ...(options?.inheritRoles && inheritedRoles
335
+ ? inheritedRoles.map((role) => role.uid)
336
+ : []));
334
337
 
335
338
  const WpRolesService = () => applyDecorators(Injectable(), SetMetadata(AuthenticationExtensionSymbols.RolesService, true));
336
339
 
@@ -26541,5 +26544,5 @@ InMemoryEmailProvider = __decorate([
26541
26544
  WpEmailProvider("in-memory")
26542
26545
  ], InMemoryEmailProvider);
26543
26546
 
26544
- export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EventsService, InMemoryEmailProvider, InvalidCredentialsError, MemberOf, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PipelineController, PipelineErrorType, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, TrackingService, UserCreationError, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEventsTracker, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, getLocalizedText, newUuid, renderHandlebarsTemplate };
26547
+ export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EventsService, InMemoryEmailProvider, InvalidCredentialsError, MemberOf, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PipelineController, PipelineErrorType, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, TrackingService, UserCreationError, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEventsTracker, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildRolesGuard, getLocalizedText, newUuid, renderHandlebarsTemplate };
26545
26548
  //# sourceMappingURL=index.js.map