@punks/backend-entity-manager 0.0.106 → 0.0.108

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 (90) hide show
  1. package/dist/cjs/index.js +10 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/abstractions/authentication.d.ts +2 -2
  4. package/dist/cjs/types/abstractions/converters.d.ts +3 -2
  5. package/dist/cjs/types/platforms/nest/__test__/server/app/crmContacts/crmContact.actions.d.ts +8 -0
  6. package/dist/cjs/types/platforms/nest/__test__/server/app/crmContacts/crmContact.controller.d.ts +17 -0
  7. package/dist/cjs/types/platforms/nest/__test__/server/app/crmContacts/crmContact.converter.d.ts +9 -0
  8. package/dist/cjs/types/platforms/nest/__test__/server/app/crmContacts/crmContact.dto.d.ts +50 -0
  9. package/dist/cjs/types/platforms/nest/__test__/server/app/crmContacts/crmContact.module.d.ts +2 -0
  10. package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/crmContact.entity.d.ts +11 -0
  11. package/dist/cjs/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
  12. package/dist/cjs/types/platforms/nest/__test__/server/database/core/repositories/crmContact.repository.d.ts +7 -0
  13. package/dist/cjs/types/platforms/nest/__test__/server/database/core/repositories.d.ts +2 -1
  14. package/dist/cjs/types/platforms/nest/__test__/server/entities/appCompanies/appCompany.query.d.ts +5 -5
  15. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.query.d.ts +5 -5
  16. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDivisions/appDivision.query.d.ts +5 -5
  17. package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.query.d.ts +5 -5
  18. package/dist/cjs/types/platforms/nest/__test__/server/entities/appOrganizations/appOrganization.query.d.ts +5 -5
  19. package/dist/cjs/types/platforms/nest/__test__/server/entities/appRoles/appRole.query.d.ts +6 -6
  20. package/dist/cjs/types/platforms/nest/__test__/server/entities/appTenants/appTenant.query.d.ts +5 -5
  21. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserGroupMembers/appUserGroupMember.query.d.ts +5 -5
  22. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserGroups/appUserGroup.query.d.ts +5 -5
  23. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserProfiles/appUserProfile.query.d.ts +5 -5
  24. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserRoles/appUserRole.query.d.ts +6 -6
  25. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUsers/appUser.query.d.ts +5 -5
  26. package/dist/cjs/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.adapter.d.ts +7 -0
  27. package/dist/cjs/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.authentication.d.ts +11 -0
  28. package/dist/cjs/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.manager.d.ts +7 -0
  29. package/dist/cjs/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.models.d.ts +13 -0
  30. package/dist/cjs/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.module.d.ts +2 -0
  31. package/dist/cjs/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.query.d.ts +14 -0
  32. package/dist/cjs/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.serializer.d.ts +6 -0
  33. package/dist/cjs/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.types.d.ts +68 -0
  34. package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.query.d.ts +4 -5
  35. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/models/index.d.ts +0 -1
  36. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/processors/entity-auth/index.d.ts +8 -1
  37. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/providers/context/index.d.ts +7 -4
  38. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/types.d.ts +3 -1
  39. package/dist/cjs/types/platforms/nest/__test__/tests/multitenancy/multitenancy-actions.test.d.ts +5 -0
  40. package/dist/cjs/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  41. package/dist/cjs/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +6 -0
  42. package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/abstractions/entities.d.ts +10 -0
  43. package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/abstractions/index.d.ts +1 -0
  44. package/dist/cjs/types/platforms/nest/services/session/index.d.ts +2 -0
  45. package/dist/esm/index.js +10 -0
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/types/abstractions/authentication.d.ts +2 -2
  48. package/dist/esm/types/abstractions/converters.d.ts +3 -2
  49. package/dist/esm/types/platforms/nest/__test__/server/app/crmContacts/crmContact.actions.d.ts +8 -0
  50. package/dist/esm/types/platforms/nest/__test__/server/app/crmContacts/crmContact.controller.d.ts +17 -0
  51. package/dist/esm/types/platforms/nest/__test__/server/app/crmContacts/crmContact.converter.d.ts +9 -0
  52. package/dist/esm/types/platforms/nest/__test__/server/app/crmContacts/crmContact.dto.d.ts +50 -0
  53. package/dist/esm/types/platforms/nest/__test__/server/app/crmContacts/crmContact.module.d.ts +2 -0
  54. package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/crmContact.entity.d.ts +11 -0
  55. package/dist/esm/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
  56. package/dist/esm/types/platforms/nest/__test__/server/database/core/repositories/crmContact.repository.d.ts +7 -0
  57. package/dist/esm/types/platforms/nest/__test__/server/database/core/repositories.d.ts +2 -1
  58. package/dist/esm/types/platforms/nest/__test__/server/entities/appCompanies/appCompany.query.d.ts +5 -5
  59. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.query.d.ts +5 -5
  60. package/dist/esm/types/platforms/nest/__test__/server/entities/appDivisions/appDivision.query.d.ts +5 -5
  61. package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.query.d.ts +5 -5
  62. package/dist/esm/types/platforms/nest/__test__/server/entities/appOrganizations/appOrganization.query.d.ts +5 -5
  63. package/dist/esm/types/platforms/nest/__test__/server/entities/appRoles/appRole.query.d.ts +6 -6
  64. package/dist/esm/types/platforms/nest/__test__/server/entities/appTenants/appTenant.query.d.ts +5 -5
  65. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserGroupMembers/appUserGroupMember.query.d.ts +5 -5
  66. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserGroups/appUserGroup.query.d.ts +5 -5
  67. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserProfiles/appUserProfile.query.d.ts +5 -5
  68. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserRoles/appUserRole.query.d.ts +6 -6
  69. package/dist/esm/types/platforms/nest/__test__/server/entities/appUsers/appUser.query.d.ts +5 -5
  70. package/dist/esm/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.adapter.d.ts +7 -0
  71. package/dist/esm/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.authentication.d.ts +11 -0
  72. package/dist/esm/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.manager.d.ts +7 -0
  73. package/dist/esm/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.models.d.ts +13 -0
  74. package/dist/esm/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.module.d.ts +2 -0
  75. package/dist/esm/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.query.d.ts +14 -0
  76. package/dist/esm/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.serializer.d.ts +6 -0
  77. package/dist/esm/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.types.d.ts +68 -0
  78. package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.query.d.ts +4 -5
  79. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/models/index.d.ts +0 -1
  80. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/processors/entity-auth/index.d.ts +8 -1
  81. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/providers/context/index.d.ts +7 -4
  82. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/types.d.ts +3 -1
  83. package/dist/esm/types/platforms/nest/__test__/tests/multitenancy/multitenancy-actions.test.d.ts +5 -0
  84. package/dist/esm/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  85. package/dist/esm/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +6 -0
  86. package/dist/esm/types/platforms/nest/extensions/multi-tenancy/abstractions/entities.d.ts +10 -0
  87. package/dist/esm/types/platforms/nest/extensions/multi-tenancy/abstractions/index.d.ts +1 -0
  88. package/dist/esm/types/platforms/nest/services/session/index.d.ts +2 -0
  89. package/dist/index.d.ts +23 -5
  90. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { NestEntityAuthorizationMiddleware } from "../../../../../..";
