@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/index.d.ts CHANGED
@@ -1052,10 +1052,39 @@ interface IAuthUserRolesService<TUser extends IAuthUser, TRole extends IAuthRole
1052
1052
  clearUserRoles(userId: string): Promise<TRole[]>;
1053
1053
  }
1054
1054
 
1055
+ interface AuthenticationModuleSettings {
1056
+ passwordSalt: string;
1057
+ jwtSecret: string;
1058
+ }
1059
+ type UserPasswordResetTokenPayload = {
1060
+ userId: string;
1061
+ email: string;
1062
+ timestamp: number;
1063
+ };
1064
+ type EmailVerifyTokenPayload = {
1065
+ userId: string;
1066
+ email: string;
1067
+ timestamp: number;
1068
+ };
1069
+ declare enum UserRegistrationError {
1070
+ UserAlreadyExists = "userAlreadyExists"
1071
+ }
1072
+ type AppRole = {
1073
+ uid: string;
1074
+ name: string;
1075
+ };
1076
+ type RolesGuardOptions = {
1077
+ inheritRoles?: boolean;
1078
+ };
1079
+
1055
1080
  declare const Public: () => _nestjs_common.CustomDecorator<string>;
1056
1081
  declare const Authenticated: () => _nestjs_common.CustomDecorator<string>;
1057
1082
  declare const Roles: (...roles: string[]) => _nestjs_common.CustomDecorator<string>;
1058
1083
  declare const MemberOf: (...groups: string[]) => _nestjs_common.CustomDecorator<string>;
1084
+ declare const buildRolesGuard: ({ mainRole, inheritedRoles, }: {
1085
+ mainRole: AppRole;
1086
+ inheritedRoles?: AppRole[] | undefined;
1087
+ }, options?: RolesGuardOptions) => _nestjs_common.CustomDecorator<string>;
1059
1088
 
