@neohm/nestend 4.0.2 → 4.1.1

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 (238) hide show
  1. package/README.md +46 -10
  2. package/dist/admin/controllers/admin.tenant.user.controller.d.ts +8 -1
  3. package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
  4. package/dist/admin/controllers/admin.tenant.user.controller.js +75 -7
  5. package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
  6. package/dist/admin/dtos/add.client.membership.dto.d.ts +6 -0
  7. package/dist/admin/dtos/add.client.membership.dto.d.ts.map +1 -0
  8. package/dist/admin/dtos/add.client.membership.dto.js +41 -0
  9. package/dist/admin/dtos/add.client.membership.dto.js.map +1 -0
  10. package/dist/admin/es6.classes.d.ts +4 -2
  11. package/dist/admin/es6.classes.d.ts.map +1 -1
  12. package/dist/admin/es6.classes.js +4 -0
  13. package/dist/admin/es6.classes.js.map +1 -1
  14. package/dist/admin/libraries/bulk.user.data.processor.d.ts.map +1 -1
  15. package/dist/admin/libraries/bulk.user.data.processor.js +13 -5
  16. package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
  17. package/dist/admin/libraries/client.membership.data.processor.d.ts +14 -0
  18. package/dist/admin/libraries/client.membership.data.processor.d.ts.map +1 -0
  19. package/dist/admin/libraries/client.membership.data.processor.js +56 -0
  20. package/dist/admin/libraries/client.membership.data.processor.js.map +1 -0
  21. package/dist/admin/libraries/client.user.data.processor.d.ts +1 -2
  22. package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
  23. package/dist/admin/libraries/client.user.data.processor.js +24 -31
  24. package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
  25. package/dist/admin/libraries/client.user.delete.processor.d.ts.map +1 -1
  26. package/dist/admin/libraries/client.user.delete.processor.js +4 -0
  27. package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
  28. package/dist/admin/libraries/client.user.list.processor.d.ts.map +1 -1
  29. package/dist/admin/libraries/client.user.list.processor.js +14 -2
  30. package/dist/admin/libraries/client.user.list.processor.js.map +1 -1
  31. package/dist/admin/libraries/tenant.delete.processor.d.ts.map +1 -1
  32. package/dist/admin/libraries/tenant.delete.processor.js +22 -9
  33. package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
  34. package/dist/admin/libraries/user.data.processor.d.ts.map +1 -1
  35. package/dist/admin/libraries/user.data.processor.js +4 -1
  36. package/dist/admin/libraries/user.data.processor.js.map +1 -1
  37. package/dist/auth/auth.module.d.ts.map +1 -1
  38. package/dist/auth/auth.module.js +22 -3
  39. package/dist/auth/auth.module.js.map +1 -1
  40. package/dist/auth/controllers/auth.controller.d.ts +8 -7
  41. package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
  42. package/dist/auth/controllers/auth.controller.js +36 -12
  43. package/dist/auth/controllers/auth.controller.js.map +1 -1
  44. package/dist/auth/controllers/impersonation.controller.d.ts +2 -2
  45. package/dist/auth/controllers/impersonation.controller.d.ts.map +1 -1
  46. package/dist/auth/controllers/tenant.invitation.controller.d.ts +18 -0
  47. package/dist/auth/controllers/tenant.invitation.controller.d.ts.map +1 -0
  48. package/dist/auth/controllers/tenant.invitation.controller.js +120 -0
  49. package/dist/auth/controllers/tenant.invitation.controller.js.map +1 -0
  50. package/dist/auth/controllers/tenant.member.controller.d.ts +18 -0
  51. package/dist/auth/controllers/tenant.member.controller.d.ts.map +1 -0
  52. package/dist/auth/controllers/tenant.member.controller.js +129 -0
  53. package/dist/auth/controllers/tenant.member.controller.js.map +1 -0
  54. package/dist/auth/controllers/user.invitation.controller.d.ts +12 -0
  55. package/dist/auth/controllers/user.invitation.controller.d.ts.map +1 -0
  56. package/dist/auth/controllers/user.invitation.controller.js +76 -0
  57. package/dist/auth/controllers/user.invitation.controller.js.map +1 -0
  58. package/dist/auth/controllers/user.organization.controller.d.ts +17 -0
  59. package/dist/auth/controllers/user.organization.controller.d.ts.map +1 -0
  60. package/dist/auth/controllers/user.organization.controller.js +88 -0
  61. package/dist/auth/controllers/user.organization.controller.js.map +1 -0
  62. package/dist/auth/dtos/invite.tenant.user.dto.d.ts +6 -0
  63. package/dist/auth/dtos/invite.tenant.user.dto.d.ts.map +1 -0
  64. package/dist/auth/dtos/invite.tenant.user.dto.js +45 -0
  65. package/dist/auth/dtos/invite.tenant.user.dto.js.map +1 -0
  66. package/dist/auth/dtos/member.roles.dto.d.ts +4 -0
  67. package/dist/auth/dtos/member.roles.dto.d.ts.map +1 -0
  68. package/dist/auth/dtos/member.roles.dto.js +28 -0
  69. package/dist/auth/dtos/member.roles.dto.js.map +1 -0
  70. package/dist/auth/dtos/switch.organization.dto.d.ts +5 -0
  71. package/dist/auth/dtos/switch.organization.dto.d.ts.map +1 -0
  72. package/dist/auth/dtos/switch.organization.dto.js +25 -0
  73. package/dist/auth/dtos/switch.organization.dto.js.map +1 -0
  74. package/dist/auth/dtos/tenant.invitation.list.dto.d.ts +5 -0
  75. package/dist/auth/dtos/tenant.invitation.list.dto.d.ts.map +1 -0
  76. package/dist/auth/dtos/tenant.invitation.list.dto.js +27 -0
  77. package/dist/auth/dtos/tenant.invitation.list.dto.js.map +1 -0
  78. package/dist/auth/dtos/tenant.member.list.dto.d.ts +5 -0
  79. package/dist/auth/dtos/tenant.member.list.dto.d.ts.map +1 -0
  80. package/dist/auth/dtos/tenant.member.list.dto.js +27 -0
  81. package/dist/auth/dtos/tenant.member.list.dto.js.map +1 -0
  82. package/dist/auth/entities/tenant.invitation.entity.d.ts +13 -0
  83. package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -0
  84. package/dist/auth/entities/tenant.invitation.entity.js +52 -0
  85. package/dist/auth/entities/tenant.invitation.entity.js.map +1 -0
  86. package/dist/auth/entities/tenant.user.entity.d.ts +8 -0
  87. package/dist/auth/entities/tenant.user.entity.d.ts.map +1 -0
  88. package/dist/auth/entities/tenant.user.entity.js +35 -0
  89. package/dist/auth/entities/tenant.user.entity.js.map +1 -0
  90. package/dist/auth/entities/user.entity.d.ts +5 -0
  91. package/dist/auth/entities/user.entity.d.ts.map +1 -1
  92. package/dist/auth/entities/user.entity.js +17 -0
  93. package/dist/auth/entities/user.entity.js.map +1 -1
  94. package/dist/auth/entities/user.role.entity.d.ts +2 -2
  95. package/dist/auth/entities/user.role.entity.d.ts.map +1 -1
  96. package/dist/auth/entities/user.role.entity.js +2 -2
  97. package/dist/auth/entities/user.role.entity.js.map +1 -1
  98. package/dist/auth/enums/auth.default.enum.d.ts +3 -1
  99. package/dist/auth/enums/auth.default.enum.d.ts.map +1 -1
  100. package/dist/auth/enums/auth.default.enum.js +2 -0
  101. package/dist/auth/enums/auth.default.enum.js.map +1 -1
  102. package/dist/auth/enums/tenant.invitation.default.enum.d.ts +4 -0
  103. package/dist/auth/enums/tenant.invitation.default.enum.d.ts.map +1 -0
  104. package/dist/auth/enums/tenant.invitation.default.enum.js +8 -0
  105. package/dist/auth/enums/tenant.invitation.default.enum.js.map +1 -0
  106. package/dist/auth/enums/tenant.invitation.status.enum.d.ts +7 -0
  107. package/dist/auth/enums/tenant.invitation.status.enum.d.ts.map +1 -0
  108. package/dist/auth/enums/tenant.invitation.status.enum.js +11 -0
  109. package/dist/auth/enums/tenant.invitation.status.enum.js.map +1 -0
  110. package/dist/auth/enums/user.type.enum.d.ts.map +1 -1
  111. package/dist/auth/enums/user.type.enum.js.map +1 -1
  112. package/dist/auth/es6.classes.d.ts +15 -4
  113. package/dist/auth/es6.classes.d.ts.map +1 -1
  114. package/dist/auth/es6.classes.js +35 -2
  115. package/dist/auth/es6.classes.js.map +1 -1
  116. package/dist/auth/helpers/auth.d.ts +1 -1
  117. package/dist/auth/helpers/auth.d.ts.map +1 -1
  118. package/dist/auth/helpers/auth.js +7 -4
  119. package/dist/auth/helpers/auth.js.map +1 -1
  120. package/dist/auth/processors/change.password.data.processor.d.ts.map +1 -1
  121. package/dist/auth/processors/change.password.data.processor.js +1 -0
  122. package/dist/auth/processors/change.password.data.processor.js.map +1 -1
  123. package/dist/auth/processors/google.user.data.processor.js +1 -1
  124. package/dist/auth/processors/google.user.data.processor.js.map +1 -1
  125. package/dist/auth/processors/register.user.data.processor.js +1 -1
  126. package/dist/auth/processors/register.user.data.processor.js.map +1 -1
  127. package/dist/auth/processors/tenant.invitation.data.processor.d.ts +20 -0
  128. package/dist/auth/processors/tenant.invitation.data.processor.d.ts.map +1 -0
  129. package/dist/auth/processors/tenant.invitation.data.processor.js +112 -0
  130. package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -0
  131. package/dist/auth/processors/tenant.invitation.list.processor.d.ts +13 -0
  132. package/dist/auth/processors/tenant.invitation.list.processor.d.ts.map +1 -0
  133. package/dist/auth/processors/tenant.invitation.list.processor.js +67 -0
  134. package/dist/auth/processors/tenant.invitation.list.processor.js.map +1 -0
  135. package/dist/auth/processors/tenant.member.list.processor.d.ts +13 -0
  136. package/dist/auth/processors/tenant.member.list.processor.d.ts.map +1 -0
  137. package/dist/auth/processors/tenant.member.list.processor.js +66 -0
  138. package/dist/auth/processors/tenant.member.list.processor.js.map +1 -0
  139. package/dist/auth/services/admin.auth.service.d.ts.map +1 -1
  140. package/dist/auth/services/admin.auth.service.js +2 -2
  141. package/dist/auth/services/admin.auth.service.js.map +1 -1
  142. package/dist/auth/services/auth.service.d.ts +5 -0
  143. package/dist/auth/services/auth.service.d.ts.map +1 -1
  144. package/dist/auth/services/auth.service.js +51 -13
  145. package/dist/auth/services/auth.service.js.map +1 -1
  146. package/dist/auth/services/impersonation.service.d.ts +2 -2
  147. package/dist/auth/services/impersonation.service.d.ts.map +1 -1
  148. package/dist/auth/services/impersonation.service.js +1 -1
  149. package/dist/auth/services/impersonation.service.js.map +1 -1
  150. package/dist/auth/services/tenant.invitation.service.d.ts +26 -0
  151. package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -0
  152. package/dist/auth/services/tenant.invitation.service.js +212 -0
  153. package/dist/auth/services/tenant.invitation.service.js.map +1 -0
  154. package/dist/auth/services/tenant.membership.service.d.ts +29 -0
  155. package/dist/auth/services/tenant.membership.service.d.ts.map +1 -0
  156. package/dist/auth/services/tenant.membership.service.js +178 -0
  157. package/dist/auth/services/tenant.membership.service.js.map +1 -0
  158. package/dist/auth/types/auth.types.d.ts +24 -2
  159. package/dist/auth/types/auth.types.d.ts.map +1 -1
  160. package/dist/auth/utilities/access.revocation.d.ts +2 -0
  161. package/dist/auth/utilities/access.revocation.d.ts.map +1 -1
  162. package/dist/auth/utilities/access.revocation.js +12 -0
  163. package/dist/auth/utilities/access.revocation.js.map +1 -1
  164. package/dist/auth/utilities/auth.utilities.d.ts +1 -0
  165. package/dist/auth/utilities/auth.utilities.d.ts.map +1 -1
  166. package/dist/auth/utilities/auth.utilities.js +4 -0
  167. package/dist/auth/utilities/auth.utilities.js.map +1 -1
  168. package/dist/auth/utilities/tenant.access.d.ts +8 -0
  169. package/dist/auth/utilities/tenant.access.d.ts.map +1 -0
  170. package/dist/auth/utilities/tenant.access.js +61 -0
  171. package/dist/auth/utilities/tenant.access.js.map +1 -0
  172. package/dist/common/es6.classes.d.ts +2 -2
  173. package/dist/constants/entity.constants.d.ts +2 -0
  174. package/dist/constants/entity.constants.d.ts.map +1 -1
  175. package/dist/constants/entity.constants.js +2 -0
  176. package/dist/constants/entity.constants.js.map +1 -1
  177. package/dist/constants/entity.maps.d.ts +4 -0
  178. package/dist/constants/entity.maps.d.ts.map +1 -1
  179. package/dist/constants/entity.maps.js +4 -0
  180. package/dist/constants/entity.maps.js.map +1 -1
  181. package/dist/constants/job.constants.d.ts +1 -0
  182. package/dist/constants/job.constants.d.ts.map +1 -1
  183. package/dist/constants/job.constants.js +1 -0
  184. package/dist/constants/job.constants.js.map +1 -1
  185. package/dist/index.d.ts +6 -1
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/index.js +14 -3
  188. package/dist/index.js.map +1 -1
  189. package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
  190. package/dist/migrations/1749600000003.CreateSysUsersTable.js +4 -0
  191. package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
  192. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.d.ts.map +1 -1
  193. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js +8 -1
  194. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js.map +1 -1
  195. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts +6 -0
  196. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts.map +1 -0
  197. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js +33 -0
  198. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js.map +1 -0
  199. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts +6 -0
  200. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -0
  201. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +43 -0
  202. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -0
  203. package/dist/notification/enums/email.notification.default.enum.d.ts +1 -0
  204. package/dist/notification/enums/email.notification.default.enum.d.ts.map +1 -1
  205. package/dist/notification/enums/email.notification.default.enum.js +1 -0
  206. package/dist/notification/enums/email.notification.default.enum.js.map +1 -1
  207. package/dist/notification/enums/email.template.identifier.enum.d.ts +2 -1
  208. package/dist/notification/enums/email.template.identifier.enum.d.ts.map +1 -1
  209. package/dist/notification/enums/email.template.identifier.enum.js +1 -0
  210. package/dist/notification/enums/email.template.identifier.enum.js.map +1 -1
  211. package/dist/notification/es6.classes.d.ts +2 -1
  212. package/dist/notification/es6.classes.d.ts.map +1 -1
  213. package/dist/notification/es6.classes.js +6 -1
  214. package/dist/notification/es6.classes.js.map +1 -1
  215. package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts +14 -0
  216. package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts.map +1 -0
  217. package/dist/notification/jobs/tenant.user.invited.mail.job.js +57 -0
  218. package/dist/notification/jobs/tenant.user.invited.mail.job.js.map +1 -0
  219. package/dist/notification/notification.module.d.ts.map +1 -1
  220. package/dist/notification/notification.module.js +3 -1
  221. package/dist/notification/notification.module.js.map +1 -1
  222. package/dist/notification/types/email.notification.types.d.ts +9 -0
  223. package/dist/notification/types/email.notification.types.d.ts.map +1 -1
  224. package/dist/tenant/middlewares/tenant.context.middleware.d.ts +2 -3
  225. package/dist/tenant/middlewares/tenant.context.middleware.d.ts.map +1 -1
  226. package/dist/tenant/middlewares/tenant.context.middleware.js +12 -23
  227. package/dist/tenant/middlewares/tenant.context.middleware.js.map +1 -1
  228. package/dist/tenant/services/tenant.service.d.ts +0 -2
  229. package/dist/tenant/services/tenant.service.d.ts.map +1 -1
  230. package/dist/tenant/services/tenant.service.js +0 -22
  231. package/dist/tenant/services/tenant.service.js.map +1 -1
  232. package/dist/tenant/types/tenant.types.d.ts +0 -5
  233. package/dist/tenant/types/tenant.types.d.ts.map +1 -1
  234. package/package.json +1 -1
  235. package/dist/tenant/enums/tenant.default.enum.d.ts +0 -4
  236. package/dist/tenant/enums/tenant.default.enum.d.ts.map +0 -1
  237. package/dist/tenant/enums/tenant.default.enum.js +0 -8
  238. package/dist/tenant/enums/tenant.default.enum.js.map +0 -1