1
+ import { IMultiOrganizationEntity, NestEntityAuthorizationMiddleware } from "../../../../../..";
2
2
  import { IAuthorizationResult } from "../../../../../../../..";
3
3
  import { AppAuthContext, AppUserContext } from "../../types";
4
4
  export declare abstract class AppEntityAuthorizationMiddlewareBase<TEntity> extends NestEntityAuthorizationMiddleware<TEntity, AppAuthContext, AppUserContext> {
@@ -8,4 +8,11 @@ export declare abstract class AppEntityAuthorizationMiddlewareBase<TEntity> exte
8
8
  protected defaultCanUpdate(entity: Partial<TEntity>, context: AppAuthContext): Promise<IAuthorizationResult>;
9
9
  protected defaultCanDelete(entity: Partial<TEntity>, context: AppAuthContext): Promise<IAuthorizationResult>;
10
10
  protected defaultCanDeleteItems(context: AppAuthContext): Promise<IAuthorizationResult>;
11
+ protected organizationEntityCanSearch(context: AppAuthContext): Promise<IAuthorizationResult>;
12
+ protected organizationEntityCanRead(entity: IMultiOrganizationEntity, context: AppAuthContext): Promise<IAuthorizationResult>;
13
+ protected organizationEntityCanCreate(entity: IMultiOrganizationEntity, context: AppAuthContext): Promise<IAuthorizationResult>;
14
+ protected organizationEntityCanUpdate(entity: IMultiOrganizationEntity, context: AppAuthContext): Promise<IAuthorizationResult>;
15
+ protected organizationEntityCanDelete(entity: IMultiOrganizationEntity, context: AppAuthContext): Promise<IAuthorizationResult>;
16
+ protected organizationEntityCanDeleteItems(context: AppAuthContext): Promise<IAuthorizationResult>;
17
+ private isOrganizationMatching;
11
18
  }
