@punks/backend-entity-manager 0.0.77 → 0.0.79

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 (33) hide show
  1. package/dist/cjs/index.js +4 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/__test__/entity/foo.d.ts +2 -2
  4. package/dist/cjs/types/__test__/providers/typeorm/entity/foo.d.ts +2 -2
  5. package/dist/cjs/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/index.d.ts +3 -1
  6. package/dist/cjs/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/models.d.ts +1 -1
  7. package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/foo.entity.d.ts +1 -1
  8. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/dto.d.ts +1 -1
  9. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/guards/index.d.ts +8 -0
  10. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/roles/index.d.ts +47 -4
  11. package/dist/cjs/types/platforms/nest/__test__/tests/initialization/initialization-api.test.d.ts +1 -0
  12. package/dist/cjs/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  13. package/dist/cjs/types/platforms/nest/extensions/authentication/decorators/guards.d.ts +5 -0
  14. package/dist/cjs/types/platforms/nest/extensions/authentication/decorators/index.d.ts +1 -1
  15. package/dist/cjs/types/platforms/nest/extensions/authentication/types/index.d.ts +7 -0
  16. package/dist/esm/index.js +4 -1
  17. package/dist/esm/index.js.map +1 -1
  18. package/dist/esm/types/__test__/entity/foo.d.ts +2 -2
  19. package/dist/esm/types/__test__/providers/typeorm/entity/foo.d.ts +2 -2
  20. package/dist/esm/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/index.d.ts +3 -1
  21. package/dist/esm/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/models.d.ts +1 -1
  22. package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/foo.entity.d.ts +1 -1
  23. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/dto.d.ts +1 -1
  24. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/guards/index.d.ts +8 -0
  25. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/roles/index.d.ts +47 -4
  26. package/dist/esm/types/platforms/nest/__test__/tests/initialization/initialization-api.test.d.ts +1 -0
  27. package/dist/esm/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  28. package/dist/esm/types/platforms/nest/extensions/authentication/decorators/guards.d.ts +5 -0
  29. package/dist/esm/types/platforms/nest/extensions/authentication/decorators/index.d.ts +1 -1
  30. package/dist/esm/types/platforms/nest/extensions/authentication/types/index.d.ts +7 -0
  31. package/dist/index.d.ts +30 -19
  32. package/package.json +2 -2
  33. package/readme.md +1 -0
@@ -12,7 +12,7 @@ export interface FooEntity {
12
12
  id: string;
13
13
  name: string;
14
14
  age: number;
15
- updatedAt: Date;
15
+ updatedOn: Date;
16
16
  }
17
17
  export type FooEntityManager = IEntityManager<FooEntity, string, Partial<FooEntity>, Partial<FooEntity>, FooDeleteParameters, FooSearchParameters, FooSorting, FooCursor, FooFacets>;
18
18
  export declare class FooRepository extends InMemoryRepository<FooEntity> {
@@ -45,7 +45,7 @@ export interface FooDto {
45
45
  name: string;
46
46
  age: number;
47
47
  };
48
- updatedAt: Date;
48
+ updatedOn: Date;
49
49
  }
50
50
  export interface FooListItemDto {
51
51
  id: string;
@@ -8,7 +8,7 @@ export declare class FooEntity {
8
8
  id: string;
9
9
  name: string;
10
10
  age: number;
11
- updatedAt: Date;
11
+ updatedOn: Date;
12
12
  }
13
13
  export type FooEntityManager = IEntityManager<FooEntity, string, Partial<FooEntity>, Partial<FooEntity>, FooDeleteParameters, FooSearchParameters, FooSorting, FooCursor, FooFacets>;
14
14
  export declare class FooTypeOrmRepo extends TypeOrmRepository<FooEntity, string> {
@@ -52,7 +52,7 @@ export interface FooDto {
52
52
  name: string;
53
53
  age: number;
54
54
  };
55
- updatedAt: Date;
55
+ updatedOn: Date;
56
56
  }
57
57
  export interface FooListItemDto {
58
58
  id: string;
@@ -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
  }
@@ -2,5 +2,5 @@ export declare class FooEntity {
2
2
  id: string;
3
3
  name: string;
4
4
  age: number;
5
- updatedAt: Date;
5
+ updatedOn: Date;
6
6
  }
@@ -6,7 +6,7 @@ export declare class FooProfile {
6
6
  export declare class FooDto {
7
7
  id: string;
8
8
  profile: FooProfile;
9
- updatedAt: Date;
9
+ updatedOn: Date;
10
10
  }
11
11
  export declare class FooListItemDto {
12
12
  id: string;
@@ -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