@@ -5,9 +5,8 @@ import { TenantService } from '../services/tenant.service';
5
5
  export declare class TenantContextMiddleware implements NestMiddleware {
6
6
  private readonly tenantService;
7
7
  private readonly tenantContextService;
8
- private static readonly UUID_PATTERN;
9
8
  constructor(tenantService: TenantService, tenantContextService: TenantContextService);
10
- use(request: Request, _response: Response, next: NextFunction): Promise<void>;
11
- private buildHints;
9
+ use(_request: Request, _response: Response, next: NextFunction): Promise<void>;
10
+ private resolveTenant;
12
11
  }
13
12
  //# sourceMappingURL=tenant.context.middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.context.middleware.d.ts","sourceRoot":"","sources":["../../../src/tenant/middlewares/tenant.context.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAiB3D,qBACa,uBAAwB,YAAW,cAAc;IAK1D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IALvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CACgC;gBAGjD,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB;IAGvD,GAAG,CACP,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC;IAYhB,OAAO,CAAC,UAAU;CAkBnB"}
1
+ {"version":3,"file":"tenant.context.middleware.d.ts","sourceRoot":"","sources":["../../../src/tenant/middlewares/tenant.context.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAmB3D,qBACa,uBAAwB,YAAW,cAAc;IAE1D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBADpB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB;IAGvD,GAAG,CACP,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,QAAQ,EACnB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC;YAWF,aAAa;CAQ5B"}
@@ -8,45 +8,34 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var TenantContextMiddleware_1;
12
11
  Object.defineProperty(exports, "__esModule", { value: true });
13
12
  exports.TenantContextMiddleware = void 0;
14
13
  const common_1 = require("@nestjs/common");
15
- const tenant_default_enum_1 = require("../enums/tenant.default.enum");
14
+ const api_key_context_1 = require("../../auth/helpers/api.key.context");
15
+ const auth_1 = require("../../auth/helpers/auth");
16
16
  const tenant_context_service_1 = require("../services/tenant.context.service");
17
17
  const tenant_service_1 = require("../services/tenant.service");
18
- let TenantContextMiddleware = TenantContextMiddleware_1 = class TenantContextMiddleware {
18
+ let TenantContextMiddleware = class TenantContextMiddleware {
19
19
  constructor(tenantService, tenantContextService) {
20
20
  this.tenantService = tenantService;
21
21
  this.tenantContextService = tenantContextService;
22
22
  }
23
- async use(request, _response, next) {
24
- const tenant = await this.tenantService.resolveTenant(this.buildHints(request));
23
+ async use(_request, _response, next) {
24
+ const tenant = await this.resolveTenant();
25
25
  if (!tenant)
26
26
  return next();
27
27
  this.tenantContextService.runWithTenant({ tenantUuid: tenant.id, tenant }, () => next());
28
28
  }
29
- buildHints(request) {
30
- const headerName = process.env.TENANT_HEADER_NAME || tenant_default_enum_1.TenantDefault.HEADER_NAME;
31
- const headerValue = request.headers[headerName];
32
- const identifier = Array.isArray(headerValue)
33
- ? headerValue[0]
34
- : headerValue;
35
- const hints = { domain: request.hostname };
36
- if (identifier) {
37
- if (TenantContextMiddleware_1.UUID_PATTERN.test(identifier)) {
38
- hints.tenantUuid = identifier;
39
- }
40
- else {
41
- hints.slug = identifier;
42
- }
43
- }
44
- return hints;
29
+ async resolveTenant() {
30
+ const sessionTenantId = auth_1.Auth.user()?.organization_id;
31
+ if (sessionTenantId)
32
+ return this.tenantService.findByUuid(sessionTenantId);
33
+ const keyTenant = api_key_context_1.ApiKeyContext.tenant();
34
+ return keyTenant?.is_active ? keyTenant : null;
45
35
  }
46
36
  };
47
37
  exports.TenantContextMiddleware = TenantContextMiddleware;
48
- TenantContextMiddleware.UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
49
- exports.TenantContextMiddleware = TenantContextMiddleware = TenantContextMiddleware_1 = __decorate([
38
+ exports.TenantContextMiddleware = TenantContextMiddleware = __decorate([
50
39
  (0, common_1.Injectable)(),
51
40
  __metadata("design:paramtypes", [tenant_service_1.TenantService,
52
41
  tenant_context_service_1.TenantContextService])
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.context.middleware.js","sourceRoot":"","sources":["../../../src/tenant/middlewares/tenant.context.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4D;AAE5D,sEAA6D;AAC7D,+EAA0E;AAC1E,+DAA2D;AAkBpD,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAIlC,YACmB,aAA4B,EAC5B,oBAA0C;QAD1C,kBAAa,GAAb,aAAa,CAAe;QAC5B,yBAAoB,GAApB,oBAAoB,CAAsB;IAC1D,CAAC;IAEJ,KAAK,CAAC,GAAG,CACP,OAAgB,EAChB,SAAmB,EACnB,IAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CACnD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CACzB,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,EAAE,CAAC;QAE3B,IAAI,CAAC,oBAAoB,CAAC,aAAa,CACrC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EACjC,GAAG,EAAE,CAAC,IAAI,EAAE,CACb,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,OAAgB;QACjC,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,mCAAa,CAAC,WAAW,CAAC;QAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3C,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,WAAW,CAAC;QAEhB,MAAM,KAAK,GAA0B,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,yBAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1D,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;;AA1CU,0DAAuB;AACV,oCAAY,GAClC,iEAAiE,AAD/B,CACgC;kCAFzD,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAMuB,8BAAa;QACN,6CAAoB;GANlD,uBAAuB,CA2CnC"}
1
+ {"version":3,"file":"tenant.context.middleware.js","sourceRoot":"","sources":["../../../src/tenant/middlewares/tenant.context.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAE5D,wEAAmE;AACnE,kDAA+C;AAE/C,+EAA0E;AAC1E,+DAA2D;AAoBpD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YACmB,aAA4B,EAC5B,oBAA0C;QAD1C,kBAAa,GAAb,aAAa,CAAe;QAC5B,yBAAoB,GAApB,oBAAoB,CAAsB;IAC1D,CAAC;IAEJ,KAAK,CAAC,GAAG,CACP,QAAiB,EACjB,SAAmB,EACnB,IAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,EAAE,CAAC;QAE3B,IAAI,CAAC,oBAAoB,CAAC,aAAa,CACrC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EACjC,GAAG,EAAE,CAAC,IAAI,EAAE,CACb,CAAC;IACJ,CAAC;IAGO,KAAK,CAAC,aAAa;QAEzB,MAAM,eAAe,GAAG,WAAI,CAAC,IAAI,EAAE,EAAE,eAAqC,CAAC;QAC3E,IAAI,eAAe;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAE3E,MAAM,SAAS,GAAG,+BAAa,CAAC,MAAM,EAAE,CAAC;QACzC,OAAO,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;CACF,CAAA;AA7BY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAGuB,8BAAa;QACN,6CAAoB;GAHlD,uBAAuB,CA6BnC"}
@@ -1,13 +1,11 @@
1
1
  import { DataSource } from 'typeorm';
2
2
  import { TenantEntity } from '../entities/tenant.entity';
3
- import { TenantResolutionHints } from '../types/tenant.types';
4
3
  export declare class TenantService {
5
4
  private readonly dataSource;
6
5
  constructor(dataSource: DataSource);
7
6
  findByUuid(tenantUuid: string): Promise<TenantEntity | null>;
8
7
  findBySlug(slug: string): Promise<TenantEntity | null>;
9
8
  findByDomain(domain: string): Promise<TenantEntity | null>;
10
- resolveTenant(hints: TenantResolutionHints): Promise<TenantEntity | null>;
11
9
  listActiveTenants(): Promise<TenantEntity[]>;
12
10
  private get tenantRepository();
13
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.service.d.ts","sourceRoot":"","sources":["../../../src/tenant/services/tenant.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBACa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE7C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAM5D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAItD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAO1D,aAAa,CACjB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAoBzB,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAOlD,OAAO,KAAK,gBAAgB,GAE3B;CACF"}
1
+ {"version":3,"file":"tenant.service.d.ts","sourceRoot":"","sources":["../../../src/tenant/services/tenant.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBACa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE7C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAM5D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAItD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAM1D,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAOlD,OAAO,KAAK,gBAAgB,GAE3B;CACF"}
@@ -30,28 +30,6 @@ let TenantService = class TenantService {
30
30
  where: { domain, is_active: true },
31
31
  });
32
32
  }
33
- async resolveTenant(hints) {
34
- if (hints.tenantUuid) {
35
- const tenant = await this.findByUuid(hints.tenantUuid);
36
- if (tenant)
37
- return tenant;
38
- }
39
- if (hints.slug) {
40
- const tenant = await this.findBySlug(hints.slug);
41
- if (tenant)
42
- return tenant;
43
- }
44
- if (hints.domain) {
45
- const tenant = await this.findByDomain(hints.domain);
46
- if (tenant)
47
- return tenant;
48
- const subdomain = hints.domain.split('.')[0];
49
- if (subdomain && subdomain !== hints.domain) {
50
- return this.findBySlug(subdomain);
51
- }
52
- }
53
- return null;
54
- }
55
33
  async listActiveTenants() {
56
34
  return this.tenantRepository.find({
57
35
  where: { is_active: true },
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.service.js","sourceRoot":"","sources":["../../../src/tenant/services/tenant.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAiD;AACjD,6DAAyD;AAIlD,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,aAAa,CACjB,KAA4B;QAE5B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,SAAS,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAChC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACvB,CAAC,CAAC;IACL,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,4BAAY,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AApDY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAE8B,oBAAU;GADxC,aAAa,CAoDzB"}
1
+ {"version":3,"file":"tenant.service.js","sourceRoot":"","sources":["../../../src/tenant/services/tenant.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAiD;AACjD,6DAAyD;AAGlD,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAChC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACvB,CAAC,CAAC;IACL,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,4BAAY,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AA7BY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAE8B,oBAAU;GADxC,aAAa,CA6BzB"}
@@ -3,11 +3,6 @@ export interface TenantContext {
3
3
  tenantUuid: string;
4
4
  tenant?: TenantEntity;
5
5
  }
6
- export interface TenantResolutionHints {
7
- tenantUuid?: string;
8
- slug?: string;
9
- domain?: string;
10
- }
11
6
  export interface TenantModuleOptions {
12
7
  dataSourceName?: string;
13
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.types.d.ts","sourceRoot":"","sources":["../../../src/tenant/types/tenant.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAGD,MAAM,WAAW,qBAAqB;IAEpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"tenant.types.d.ts","sourceRoot":"","sources":["../../../src/tenant/types/tenant.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neohm/nestend",
3
- "version": "4.0.2",
3
+ "version": "4.1.1",
4
4
  "description": "Reusable NestJS utilities: entities, queue, auth, cache, encryption, migrations and more",
5
5
  "author": "Neohm",
6
6
  "license": "MIT",
@@ -1,4 +0,0 @@
1
- export declare enum TenantDefault {
2
- HEADER_NAME = "x-tenant-id"
3
- }
4
- //# sourceMappingURL=tenant.default.enum.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenant.default.enum.d.ts","sourceRoot":"","sources":["../../../src/tenant/enums/tenant.default.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,WAAW,gBAAgB;CAC5B"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TenantDefault = void 0;
4
- var TenantDefault;
5
- (function (TenantDefault) {
6
- TenantDefault["HEADER_NAME"] = "x-tenant-id";
7
- })(TenantDefault || (exports.TenantDefault = TenantDefault = {}));
8
- //# sourceMappingURL=tenant.default.enum.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenant.default.enum.js","sourceRoot":"","sources":["../../../src/tenant/enums/tenant.default.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,4CAA2B,CAAA;AAC7B,CAAC,EAFW,aAAa,6BAAb,aAAa,QAExB"}