1060
1089
  declare const AuthenticationExtensionSymbols: {
1061
1090
  UserService: symbol;
@@ -1212,24 +1241,6 @@ interface UserPasswordResetRequestResult {
1212
1241
  success: boolean;
1213
1242
  }
1214
1243
 
1215
- interface AuthenticationModuleSettings {
1216
- passwordSalt: string;
1217
- jwtSecret: string;
1218
- }
1219
- type UserPasswordResetTokenPayload = {
1220
- userId: string;
1221
- email: string;
1222
- timestamp: number;
1223
- };
1224
- type EmailVerifyTokenPayload = {
1225
- userId: string;
1226
- email: string;
1227
- timestamp: number;
1228
- };
1229
- declare enum UserRegistrationError {
1230
- UserAlreadyExists = "userAlreadyExists"
1231
- }
1232
-
1233
1244
  type UserRegisterCallbackTemplate = {
1234
1245
  urlTemplate: string;
1235
1246
  tokenPlaceholder: string;
@@ -1861,4 +1872,4 @@ declare const renderHandlebarsTemplate: <TContext extends object>(input: {
1861
1872
 
1862
1873
  declare const newUuid: () => string;
1863
1874
 
1864
- export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationModuleSettings, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, AwsSesEmailTemplateData, AwsSesSettings, BooleanFacet, BooleanFacetItem, DeepPartial, EmailService, EmailTemplateProps, EmailVerifyEmailPayload, EmailVerifyTokenPayload, EntityActionsProps, EntityAdapterProps, EntityAuthMiddlewareProps, EntityConnectorProps, EntityConverterProps, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityProps, EntityQueryBuilderProps, EntityRepositoryProps, EntitySeeder, EntitySeederProps, EventsService, EventsTrackerProps, FilterExpression, HtmlEmailInput, IAppCompany, IAppDivision, IAppOrganization, IAppRole, IAppTenant, IAppUser, IAppUserGroup, IAppUserProfile, IAuthRole, IAuthRoleService, IAuthService, IAuthUser, IAuthUserContext, IAuthUserOrganization, IAuthUserProfile, IAuthUserRolesService, IAuthUserService, IAuthUserTokenData, IAuthenticationContext, IAuthenticationContextProvider, IAuthorizationResult, IEmailProvider, IEmailTemplate, IEmailTemplatesCollection, IEntitiesCountQuery, IEntitiesDeleteParameters, IEntitiesQueryBuilder, IEntitiesSearchAction, IEntitiesSearchQuery, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityExistsQuery, IEntityFacet, IEntityFacetItem, IEntityFacets, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertCommand, IEventLog, IEventsTracker, IPipelineStepBuilder, IPipelineStepOperationBuilder, IPipelineStepOperationOptionsBuilder, IPipelineTemplateBuilder, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, InMemoryEmailProvider, InvalidCredentialsError, LocalizedMap, LocalizedTexts, MemberOf, MessagingEmailSentPayload, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NonNullable$1 as NonNullable, NumericFacet, NumericFacetItem, OperationDefinition, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PasswordResetEmailPayload, PipelineCompletedStepState, PipelineController, PipelineCurrentStepState, PipelineDefinition, PipelineErrorType, PipelineOperationError, PipelineOperationResult, PipelineOperationResultType, PipelineOperationRollbackResult, PipelineOperationRollbackResultType, PipelineResult, PipelineResultType, PipelineStatus, PipelineStep, PipelineStepErrorType, PipelineStepOperation, PipelineStepResult, PipelineStepResultType, PipelineStepRollbackResult, PipelineStepRollbackResultType, PipelineStepState, PipelineTemplateProps, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, RegistrationEmailPayload, ReplicaConfiguration, ReplicaOptions, ReplicationMode, Roles, RollbackOperationDefinition, RuntimeErrorInformation, SendgridEmailModule, SendgridEmailTemplate, SendgridEmailTemplateData, SendgridSettings, SendgridTemplateBaseData, SendgridTemplateType, SortDirection, SortingType, StringFacet, StringFacetItem, TemplatedEmailInput, TrackingService, UserCreationError, UserCreationInput, UserCreationResult, UserDeleteInput, UserDisableInput, UserEnableInput, UserLoginEventPayload, UserLoginInput, UserLoginResult, UserPasswordChangeInput, UserPasswordResetCompleteInput, UserPasswordResetCompletedEventPayload, UserPasswordResetRequestCallbackTemplate, UserPasswordResetRequestInput, UserPasswordResetRequestResult, UserPasswordResetStartedEventPayload, UserPasswordResetTokenPayload, UserProfile, UserRegisterCallbackTemplate, UserRegistrationCompletedEventPayload, UserRegistrationError, UserRegistrationInput, UserRegistrationResult, UserRegistrationStartedEventPayload, UserTokenVerifyInput, UserTokenVerifyResult, UserVerifyCompleteInput, UserVerifyRequestCallbackTemplate, UserVerifyRequestInput, UserVerifyRequestResult as UserVerifyResetRequestResult, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEventsTracker, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, getLocalizedText, newUuid, renderHandlebarsTemplate };
1875
+ export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppRole, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationModuleSettings, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, AwsSesEmailTemplateData, AwsSesSettings, BooleanFacet, BooleanFacetItem, DeepPartial, EmailService, EmailTemplateProps, EmailVerifyEmailPayload, EmailVerifyTokenPayload, EntityActionsProps, EntityAdapterProps, EntityAuthMiddlewareProps, EntityConnectorProps, EntityConverterProps, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityProps, EntityQueryBuilderProps, EntityRepositoryProps, EntitySeeder, EntitySeederProps, EventsService, EventsTrackerProps, FilterExpression, HtmlEmailInput, IAppCompany, IAppDivision, IAppOrganization, IAppRole, IAppTenant, IAppUser, IAppUserGroup, IAppUserProfile, IAuthRole, IAuthRoleService, IAuthService, IAuthUser, IAuthUserContext, IAuthUserOrganization, IAuthUserProfile, IAuthUserRolesService, IAuthUserService, IAuthUserTokenData, IAuthenticationContext, IAuthenticationContextProvider, IAuthorizationResult, IEmailProvider, IEmailTemplate, IEmailTemplatesCollection, IEntitiesCountQuery, IEntitiesDeleteParameters, IEntitiesQueryBuilder, IEntitiesSearchAction, IEntitiesSearchQuery, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityExistsQuery, IEntityFacet, IEntityFacetItem, IEntityFacets, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertCommand, IEventLog, IEventsTracker, IPipelineStepBuilder, IPipelineStepOperationBuilder, IPipelineStepOperationOptionsBuilder, IPipelineTemplateBuilder, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, InMemoryEmailProvider, InvalidCredentialsError, LocalizedMap, LocalizedTexts, MemberOf, MessagingEmailSentPayload, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NonNullable$1 as NonNullable, NumericFacet, NumericFacetItem, OperationDefinition, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PasswordResetEmailPayload, PipelineCompletedStepState, PipelineController, PipelineCurrentStepState, PipelineDefinition, PipelineErrorType, PipelineOperationError, PipelineOperationResult, PipelineOperationResultType, PipelineOperationRollbackResult, PipelineOperationRollbackResultType, PipelineResult, PipelineResultType, PipelineStatus, PipelineStep, PipelineStepErrorType, PipelineStepOperation, PipelineStepResult, PipelineStepResultType, PipelineStepRollbackResult, PipelineStepRollbackResultType, PipelineStepState, PipelineTemplateProps, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, RegistrationEmailPayload, ReplicaConfiguration, ReplicaOptions, ReplicationMode, Roles, RolesGuardOptions, RollbackOperationDefinition, RuntimeErrorInformation, SendgridEmailModule, SendgridEmailTemplate, SendgridEmailTemplateData, SendgridSettings, SendgridTemplateBaseData, SendgridTemplateType, SortDirection, SortingType, StringFacet, StringFacetItem, TemplatedEmailInput, TrackingService, UserCreationError, UserCreationInput, UserCreationResult, UserDeleteInput, UserDisableInput, UserEnableInput, UserLoginEventPayload, UserLoginInput, UserLoginResult, UserPasswordChangeInput, UserPasswordResetCompleteInput, UserPasswordResetCompletedEventPayload, UserPasswordResetRequestCallbackTemplate, UserPasswordResetRequestInput, UserPasswordResetRequestResult, UserPasswordResetStartedEventPayload, UserPasswordResetTokenPayload, UserProfile, UserRegisterCallbackTemplate, UserRegistrationCompletedEventPayload, UserRegistrationError, UserRegistrationInput, UserRegistrationResult, UserRegistrationStartedEventPayload, UserTokenVerifyInput, UserTokenVerifyResult, UserVerifyCompleteInput, UserVerifyRequestCallbackTemplate, UserVerifyRequestInput, UserVerifyRequestResult as UserVerifyResetRequestResult, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEventsTracker, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildRolesGuard, getLocalizedText, newUuid, renderHandlebarsTemplate };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@punks/backend-entity-manager",
3
- "version": "0.0.76",
3
+ "version": "0.0.78",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
package/readme.md CHANGED
@@ -43,6 +43,7 @@ npm install @aws-sdk/client-ses
43
43
  ```bash
44
44
  # NestJS with TypeORM
45
45
  npm install @nestjs/core @nestjs/common @nestjs/event-emitter @nestjs/typeorm @nestjs/swagger
46
+ npm install -D pg-mem supertest
46
47
  ```
47
48
 
48
49
  ## Library structure