@evara-group/guard 3.0.21 → 3.0.22

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 (196) hide show
  1. package/dist/modules/job/dtos/job-query.dto.d.ts +4 -3
  2. package/dist/modules/job/dtos/job-query.dto.js +40 -0
  3. package/dist/modules/job/dtos/job-query.dto.js.map +1 -1
  4. package/dist/modules/job/job.controller.js +9 -6
  5. package/dist/modules/job/job.controller.js.map +1 -1
  6. package/dist/modules/job/job.entity.js +6 -1
  7. package/dist/modules/job/job.entity.js.map +1 -1
  8. package/dist/modules/module/module.module.js +3 -3
  9. package/dist/modules/module/module.module.js.map +1 -1
  10. package/dist/modules/permission/permission.module.js +2 -2
  11. package/dist/modules/permission/permission.module.js.map +1 -1
  12. package/dist/modules/role/dtos/create-role.dto.d.ts +1 -1
  13. package/dist/modules/role/dtos/role-query.dto.d.ts +1 -0
  14. package/dist/modules/role/dtos/role-query.dto.js +6 -0
  15. package/dist/modules/role/dtos/role-query.dto.js.map +1 -1
  16. package/dist/modules/role/dtos/update-role.dto.d.ts +1 -1
  17. package/dist/modules/role/role.controller.js.map +1 -1
  18. package/dist/modules/role/role.entity.d.ts +2 -0
  19. package/dist/modules/role/role.entity.js +10 -0
  20. package/dist/modules/role/role.entity.js.map +1 -1
  21. package/dist/modules/role/role.module.js +2 -2
  22. package/dist/modules/role/role.module.js.map +1 -1
  23. package/dist/modules/role/role.service.js +4 -0
  24. package/dist/modules/role/role.service.js.map +1 -1
  25. package/dist/modules/user/dtos/create-user.dto.d.ts +1 -1
  26. package/dist/modules/user/dtos/user-query.dto.d.ts +4 -0
  27. package/dist/modules/user/dtos/user-query.dto.js +40 -0
  28. package/dist/modules/user/dtos/user-query.dto.js.map +1 -1
  29. package/dist/modules/user/user.controller.js +14 -1
  30. package/dist/modules/user/user.controller.js.map +1 -1
  31. package/dist/modules/user/user.module.js +2 -2
  32. package/dist/modules/user/user.module.js.map +1 -1
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +1 -1
  35. package/dist/core/database/switch.schema.d.ts +0 -6
  36. package/dist/core/database/switch.schema.js +0 -39
  37. package/dist/core/database/switch.schema.js.map +0 -1
  38. package/dist/core/utils/guard-base.entity.d.ts +0 -10
  39. package/dist/core/utils/guard-base.entity.js +0 -46
  40. package/dist/core/utils/guard-base.entity.js.map +0 -1
  41. package/dist/core/utils/user-populate.d.ts +0 -0
  42. package/dist/core/utils/user-populate.js +0 -2
  43. package/dist/core/utils/user-populate.js.map +0 -1
  44. package/dist/database/migrations/1765027603465-CreateUserTable.d.ts +0 -6
  45. package/dist/database/migrations/1765027603465-CreateUserTable.js +0 -63
  46. package/dist/database/migrations/1765027603465-CreateUserTable.js.map +0 -1
  47. package/dist/database/migrations/1768190400000-AddUserLevelsColumns.d.ts +0 -6
  48. package/dist/database/migrations/1768190400000-AddUserLevelsColumns.js +0 -37
  49. package/dist/database/migrations/1768190400000-AddUserLevelsColumns.js.map +0 -1
  50. package/dist/database/seeders/auth.seeder.d.ts +0 -12
  51. package/dist/database/seeders/auth.seeder.js +0 -338
  52. package/dist/database/seeders/auth.seeder.js.map +0 -1
  53. package/dist/dev-server.d.ts +0 -1
  54. package/dist/dev-server.js +0 -72
  55. package/dist/dev-server.js.map +0 -1
  56. package/dist/modules/auth/auth.module-definition.d.ts +0 -2
  57. package/dist/modules/auth/auth.module-definition.js +0 -11
  58. package/dist/modules/auth/auth.module-definition.js.map +0 -1
  59. package/dist/modules/duty/dtos/create-duty.dto.d.ts +0 -5
  60. package/dist/modules/duty/dtos/create-duty.dto.js +0 -14
  61. package/dist/modules/duty/dtos/create-duty.dto.js.map +0 -1
  62. package/dist/modules/duty/dtos/duty-query.dto.d.ts +0 -3
  63. package/dist/modules/duty/dtos/duty-query.dto.js +0 -8
  64. package/dist/modules/duty/dtos/duty-query.dto.js.map +0 -1
  65. package/dist/modules/duty/dtos/duty.dto.d.ts +0 -9
  66. package/dist/modules/duty/dtos/duty.dto.js +0 -55
  67. package/dist/modules/duty/dtos/duty.dto.js.map +0 -1
  68. package/dist/modules/duty/dtos/update-duty.dto.d.ts +0 -5
  69. package/dist/modules/duty/dtos/update-duty.dto.js +0 -9
  70. package/dist/modules/duty/dtos/update-duty.dto.js.map +0 -1
  71. package/dist/modules/duty/duty.controller.d.ts +0 -16
  72. package/dist/modules/duty/duty.controller.js +0 -186
  73. package/dist/modules/duty/duty.controller.js.map +0 -1
  74. package/dist/modules/duty/duty.entity.d.ts +0 -9
  75. package/dist/modules/duty/duty.entity.js +0 -49
  76. package/dist/modules/duty/duty.entity.js.map +0 -1
  77. package/dist/modules/duty/duty.mapper.d.ts +0 -7
  78. package/dist/modules/duty/duty.mapper.js +0 -45
  79. package/dist/modules/duty/duty.mapper.js.map +0 -1
  80. package/dist/modules/duty/duty.module.d.ts +0 -2
  81. package/dist/modules/duty/duty.module.js +0 -33
  82. package/dist/modules/duty/duty.module.js.map +0 -1
  83. package/dist/modules/duty/duty.service.d.ts +0 -13
  84. package/dist/modules/duty/duty.service.js +0 -60
  85. package/dist/modules/duty/duty.service.js.map +0 -1
  86. package/dist/modules/job-duty/job-duty.entity.d.ts +0 -7
  87. package/dist/modules/job-duty/job-duty.entity.js +0 -33
  88. package/dist/modules/job-duty/job-duty.entity.js.map +0 -1
  89. package/dist/modules/user/user.module-definition.d.ts +0 -5
  90. package/dist/modules/user/user.module-definition.js +0 -9
  91. package/dist/modules/user/user.module-definition.js.map +0 -1
  92. package/dist/modules/user-permission/user-permission.controller.d.ts +0 -2
  93. package/dist/modules/user-permission/user-permission.controller.js +0 -17
  94. package/dist/modules/user-permission/user-permission.controller.js.map +0 -1
  95. package/dist/modules/user-role/dtos/create-user-role.dto.d.ts +0 -5
  96. package/dist/modules/user-role/dtos/create-user-role.dto.js +0 -14
  97. package/dist/modules/user-role/dtos/create-user-role.dto.js.map +0 -1
  98. package/dist/modules/user-role/dtos/update-user-role.dto.d.ts +0 -5
  99. package/dist/modules/user-role/dtos/update-user-role.dto.js +0 -9
  100. package/dist/modules/user-role/dtos/update-user-role.dto.js.map +0 -1
  101. package/dist/modules/user-role/dtos/user-role-query.dto.d.ts +0 -3
  102. package/dist/modules/user-role/dtos/user-role-query.dto.js +0 -8
  103. package/dist/modules/user-role/dtos/user-role-query.dto.js.map +0 -1
  104. package/dist/modules/user-role/dtos/user-role.dto.d.ts +0 -7
  105. package/dist/modules/user-role/dtos/user-role.dto.js +0 -28
  106. package/dist/modules/user-role/dtos/user-role.dto.js.map +0 -1
  107. package/dist/modules/user-role/user-role.controller.d.ts +0 -0
  108. package/dist/modules/user-role/user-role.controller.js +0 -2
  109. package/dist/modules/user-role/user-role.controller.js.map +0 -1
  110. package/dist/modules/user-role/user-role.entity.d.ts +0 -0
  111. package/dist/modules/user-role/user-role.entity.js +0 -2
  112. package/dist/modules/user-role/user-role.entity.js.map +0 -1
  113. package/dist/modules/user-role/user-role.mapper.d.ts +0 -0
  114. package/dist/modules/user-role/user-role.mapper.js +0 -2
  115. package/dist/modules/user-role/user-role.mapper.js.map +0 -1
  116. package/dist/modules/user-role/user-role.module.d.ts +0 -0
  117. package/dist/modules/user-role/user-role.module.js +0 -2
  118. package/dist/modules/user-role/user-role.module.js.map +0 -1
  119. package/dist/modules/user-role/user-role.service.d.ts +0 -0
  120. package/dist/modules/user-role/user-role.service.js +0 -2
  121. package/dist/modules/user-role/user-role.service.js.map +0 -1
  122. package/dist/security/decorators/roles.decorator.d.ts +0 -2
  123. package/dist/security/decorators/roles.decorator.js +0 -7
  124. package/dist/security/decorators/roles.decorator.js.map +0 -1
  125. package/dist/security/guards/roles.guard.d.ts +0 -9
  126. package/dist/security/guards/roles.guard.js +0 -59
  127. package/dist/security/guards/roles.guard.js.map +0 -1
  128. package/dist/security/password-util.d.ts +0 -3
  129. package/dist/security/password-util.js +0 -44
  130. package/dist/security/password-util.js.map +0 -1
  131. package/dist/seeders/auth.seeder.d.ts +0 -12
  132. package/dist/seeders/auth.seeder.js +0 -404
  133. package/dist/seeders/auth.seeder.js.map +0 -1
  134. package/dist/seeders/modules.seeder.d.ts +0 -6
  135. package/dist/seeders/modules.seeder.js +0 -53
  136. package/dist/seeders/modules.seeder.js.map +0 -1
  137. package/dist/seeders/orchestrator.seeder.d.ts +0 -6
  138. package/dist/seeders/orchestrator.seeder.js +0 -32
  139. package/dist/seeders/orchestrator.seeder.js.map +0 -1
  140. package/dist/seeders/permissions.seeder.d.ts +0 -6
  141. package/dist/seeders/permissions.seeder.js +0 -51
  142. package/dist/seeders/permissions.seeder.js.map +0 -1
  143. package/dist/seeders/role-permissions.seeder.d.ts +0 -6
  144. package/dist/seeders/role-permissions.seeder.js +0 -65
  145. package/dist/seeders/role-permissions.seeder.js.map +0 -1
  146. package/dist/seeders/roles.seeder.d.ts +0 -6
  147. package/dist/seeders/roles.seeder.js +0 -57
  148. package/dist/seeders/roles.seeder.js.map +0 -1
  149. package/dist/seeders/run.seeder.d.ts +0 -1
  150. package/dist/seeders/run.seeder.js +0 -82
  151. package/dist/seeders/run.seeder.js.map +0 -1
  152. package/dist/seeders/user/data.d.ts +0 -2
  153. package/dist/seeders/user/data.js +0 -16
  154. package/dist/seeders/user/data.js.map +0 -1
  155. package/dist/seeders/user/user-seeder.module.d.ts +0 -2
  156. package/dist/seeders/user/user-seeder.module.js +0 -24
  157. package/dist/seeders/user/user-seeder.module.js.map +0 -1
  158. package/dist/seeders/user/user-seeder.service.d.ts +0 -7
  159. package/dist/seeders/user/user-seeder.service.js +0 -51
  160. package/dist/seeders/user/user-seeder.service.js.map +0 -1
  161. package/dist/seeders/user-roles.seeder.d.ts +0 -6
  162. package/dist/seeders/user-roles.seeder.js +0 -44
  163. package/dist/seeders/user-roles.seeder.js.map +0 -1
  164. package/dist/seeders/users.seeder.d.ts +0 -6
  165. package/dist/seeders/users.seeder.js +0 -93
  166. package/dist/seeders/users.seeder.js.map +0 -1
  167. package/dist/tenant-db/config/tenant-db.config.d.ts +0 -4
  168. package/dist/tenant-db/config/tenant-db.config.js +0 -18
  169. package/dist/tenant-db/config/tenant-db.config.js.map +0 -1
  170. package/dist/tenant-db/context/tenant-db.context.d.ts +0 -11
  171. package/dist/tenant-db/context/tenant-db.context.js +0 -46
  172. package/dist/tenant-db/context/tenant-db.context.js.map +0 -1
  173. package/dist/tenant-db/helpers/tenant-db.helpers.d.ts +0 -13
  174. package/dist/tenant-db/helpers/tenant-db.helpers.js +0 -42
  175. package/dist/tenant-db/helpers/tenant-db.helpers.js.map +0 -1
  176. package/dist/tenant-db/manager/tenant-db.manager.d.ts +0 -20
  177. package/dist/tenant-db/manager/tenant-db.manager.js +0 -135
  178. package/dist/tenant-db/manager/tenant-db.manager.js.map +0 -1
  179. package/dist/tenant-db/middleware/tenant-db.middleware.d.ts +0 -13
  180. package/dist/tenant-db/middleware/tenant-db.middleware.js +0 -46
  181. package/dist/tenant-db/middleware/tenant-db.middleware.js.map +0 -1
  182. package/dist/tenant-db/module/tenant=db-module.d.ts +0 -10
  183. package/dist/tenant-db/module/tenant=db-module.js +0 -53
  184. package/dist/tenant-db/module/tenant=db-module.js.map +0 -1
  185. package/dist/tenant-db/resolvers/tenant.resolver.d.ts +0 -9
  186. package/dist/tenant-db/resolvers/tenant.resolver.js +0 -42
  187. package/dist/tenant-db/resolvers/tenant.resolver.js.map +0 -1
  188. package/dist/tenant-db/service/tenant-db.service.d.ts +0 -14
  189. package/dist/tenant-db/service/tenant-db.service.js +0 -62
  190. package/dist/tenant-db/service/tenant-db.service.js.map +0 -1
  191. package/dist/tenant-db/tenant-cache.d.ts +0 -10
  192. package/dist/tenant-db/tenant-cache.js +0 -17
  193. package/dist/tenant-db/tenant-cache.js.map +0 -1
  194. package/dist/tenant-db/types/tenant-db.types.d.ts +0 -29
  195. package/dist/tenant-db/types/tenant-db.types.js +0 -3
  196. package/dist/tenant-db/types/tenant-db.types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"role-permissions.seeder.js","sourceRoot":"","sources":["../../src/seeders/role-permissions.seeder.ts"],"names":[],"mappings":";;;AACA,6DAAmD;AACnD,+EAAqE;AAErE,MAAa,qBAAqB;IAChC,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAI,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,8BAAU,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU;aACnC,kBAAkB,EAAE;aACpB,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC;aAC9B,KAAK,CAAC,CAAC,CAAC;aACR,UAAU,EAAE,CAAC;QAChB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAErC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC;QAC9D,IAAI,KAAK,EAAE,CAAC;YAEV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CACjC,8FAA8F,EAC9F,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACpB,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;QAGD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC7B,CAAC;oBACD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CACjC,8FAA8F,EAC9F,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACtB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CACjC,8FAA8F,EAC9F,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACvB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CACjC,8FAA8F,EAC9F,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACrB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF;AA9ED,sDA8EC"}