@@ -1,5 +1,8 @@
1
- import { AppAuthContext } from "../../types";
2
- import { IAuthenticationContext, IAuthenticationContextProvider } from "../../../../../../../..";
3
- export declare class AppAuthContextProvider implements IAuthenticationContextProvider<AppAuthContext> {
4
- getContext(): Promise<IAuthenticationContext<AppAuthContext>>;
1
+ import { AppUserContext } from "../../types";
2
+ import { AppSessionService, IAuthenticationContext, IAuthenticationContextProvider } from "../../../../../../../..";
3
+ export declare class AppAuthContextProvider implements IAuthenticationContextProvider<AppUserContext> {
4
+ private readonly appSessionService;
5
+ constructor(appSessionService: AppSessionService);
6
+ getContext(): Promise<IAuthenticationContext<AppUserContext>>;
7
+ private getRequestAuth;
5
8
  }
@@ -5,7 +5,9 @@ export type AppUserInfo = {
5
5
  lastName: string;
6
6
  };
7
7
  export type AppUserContext = {
8
- organizationUid: string;
8
+ organizationId?: string;
9
+ organizationUid?: string;
10
+ tenantId: string;
9
11
  tenantUid: string;
10
12
  };
11
13
  export declare class AppAuthContext implements IAuthenticationContext<AppUserContext> {
@@ -0,0 +1,5 @@
1
+ import { AppTenantEntity } from "../../server/database/core/entities/appTenant.entity";
2
+ import { AppOrganizationEntity } from "../../server/database/core/entities/appOrganization.entity";
3
+ import { AppAuthContextProvider } from "../../server/infrastructure/authentication";
4
+ export declare const mockAdminUser: (auth: AppAuthContextProvider, tenant: AppTenantEntity) => void;
5
+ export declare const mockOrganizationUser: (auth: AppAuthContextProvider, organization: AppOrganizationEntity) => void;
@@ -6,6 +6,7 @@ export declare const NestTestServerPorts: {
6
6
  SessionTest: number;
7
7
  InitApiTest: number;
8
8
  VersioningApiTest: number;
9
+ MultiTenancyApiTest: number;
9
10
  TenantInitPipeline: number;
10
11
  CompanyInitPipeline: number;
11
12
  };
@@ -9,10 +9,16 @@ export interface IAuthUserProfile {
9
9
  firstName: string;
10
10
  lastName: string;
11
11
  }
12
+ export interface IAuthUserTenant {
13
+ id: string;
14
+ uid: string;
15
+ name: string;
16
+ }
12
17
  export interface IAuthUserOrganization {
13
18
  id: string;
14
19
  uid: string;
15
20
  name: string;
21
+ tenant: IAuthUserTenant;
16
22
  }
17
23
  export interface IAuthUser {
18
24
  id: string;
@@ -0,0 +1,10 @@
1
+ import { IAppCompany, IAppOrganization, IAppTenant } from "./models";
2
+ export interface IMultiTenantEntity {
3
+ tenant: IAppTenant;
4
+ }
5
+ export interface IMultiOrganizationEntity {
6
+ organization: IAppOrganization;
7
+ }
8
+ export interface IMultiCompanyEntity {
9
+ company: IAppCompany;
10
+ }
@@ -1 +1,2 @@
1
1
  export * from "./models";
2
+ export { IMultiCompanyEntity, IMultiOrganizationEntity, IMultiTenantEntity, } from "./entities";
@@ -5,5 +5,7 @@ export declare class AppSessionService {
5
5
  setValue<T>(key: string, value: T): void;
6
6
  clearValue(key: string): void;
7
7
  getRequest(): import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
8
+ retrieveRequest(): import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>> | undefined;
9
+ private retrieveSession;
8
10
  private getSession;
9
11
  }
package/dist/esm/index.js CHANGED
@@ -2467,6 +2467,16 @@ let AppSessionService = class AppSessionService {
2467
2467
  getRequest() {
2468
2468
  return this.getSession().request;
2469
2469
  }
2470
+ retrieveRequest() {
2471
+ return this.retrieveSession()?.request;
2472
+ }
2473
+ retrieveSession() {
2474
+ const store = sessionStorage.getStore();
2475
+ if (!store) {
2476
+ return undefined;
2477
+ }
2478
+ return store;
2479
+ }
2470
2480
  getSession() {
2471
2481
  const store = sessionStorage.getStore();
2472
2482
  if (!store) {