@@ -1,6 +0,0 @@
1
- import { DataSource } from "typeorm";
2
- export declare class RolesSeeder {
3
- private readonly dataSource;
4
- constructor(dataSource: DataSource);
5
- run(): Promise<void>;
6
- }
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RolesSeeder = void 0;
4
- const role_entity_1 = require("../modules/role/role.entity");
5
- const ROLES_DATA = [
6
- {
7
- code: "ADMIN",
8
- nameAr: "مسؤول النظام",
9
- nameEn: "Administrator",
10
- descriptionAr: "لديه وصول كامل لجميع الوظائف",
11
- descriptionEn: "Full access to all features",
12
- isSystemRole: true,
13
- },
14
- {
15
- code: "MANAGER",
16
- nameAr: "مدير",
17
- nameEn: "Manager",
18
- descriptionAr: "لديه وصول إلى معظم الوظائف",
19
- descriptionEn: "Access to most features",
20
- isSystemRole: true,
21
- },
22
- {
23
- code: "EMPLOYEE",
24
- nameAr: "موظف",
25
- nameEn: "Employee",
26
- descriptionAr: "وصول محدود للوظائف الأساسية",
27
- descriptionEn: "Limited access to basic features",
28
- isSystemRole: true,
29
- },
30
- {
31
- code: "VIEWER",
32
- nameAr: "مشاهد",
33
- nameEn: "Viewer",
34
- descriptionAr: "وصول للقراءة فقط",
35
- descriptionEn: "Read-only access",
36
- isSystemRole: true,
37
- },
38
- ];
39
- class RolesSeeder {
40
- constructor(dataSource) {
41
- this.dataSource = dataSource;
42
- }
43
- async run() {
44
- const repo = this.dataSource.getRepository(role_entity_1.Role);
45
- const count = await repo.count();
46
- if (count > 0) {
47
- console.log(" ℹ️ Roles already exist, skipping...");
48
- return;
49
- }
50
- for (const r of ROLES_DATA) {
51
- await repo.save(r);
52
- }
53
- console.log(` ✓ Created ${ROLES_DATA.length} roles`);
54
- }
55
- }
56
- exports.RolesSeeder = RolesSeeder;
57
- //# sourceMappingURL=roles.seeder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roles.seeder.js","sourceRoot":"","sources":["../../src/seeders/roles.seeder.ts"],"names":[],"mappings":";;;AACA,6DAAmD;AAEnD,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,eAAe;QACvB,aAAa,EAAE,8BAA8B;QAC7C,aAAa,EAAE,6BAA6B;QAC5C,YAAY,EAAE,IAAI;KACnB;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,4BAA4B;QAC3C,aAAa,EAAE,yBAAyB;QACxC,YAAY,EAAE,IAAI;KACnB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,UAAU;QAClB,aAAa,EAAE,6BAA6B;QAC5C,aAAa,EAAE,kCAAkC;QACjD,YAAY,EAAE,IAAI;KACnB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,kBAAkB;QACjC,aAAa,EAAE,kBAAkB;QACjC,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAa,WAAW;IACtB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAI,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,CAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,CAAC,MAAM,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAjBD,kCAiBC"}
@@ -1 +0,0 @@
1
- import "reflect-metadata";
@@ -1,82 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- require("reflect-metadata");
37
- const dotenv = __importStar(require("dotenv"));
38
- const typeorm_1 = require("typeorm");
39
- const user_entity_1 = require("../modules/user/user.entity");
40
- const role_entity_1 = require("../modules/role/role.entity");
41
- const module_entity_1 = require("../modules/module/module.entity");
42
- const permission_entity_1 = require("../modules/permission/permission.entity");
43
- const user_permission_entity_1 = require("../modules/user-permission/user-permission.entity");
44
- const role_permission_entity_1 = require("../modules/role-permission/role-permission.entity");
45
- const orchestrator_seeder_1 = require("./orchestrator.seeder");
46
- async function runSeeder() {
47
- dotenv.config();
48
- const AppDataSource = new typeorm_1.DataSource({
49
- type: "postgres",
50
- host: process.env.AUTH_DATABASE_HOST || "localhost",
51
- port: Number(process.env.AUTH_DATABASE_PORT || "5432"),
52
- username: process.env.AUTH_DATABASE_USER || "postgres",
53
- password: process.env.AUTH_DATABASE_PASSWORD || "postgres",
54
- database: process.env.AUTH_DATABASE_NAME || "dms-new",
55
- entities: [
56
- user_entity_1.User,
57
- role_entity_1.Role,
58
- module_entity_1.ModuleEntity,
59
- permission_entity_1.Permission,
60
- user_permission_entity_1.UserPermission,
61
- role_permission_entity_1.RolePermission,
62
- ],
63
- synchronize: false,
64
- ssl: process.env.AUTH_DATABASE_SSL === "true"
65
- ? { rejectUnauthorized: false }
66
- : false,
67
- });
68
- try {
69
- await AppDataSource.initialize();
70
- console.log("✅ Database connection established");
71
- const seeder = new orchestrator_seeder_1.SeederOrchestrator(AppDataSource);
72
- await seeder.run();
73
- console.log("\n✨ Seeding complete!");
74
- await AppDataSource.destroy();
75
- }
76
- catch (error) {
77
- console.error("❌ Seeding failed:", error);
78
- process.exit(1);
79
- }
80
- }
81
- runSeeder();
82
- //# sourceMappingURL=run.seeder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.seeder.js","sourceRoot":"","sources":["../../src/seeders/run.seeder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4BAA0B;AAC1B,+CAAiC;AACjC,qCAAqC;AACrC,6DAAmD;AACnD,6DAAmD;AACnD,mEAA+D;AAC/D,+EAAqE;AAErE,8FAAmF;AACnF,8FAAmF;AACnF,+DAA2D;AAU3D,KAAK,UAAU,SAAS;IAEtB,MAAM,CAAC,MAAM,EAAE,CAAC;IAEhB,MAAM,aAAa,GAAG,IAAI,oBAAU,CAAC;QACnC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,WAAW;QACnD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,CAAC;QACtD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,UAAU;QACtD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,UAAU;QAC1D,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS;QACrD,QAAQ,EAAE;YACR,kBAAI;YACJ,kBAAI;YACJ,4BAAY;YACZ,8BAAU;YAEV,uCAAc;YACd,uCAAc;SACf;QACD,WAAW,EAAE,KAAK;QAClB,GAAG,EACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM;YACtC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE;YAC/B,CAAC,CAAC,KAAK;KACZ,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,wCAAkB,CAAC,aAAa,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QAEnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- import { UserDTO } from 'src/app/modules/user/dtos/user.dto';
2
- export declare const users: UserDTO[];
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.users = void 0;
4
- const user_role_1 = require("src/core/enums/user-role");
5
- exports.users = [
6
- {
7
- id: 1,
8
- email: 'admin@admin.com',
9
- password: '12345',
10
- username: 'Administrator',
11
- role: user_role_1.UserRole.ADMIN,
12
- activated: true,
13
- createdBy: 'system',
14
- },
15
- ];
16
- //# sourceMappingURL=data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/seeders/user/data.ts"],"names":[],"mappings":";;;AACA,wDAAoD;AAEvC,QAAA,KAAK,GAAc;IAC9B;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,oBAAQ,CAAC,KAAK;QACpB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare class UserSeederModule {
2
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.UserSeederModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const typeorm_1 = require("@nestjs/typeorm");
12
- const user_seeder_service_1 = require("./user-seeder.service");
13
- const guard_1 = require("@evara-group/guard");
14
- let UserSeederModule = class UserSeederModule {
15
- };
16
- exports.UserSeederModule = UserSeederModule;
17
- exports.UserSeederModule = UserSeederModule = __decorate([
18
- (0, common_1.Module)({
19
- imports: [typeorm_1.TypeOrmModule.forFeature([guard_1.User], guard_1.AUTH_DATABASE_CONNECTION)],
20
- providers: [user_seeder_service_1.UserSeederService],
21
- exports: [user_seeder_service_1.UserSeederService],
22
- })
23
- ], UserSeederModule);
24
- //# sourceMappingURL=user-seeder.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-seeder.module.js","sourceRoot":"","sources":["../../../src/seeders/user/user-seeder.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,+DAA0D;AAC1D,8CAAoE;AAO7D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAL5B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,YAAI,CAAC,EAAE,gCAAwB,CAAC,CAAC;QACrE,SAAS,EAAE,CAAC,uCAAiB,CAAC;QAC9B,OAAO,EAAE,CAAC,uCAAiB,CAAC;KAC7B,CAAC;GACW,gBAAgB,CAAG"}
@@ -1,7 +0,0 @@
1
- import { Repository } from 'typeorm';
2
- import { User } from '@evara-group/guard';
3
- export declare class UserSeederService {
4
- private readonly userRepository;
5
- constructor(userRepository: Repository<User>);
6
- create(): Array<Promise<User | null>>;
7
- }
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.UserSeederService = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const typeorm_1 = require("@nestjs/typeorm");
18
- const typeorm_2 = require("typeorm");
19
- const data_1 = require("./data");
20
- const guard_1 = require("@evara-group/guard");
21
- let UserSeederService = class UserSeederService {
22
- constructor(userRepository) {
23
- this.userRepository = userRepository;
24
- }
25
- create() {
26
- return data_1.users.map(async (user) => {
27
- return await this.userRepository
28
- .findOne({ where: { id: user.id } })
29
- .then(async (dbUser) => {
30
- if (dbUser) {
31
- return Promise.resolve(null);
32
- }
33
- await (0, guard_1.transformPassword)(user);
34
- return Promise.resolve(await this.userRepository.save(user));
35
- })
36
- .catch((error) => {
37
- if (error instanceof Error) {
38
- return Promise.reject(error);
39
- }
40
- return Promise.reject(new Error('Users seeder error'));
41
- });
42
- });
43
- }
44
- };
45
- exports.UserSeederService = UserSeederService;
46
- exports.UserSeederService = UserSeederService = __decorate([
47
- (0, common_1.Injectable)(),
48
- __param(0, (0, typeorm_1.InjectRepository)(guard_1.User, guard_1.AUTH_DATABASE_CONNECTION)),
49
- __metadata("design:paramtypes", [typeorm_2.Repository])
50
- ], UserSeederService);
51
- //# sourceMappingURL=user-seeder.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-seeder.service.js","sourceRoot":"","sources":["../../../src/seeders/user/user-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AACrC,iCAA+B;AAE/B,8CAAuF;AAQhF,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAQ5B,YAEmB,cAAgC;QAAhC,mBAAc,GAAd,cAAc,CAAkB;IAChD,CAAC;IAOJ,MAAM;QACJ,OAAO,YAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;YACvC,OAAO,MAAM,IAAI,CAAC,cAAc;iBAC7B,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;iBACnC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAGrB,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;gBACD,MAAM,IAAA,yBAAiB,EAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO,OAAO,CAAC,OAAO,CAEpB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CACrC,CAAC;YACJ,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;gBACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA1CY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,0BAAgB,EAAC,YAAI,EAAE,gCAAwB,CAAC,CAAA;qCAChB,oBAAU;GAVlC,iBAAiB,CA0C7B"}
@@ -1,6 +0,0 @@
1
- import { DataSource } from "typeorm";
2
- export declare class UserRolesSeeder {
3
- private readonly dataSource;
4
- constructor(dataSource: DataSource);
5
- run(): Promise<void>;
6
- }
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserRolesSeeder = void 0;
4
- const user_entity_1 = require("../modules/user/user.entity");
5
- const role_entity_1 = require("../modules/role/role.entity");
6
- class UserRolesSeeder {
7
- constructor(dataSource) {
8
- this.dataSource = dataSource;
9
- }
10
- async run() {
11
- const repo = this.dataSource.getRepository("user_roles");
12
- const usersRepo = this.dataSource.getRepository(user_entity_1.User);
13
- const rolesRepo = this.dataSource.getRepository(role_entity_1.Role);
14
- const existing = await this.dataSource
15
- .createQueryBuilder()
16
- .select("1")
17
- .from("user_roles", "ur")
18
- .limit(1)
19
- .getRawMany();
20
- if (existing && existing.length > 0) {
21
- console.log(" ℹ️ User roles already exist, skipping...");
22
- return;
23
- }
24
- const users = await usersRepo.find();
25
- const roles = await rolesRepo.find();
26
- const mapping = {
27
- "admin@example.com": "Administrator",
28
- "manager@example.com": "Manager",
29
- "employee@example.com": "Employee",
30
- "viewer@example.com": "Viewer",
31
- };
32
- for (const email in mapping) {
33
- const roleName = mapping[email];
34
- const user = users.find((u) => u.email === email);
35
- const role = roles.find((r) => r.nameEn === roleName);
36
- if (user && role) {
37
- await this.dataSource.manager.query(`INSERT INTO user_roles (user_id, role_id) VALUES ($1, $2) ON CONFLICT DO NOTHING`, [user.id, role.id]);
38
- }
39
- }
40
- console.log(" ✓ Assigned roles to users");
41
- }
42
- }
43
- exports.UserRolesSeeder = UserRolesSeeder;
44
- //# sourceMappingURL=user-roles.seeder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-roles.seeder.js","sourceRoot":"","sources":["../../src/seeders/user-roles.seeder.ts"],"names":[],"mappings":";;;AACA,6DAAmD;AACnD,6DAAmD;AAEnD,MAAa,eAAe;IAC1B,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAI,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAI,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU;aACnC,kBAAkB,EAAE;aACpB,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC;aACR,UAAU,EAAE,CAAC;QAChB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAGrC,MAAM,OAAO,GAAgC;YAC3C,mBAAmB,EAAE,eAAe;YACpC,qBAAqB,EAAE,SAAS;YAChC,sBAAsB,EAAE,UAAU;YAClC,oBAAoB,EAAE,QAAQ;SAC/B,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YACtD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CACjC,kFAAkF,EAClF,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;CACF;AA5CD,0CA4CC"}
@@ -1,6 +0,0 @@
1
- import { DataSource } from "typeorm";
2
- export declare class UsersSeeder {
3
- private readonly dataSource;
4
- constructor(dataSource: DataSource);
5
- run(): Promise<void>;
6
- }
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.UsersSeeder = void 0;
37
- const bcrypt = __importStar(require("bcrypt"));
38
- const user_entity_1 = require("../modules/user/user.entity");
39
- const TEST_USERS_DATA = [
40
- {
41
- email: "admin@example.com",
42
- password: "Admin@123",
43
- username: "admin",
44
- activated: true,
45
- roleName: "Administrator",
46
- },
47
- {
48
- email: "manager@example.com",
49
- password: "Manager@123",
50
- username: "manager",
51
- activated: true,
52
- roleName: "Manager",
53
- },
54
- {
55
- email: "employee@example.com",
56
- password: "Employee@123",
57
- username: "employee",
58
- activated: true,
59
- roleName: "Employee",
60
- },
61
- {
62
- email: "viewer@example.com",
63
- password: "Viewer@123",
64
- username: "viewer",
65
- activated: true,
66
- roleName: "Viewer",
67
- },
68
- ];
69
- class UsersSeeder {
70
- constructor(dataSource) {
71
- this.dataSource = dataSource;
72
- }
73
- async run() {
74
- const repo = this.dataSource.getRepository(user_entity_1.User);
75
- const count = await repo.count();
76
- if (count > 0) {
77
- console.log(" ℹ️ Users already exist, skipping...");
78
- return;
79
- }
80
- for (const u of TEST_USERS_DATA) {
81
- const hashed = await bcrypt.hash(u.password, 10);
82
- await repo.save({
83
- email: u.email,
84
- password: hashed,
85
- username: u.username,
86
- activated: u.activated,
87
- });
88
- }
89
- console.log(` ✓ Created ${TEST_USERS_DATA.length} users`);
90
- }
91
- }
92
- exports.UsersSeeder = UsersSeeder;
93
- //# sourceMappingURL=users.seeder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"users.seeder.js","sourceRoot":"","sources":["../../src/seeders/users.seeder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAiC;AACjC,6DAAmD;AAEnD,MAAM,eAAe,GAAG;IACtB;QACE,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,eAAe;KAC1B;IACD;QACE,KAAK,EAAE,qBAAqB;QAC5B,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,QAAQ;KACnB;CACF,CAAC;AAEF,MAAa,WAAW;IACtB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAI,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,eAAe,CAAC,MAAM,QAAQ,CAAC,CAAC;IAC7D,CAAC;CACF;AAvBD,kCAuBC"}
@@ -1,4 +0,0 @@
1
- import { TenantConfig } from "../types/tenant-db.types";
2
- export declare class TenantDatabaseConfig {
3
- static load(): TenantConfig;
4
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TenantDatabaseConfig = void 0;
4
- class TenantDatabaseConfig {
5
- static load() {
6
- return {
7
- idleTimeoutMs: parseInt(process.env.TENANT_IDLE_TIMEOUT_MS || "300000"),
8
- maxCachedTenants: parseInt(process.env.TENANT_CACHE_MAX || "200"),
9
- poolMax: parseInt(process.env.TENANT_DB_POOL_MAX || "10"),
10
- defaultHost: process.env.DB_HOST || "localhost",
11
- defaultPort: parseInt(process.env.DB_PORT || "5432"),
12
- defaultUsername: process.env.DB_USER || "postgres",
13
- defaultPassword: process.env.DB_PASS || "",
14
- };
15
- }
16
- }
17
- exports.TenantDatabaseConfig = TenantDatabaseConfig;
18
- //# sourceMappingURL=tenant-db.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenant-db.config.js","sourceRoot":"","sources":["../../../src/tenant-db/config/tenant-db.config.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAoB;IAC/B,MAAM,CAAC,IAAI;QACT,OAAO;YACL,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,QAAQ,CAAC;YACvE,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC;YACjE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC;YACzD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,WAAW;YAC/C,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC;YACpD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,UAAU;YAClD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE;SAC3C,CAAC;IACJ,CAAC;CACF;AAZD,oDAYC"}
@@ -1,11 +0,0 @@
1
- import { DataSource } from "typeorm";
2
- import { TenantStore } from "../types/tenant-db.types";
3
- export declare class TenantDatabaseContext {
4
- private static readonly storage;
5
- run<T>(store: TenantStore, callback: () => T): T;
6
- static getStore(): TenantStore | undefined;
7
- static getDataSource(): DataSource | undefined;
8
- static getTenantId(): string | undefined;
9
- static setDataSource(dataSource: DataSource): void;
10
- static setTenantId(tenantId: string): void;
11
- }
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var TenantDatabaseContext_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.TenantDatabaseContext = void 0;
11
- const async_hooks_1 = require("async_hooks");
12
- const common_1 = require("@nestjs/common");
13
- let TenantDatabaseContext = TenantDatabaseContext_1 = class TenantDatabaseContext {
14
- run(store, callback) {
15
- return TenantDatabaseContext_1.storage.run(store, callback);
16
- }
17
- static getStore() {
18
- return TenantDatabaseContext_1.storage.getStore();
19
- }
20
- static getDataSource() {
21
- return this.getStore()?.dataSource;
22
- }
23
- static getTenantId() {
24
- return this.getStore()?.tenantId;
25
- }
26
- static setDataSource(dataSource) {
27
- const store = this.getStore();
28
- if (!store) {
29
- throw new Error("No active async context. Ensure middleware is configured.");
30
- }
31
- store.dataSource = dataSource;
32
- }
33
- static setTenantId(tenantId) {
34
- const store = this.getStore();
35
- if (!store) {
36
- throw new Error("No active async context. Ensure middleware is configured.");
37
- }
38
- store.tenantId = tenantId;
39
- }
40
- };
41
- exports.TenantDatabaseContext = TenantDatabaseContext;
42
- TenantDatabaseContext.storage = new async_hooks_1.AsyncLocalStorage();
43
- exports.TenantDatabaseContext = TenantDatabaseContext = TenantDatabaseContext_1 = __decorate([
44
- (0, common_1.Injectable)()
45
- ], TenantDatabaseContext);
46
- //# sourceMappingURL=tenant-db.context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenant-db.context.js","sourceRoot":"","sources":["../../../src/tenant-db/context/tenant-db.context.ts"],"names":[],"mappings":";;;;;;;;;;AAKA,6CAAgD;AAChD,2CAA4C;AAKrC,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAGhC,GAAG,CAAI,KAAkB,EAAE,QAAiB;QAC1C,OAAO,uBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,QAAQ;QACb,OAAO,uBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAsB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,QAAgB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,CAAC;;AArCU,sDAAqB;AACR,6BAAO,GAAG,IAAI,+BAAiB,EAAe,AAAvC,CAAwC;gCAD5D,qBAAqB;IADjC,IAAA,mBAAU,GAAE;GACA,qBAAqB,CAsCjC"}
@@ -1,13 +0,0 @@
1
- import { DataSource, EntityTarget, Repository, EntityManager, ObjectLiteral } from "typeorm";
2
- export declare class TenantDatabaseHelpers {
3
- static getDataSource(): DataSource;
4
- static getRepository<Entity extends ObjectLiteral>(entity: EntityTarget<Entity>): Repository<Entity>;
5
- static getManager(): EntityManager;
6
- static getTenantId(): string;
7
- static transaction<T>(work: (manager: EntityManager) => Promise<T>): Promise<T>;
8
- }
9
- export declare const getTenantDataSource: () => DataSource;
10
- export declare const getTenantRepository: <Entity extends ObjectLiteral>(entity: EntityTarget<Entity>) => Repository<Entity>;
11
- export declare const getTenantManager: () => EntityManager;
12
- export declare const getTenantId: () => string;
13
- export declare const runTenantTransaction: <T>(work: (manager: EntityManager) => Promise<T>) => Promise<T>;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runTenantTransaction = exports.getTenantId = exports.getTenantManager = exports.getTenantRepository = exports.getTenantDataSource = exports.TenantDatabaseHelpers = void 0;
4
- const tenant_db_context_1 = require("../context/tenant-db.context");
5
- class TenantDatabaseHelpers {
6
- static getDataSource() {
7
- const dataSource = tenant_db_context_1.TenantDatabaseContext.getDataSource();
8
- if (!dataSource) {
9
- throw new Error("No tenant datasource in context. Ensure TenantDatabaseMiddleware is applied.");
10
- }
11
- return dataSource;
12
- }
13
- static getRepository(entity) {
14
- return this.getDataSource().getRepository(entity);
15
- }
16
- static getManager() {
17
- return this.getDataSource().manager;
18
- }
19
- static getTenantId() {
20
- const tenantId = tenant_db_context_1.TenantDatabaseContext.getTenantId();
21
- if (!tenantId) {
22
- throw new Error("No tenant ID in context");
23
- }
24
- return tenantId;
25
- }
26
- static async transaction(work) {
27
- const dataSource = this.getDataSource();
28
- return dataSource.transaction(work);
29
- }
30
- }
31
- exports.TenantDatabaseHelpers = TenantDatabaseHelpers;
32
- const getTenantDataSource = () => TenantDatabaseHelpers.getDataSource();
33
- exports.getTenantDataSource = getTenantDataSource;
34
- const getTenantRepository = (entity) => TenantDatabaseHelpers.getRepository(entity);
35
- exports.getTenantRepository = getTenantRepository;
36
- const getTenantManager = () => TenantDatabaseHelpers.getManager();
37
- exports.getTenantManager = getTenantManager;
38
- const getTenantId = () => TenantDatabaseHelpers.getTenantId();
39
- exports.getTenantId = getTenantId;
40
- const runTenantTransaction = (work) => TenantDatabaseHelpers.transaction(work);
41
- exports.runTenantTransaction = runTenantTransaction;
42
- //# sourceMappingURL=tenant-db.helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenant-db.helpers.js","sourceRoot":"","sources":["../../../src/tenant-db/helpers/tenant-db.helpers.ts"],"names":[],"mappings":";;;AAOA,oEAAqE;AAErE,MAAa,qBAAqB;IAChC,MAAM,CAAC,aAAa;QAClB,MAAM,UAAU,GAAG,yCAAqB,CAAC,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,MAA4B;QAE5B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,MAAM,QAAQ,GAAG,yCAAqB,CAAC,WAAW,EAAE,CAAC;QAErD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,IAA4C;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACF;AAvCD,sDAuCC;AAGM,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;AAAlE,QAAA,mBAAmB,uBAA+C;AACxE,MAAM,mBAAmB,GAAG,CACjC,MAA4B,EAC5B,EAAE,CAAC,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAFpC,QAAA,mBAAmB,uBAEiB;AAC1C,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;AAA5D,QAAA,gBAAgB,oBAA4C;AAClE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;AAAxD,QAAA,WAAW,eAA6C;AAC9D,MAAM,oBAAoB,GAAG,CAClC,IAA4C,EAC5C,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAFhC,QAAA,oBAAoB,wBAEY"}
@@ -1,20 +0,0 @@
1
- import { OnModuleDestroy } from "@nestjs/common";
2
- import { TenantDataSourceOptions } from "../types/tenant-db.types";
3
- import { DataSource } from "typeorm";
4
- export declare class TenantDatabaseManager implements OnModuleDestroy {
5
- private readonly logger;
6
- private readonly cache;
7
- private readonly config;
8
- private cleanupInterval?;
9
- constructor();
10
- getDataSource(databaseName: string, options?: TenantDataSourceOptions): Promise<DataSource>;
11
- private createDataSource;
12
- private evictLRU;
13
- private destroyDataSource;
14
- private startCleanupScheduler;
15
- private cleanupIdleConnections;
16
- onModuleDestroy(): Promise<void>;
17
- getCacheSize(): number;
18
- getCachedTenants(): string[];
19
- clearCache(): Promise<void>;
20
- }