@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,404 +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.AuthSeeder = void 0;
37
- const user_entity_1 = require("../modules/user/user.entity");
38
- const role_entity_1 = require("../modules/role/role.entity");
39
- const module_entity_1 = require("../modules/module/module.entity");
40
- const permission_entity_1 = require("../modules/permission/permission.entity");
41
- const role_permission_entity_1 = require("../modules/role-permission/role-permission.entity");
42
- const bcrypt = __importStar(require("bcrypt"));
43
- const MODULES_DATA = [
44
- {
45
- nameAr: "إدارة المستخدمين",
46
- nameEn: "User Management",
47
- descriptionAr: "إدارة المستخدمين والحسابات",
48
- descriptionEn: "Manage users and accounts",
49
- isActive: true,
50
- },
51
- {
52
- nameAr: "إدارة الأدوار",
53
- nameEn: "Role Management",
54
- descriptionAr: "إدارة الأدوار والصلاحيات",
55
- descriptionEn: "Manage roles and permissions",
56
- isActive: true,
57
- },
58
- {
59
- nameAr: "إدارة الأقسام",
60
- nameEn: "Department Management",
61
- descriptionAr: "إدارة الأقسام والفروع",
62
- descriptionEn: "Manage departments and branches",
63
- isActive: true,
64
- },
65
- {
66
- nameAr: "التقارير",
67
- nameEn: "Reports",
68
- descriptionAr: "إنشاء وعرض التقارير",
69
- descriptionEn: "Create and view reports",
70
- isActive: true,
71
- },
72
- ];
73
- const ROLES_DATA = [
74
- {
75
- code: "ADMIN",
76
- nameAr: "مسؤول النظام",
77
- nameEn: "Administrator",
78
- descriptionAr: "لديه وصول كامل لجميع الوظائف",
79
- descriptionEn: "Full access to all features",
80
- isSystemRole: true,
81
- },
82
- {
83
- code: "MANAGER",
84
- nameAr: "مدير",
85
- nameEn: "Manager",
86
- descriptionAr: "لديه وصول إلى معظم الوظائف",
87
- descriptionEn: "Access to most features",
88
- isSystemRole: true,
89
- },
90
- {
91
- code: "EMPLOYEE",
92
- nameAr: "موظف",
93
- nameEn: "Employee",
94
- descriptionAr: "وصول محدود للوظائف الأساسية",
95
- descriptionEn: "Limited access to basic features",
96
- isSystemRole: true,
97
- },
98
- {
99
- code: "VIEWER",
100
- nameAr: "مشاهد",
101
- nameEn: "Viewer",
102
- descriptionAr: "وصول للقراءة فقط",
103
- descriptionEn: "Read-only access",
104
- isSystemRole: true,
105
- },
106
- ];
107
- const PERMISSIONS_DATA = [
108
- {
109
- code: "USER_VIEW",
110
- nameAr: "عرض المستخدمين",
111
- nameEn: "View Users",
112
- descriptionEn: "View list of users",
113
- moduleEn: "User Management",
114
- isActive: true,
115
- },
116
- {
117
- code: "USER_CREATE",
118
- nameAr: "إنشاء مستخدم",
119
- nameEn: "Create User",
120
- descriptionEn: "Create new user",
121
- moduleEn: "User Management",
122
- isActive: true,
123
- },
124
- {
125
- code: "USER_EDIT",
126
- nameAr: "تعديل مستخدم",
127
- nameEn: "Edit User",
128
- descriptionEn: "Edit user details",
129
- moduleEn: "User Management",
130
- isActive: true,
131
- },
132
- {
133
- code: "USER_DELETE",
134
- nameAr: "حذف مستخدم",
135
- nameEn: "Delete User",
136
- descriptionEn: "Delete user",
137
- moduleEn: "User Management",
138
- isActive: true,
139
- },
140
- {
141
- code: "ROLE_VIEW",
142
- nameAr: "عرض الأدوار",
143
- nameEn: "View Roles",
144
- descriptionEn: "View list of roles",
145
- moduleEn: "Role Management",
146
- isActive: true,
147
- },
148
- {
149
- code: "ROLE_CREATE",
150
- nameAr: "إنشاء دور",
151
- nameEn: "Create Role",
152
- descriptionEn: "Create new role",
153
- moduleEn: "Role Management",
154
- isActive: true,
155
- },
156
- {
157
- code: "ROLE_EDIT",
158
- nameAr: "تعديل دور",
159
- nameEn: "Edit Role",
160
- descriptionEn: "Edit role details",
161
- moduleEn: "Role Management",
162
- isActive: true,
163
- },
164
- {
165
- code: "ROLE_DELETE",
166
- nameAr: "حذف دور",
167
- nameEn: "Delete Role",
168
- descriptionEn: "Delete role",
169
- moduleEn: "Role Management",
170
- isActive: true,
171
- },
172
- {
173
- code: "DEPT_VIEW",
174
- nameAr: "عرض الأقسام",
175
- nameEn: "View Departments",
176
- descriptionEn: "View list of departments",
177
- moduleEn: "Department Management",
178
- isActive: true,
179
- },
180
- {
181
- code: "DEPT_CREATE",
182
- nameAr: "إنشاء قسم",
183
- nameEn: "Create Department",
184
- descriptionEn: "Create new department",
185
- moduleEn: "Department Management",
186
- isActive: true,
187
- },
188
- {
189
- code: "REPORT_VIEW",
190
- nameAr: "عرض التقارير",
191
- nameEn: "View Reports",
192
- descriptionEn: "View reports",
193
- moduleEn: "Reports",
194
- isActive: true,
195
- },
196
- {
197
- code: "REPORT_EXPORT",
198
- nameAr: "تصدير التقارير",
199
- nameEn: "Export Reports",
200
- descriptionEn: "Export reports to file",
201
- moduleEn: "Reports",
202
- isActive: true,
203
- },
204
- ];
205
- const ROLE_PERMISSIONS_DATA = {
206
- Administrator: [
207
- "USER_VIEW",
208
- "USER_CREATE",
209
- "USER_EDIT",
210
- "USER_DELETE",
211
- "ROLE_VIEW",
212
- "ROLE_CREATE",
213
- "ROLE_EDIT",
214
- "ROLE_DELETE",
215
- "DEPT_VIEW",
216
- "DEPT_CREATE",
217
- "REPORT_VIEW",
218
- "REPORT_EXPORT",
219
- ],
220
- Manager: [
221
- "USER_VIEW",
222
- "USER_CREATE",
223
- "USER_EDIT",
224
- "ROLE_VIEW",
225
- "ROLE_CREATE",
226
- "ROLE_EDIT",
227
- "DEPT_VIEW",
228
- "DEPT_CREATE",
229
- "REPORT_VIEW",
230
- "REPORT_EXPORT",
231
- ],
232
- Employee: [
233
- "USER_VIEW",
234
- "USER_CREATE",
235
- "ROLE_VIEW",
236
- "DEPT_VIEW",
237
- "DEPT_CREATE",
238
- "REPORT_VIEW",
239
- ],
240
- Viewer: ["USER_VIEW", "ROLE_VIEW", "DEPT_VIEW", "REPORT_VIEW"],
241
- };
242
- const TEST_USERS_DATA = [
243
- {
244
- email: "admin@example.com",
245
- password: "Admin@123",
246
- username: "admin",
247
- activated: true,
248
- roleName: "Administrator",
249
- },
250
- {
251
- email: "manager@example.com",
252
- password: "Manager@123",
253
- username: "manager",
254
- activated: true,
255
- roleName: "Manager",
256
- },
257
- {
258
- email: "employee@example.com",
259
- password: "Employee@123",
260
- username: "employee",
261
- activated: true,
262
- roleName: "Employee",
263
- },
264
- {
265
- email: "viewer@example.com",
266
- password: "Viewer@123",
267
- username: "viewer",
268
- activated: true,
269
- roleName: "Viewer",
270
- },
271
- ];
272
- class AuthSeeder {
273
- constructor(dataSource) {
274
- this.dataSource = dataSource;
275
- }
276
- async run() {
277
- console.log("🌱 Starting auth seeder...");
278
- try {
279
- await this.seedModules();
280
- await this.seedRoles();
281
- await this.seedPermissions();
282
- await this.seedRolePermissions();
283
- await this.seedUsers();
284
- await this.seedUserRoles();
285
- console.log("✅ Auth seeder completed successfully!");
286
- }
287
- catch (error) {
288
- console.error("❌ Error running seeder:", error);
289
- throw error;
290
- }
291
- }
292
- async seedModules() {
293
- console.log("📦 Seeding modules...");
294
- const modulesRepository = this.dataSource.getRepository(module_entity_1.ModuleEntity);
295
- const existingModules = await modulesRepository.count();
296
- if (existingModules > 0) {
297
- console.log(" ℹ️ Modules already exist, skipping...");
298
- return;
299
- }
300
- for (const module of MODULES_DATA) {
301
- await modulesRepository.save(module);
302
- }
303
- console.log(` ✓ Created ${MODULES_DATA.length} modules`);
304
- }
305
- async seedRoles() {
306
- console.log("👤 Seeding roles...");
307
- const rolesRepository = this.dataSource.getRepository(role_entity_1.Role);
308
- const existingRoles = await rolesRepository.count();
309
- if (existingRoles > 0) {
310
- console.log(" ℹ️ Roles already exist, skipping...");
311
- return;
312
- }
313
- for (const role of ROLES_DATA) {
314
- await rolesRepository.save(role);
315
- }
316
- console.log(` ✓ Created ${ROLES_DATA.length} roles`);
317
- }
318
- async seedPermissions() {
319
- console.log("🔐 Seeding permissions...");
320
- const permissionsRepository = this.dataSource.getRepository(permission_entity_1.Permission);
321
- const modulesRepository = this.dataSource.getRepository(module_entity_1.ModuleEntity);
322
- const existingPermissions = await permissionsRepository.count();
323
- if (existingPermissions > 0) {
324
- console.log(" ℹ️ Permissions already exist, skipping...");
325
- return;
326
- }
327
- const modules = await modulesRepository.find();
328
- for (const permData of PERMISSIONS_DATA) {
329
- const module = modules.find((m) => m.nameEn === permData.moduleEn);
330
- const permission = {
331
- code: permData.code,
332
- nameAr: permData.nameAr,
333
- nameEn: permData.nameEn,
334
- descriptionEn: permData.descriptionEn,
335
- isActive: permData.isActive,
336
- module: module !== undefined ? module : undefined,
337
- };
338
- await permissionsRepository.save(permission);
339
- }
340
- console.log(` ✓ Created ${PERMISSIONS_DATA.length} permissions`);
341
- }
342
- async seedRolePermissions() {
343
- console.log("🔗 Seeding role permissions...");
344
- const rolePermissionsRepository = this.dataSource.getRepository(role_permission_entity_1.RolePermission);
345
- const rolesRepository = this.dataSource.getRepository(role_entity_1.Role);
346
- const permissionsRepository = this.dataSource.getRepository(permission_entity_1.Permission);
347
- const existingRolePermissions = await rolePermissionsRepository.count();
348
- if (existingRolePermissions > 0) {
349
- console.log(" ℹ️ Role permissions already exist, skipping...");
350
- return;
351
- }
352
- const roles = await rolesRepository.find();
353
- const permissions = await permissionsRepository.find();
354
- for (const roleName in ROLE_PERMISSIONS_DATA) {
355
- const role = roles.find((r) => r.nameEn === roleName);
356
- if (!role)
357
- continue;
358
- const permissionCodes = ROLE_PERMISSIONS_DATA[roleName];
359
- for (const code of permissionCodes) {
360
- const permission = permissions.find((p) => p.code === code);
361
- if (permission) {
362
- await this.dataSource.manager.query(`INSERT INTO role_permissions (role_id, permission_id) VALUES ($1, $2) ON CONFLICT DO NOTHING`, [role.id, permission.id]);
363
- }
364
- }
365
- }
366
- console.log(` ✓ Assigned permissions to roles`);
367
- }
368
- async seedUsers() {
369
- console.log("👥 Seeding users...");
370
- const usersRepository = this.dataSource.getRepository(user_entity_1.User);
371
- const existingUsers = await usersRepository.count();
372
- if (existingUsers > 0) {
373
- console.log(" ℹ️ Users already exist, skipping...");
374
- return;
375
- }
376
- for (const userData of TEST_USERS_DATA) {
377
- const hashedPassword = await bcrypt.hash(userData.password, 10);
378
- await usersRepository.save({
379
- email: userData.email,
380
- password: hashedPassword,
381
- username: userData.username,
382
- activated: userData.activated,
383
- });
384
- }
385
- console.log(` ✓ Created ${TEST_USERS_DATA.length} users`);
386
- }
387
- async seedUserRoles() {
388
- console.log("👤 Assigning roles to users...");
389
- const usersRepository = this.dataSource.getRepository(user_entity_1.User);
390
- const rolesRepository = this.dataSource.getRepository(role_entity_1.Role);
391
- const users = await usersRepository.find();
392
- const roles = await rolesRepository.find();
393
- for (const userData of TEST_USERS_DATA) {
394
- const user = users.find((u) => u.email === userData.email);
395
- const role = roles.find((r) => r.nameEn === userData.roleName);
396
- if (user && role) {
397
- await this.dataSource.manager.query(`INSERT INTO user_roles (user_id, role_id) VALUES ($1, $2) ON CONFLICT DO NOTHING`, [user.id, role.id]);
398
- }
399
- }
400
- console.log(` ✓ Assigned roles to users`);
401
- }
402
- }
403
- exports.AuthSeeder = AuthSeeder;
404
- //# sourceMappingURL=auth.seeder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.seeder.js","sourceRoot":"","sources":["../../src/seeders/auth.seeder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { DataSource } from "typeorm";
2
- export declare class ModulesSeeder {
3
- private readonly dataSource;
4
- constructor(dataSource: DataSource);
5
- run(): Promise<void>;
6
- }
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModulesSeeder = void 0;
4
- const module_entity_1 = require("../modules/module/module.entity");
5
- const MODULES_DATA = [
6
- {
7
- nameAr: "إدارة المستخدمين",
8
- nameEn: "User Management",
9
- descriptionAr: "إدارة المستخدمين والحسابات",
10
- descriptionEn: "Manage users and accounts",
11
- isActive: true,
12
- },
13
- {
14
- nameAr: "إدارة الأدوار",
15
- nameEn: "Role Management",
16
- descriptionAr: "إدارة الأدوار والصلاحيات",
17
- descriptionEn: "Manage roles and permissions",
18
- isActive: true,
19
- },
20
- {
21
- nameAr: "إدارة الأقسام",
22
- nameEn: "Department Management",
23
- descriptionAr: "إدارة الأقسام والفروع",
24
- descriptionEn: "Manage departments and branches",
25
- isActive: true,
26
- },
27
- {
28
- nameAr: "التقارير",
29
- nameEn: "Reports",
30
- descriptionAr: "إنشاء وعرض التقارير",
31
- descriptionEn: "Create and view reports",
32
- isActive: true,
33
- },
34
- ];
35
- class ModulesSeeder {
36
- constructor(dataSource) {
37
- this.dataSource = dataSource;
38
- }
39
- async run() {
40
- const repo = this.dataSource.getRepository(module_entity_1.ModuleEntity);
41
- const count = await repo.count();
42
- if (count > 0) {
43
- console.log(" ℹ️ Modules already exist, skipping...");
44
- return;
45
- }
46
- for (const m of MODULES_DATA) {
47
- await repo.save(m);
48
- }
49
- console.log(` ✓ Created ${MODULES_DATA.length} modules`);
50
- }
51
- }
52
- exports.ModulesSeeder = ModulesSeeder;
53
- //# sourceMappingURL=modules.seeder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modules.seeder.js","sourceRoot":"","sources":["../../src/seeders/modules.seeder.ts"],"names":[],"mappings":";;;AACA,mEAA+D;AAE/D,MAAM,YAAY,GAAG;IACnB;QACE,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,iBAAiB;QACzB,aAAa,EAAE,4BAA4B;QAC3C,aAAa,EAAE,2BAA2B;QAC1C,QAAQ,EAAE,IAAI;KACf;IACD;QACE,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,iBAAiB;QACzB,aAAa,EAAE,0BAA0B;QACzC,aAAa,EAAE,8BAA8B;QAC7C,QAAQ,EAAE,IAAI;KACf;IACD;QACE,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,uBAAuB;QAC/B,aAAa,EAAE,uBAAuB;QACtC,aAAa,EAAE,iCAAiC;QAChD,QAAQ,EAAE,IAAI;KACf;IACD;QACE,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,qBAAqB;QACpC,aAAa,EAAE,yBAAyB;QACxC,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAa,aAAa;IACxB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,4BAAY,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,CAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,MAAM,UAAU,CAAC,CAAC;IAC5D,CAAC;CACF;AAjBD,sCAiBC"}
@@ -1,6 +0,0 @@
1
- import { DataSource } from "typeorm";
2
- export declare class SeederOrchestrator {
3
- private readonly dataSource;
4
- constructor(dataSource: DataSource);
5
- run(): Promise<void>;
6
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SeederOrchestrator = void 0;
4
- const modules_seeder_1 = require("./modules.seeder");
5
- const roles_seeder_1 = require("./roles.seeder");
6
- const permissions_seeder_1 = require("./permissions.seeder");
7
- const role_permissions_seeder_1 = require("./role-permissions.seeder");
8
- const users_seeder_1 = require("./users.seeder");
9
- const user_roles_seeder_1 = require("./user-roles.seeder");
10
- class SeederOrchestrator {
11
- constructor(dataSource) {
12
- this.dataSource = dataSource;
13
- }
14
- async run() {
15
- console.log("🌱 Starting auth seeder...");
16
- try {
17
- await new modules_seeder_1.ModulesSeeder(this.dataSource).run();
18
- await new roles_seeder_1.RolesSeeder(this.dataSource).run();
19
- await new permissions_seeder_1.PermissionsSeeder(this.dataSource).run();
20
- await new role_permissions_seeder_1.RolePermissionsSeeder(this.dataSource).run();
21
- await new users_seeder_1.UsersSeeder(this.dataSource).run();
22
- await new user_roles_seeder_1.UserRolesSeeder(this.dataSource).run();
23
- console.log("✅ Auth seeder completed successfully!");
24
- }
25
- catch (err) {
26
- console.error("❌ Error running seeder:", err);
27
- throw err;
28
- }
29
- }
30
- }
31
- exports.SeederOrchestrator = SeederOrchestrator;
32
- //# sourceMappingURL=orchestrator.seeder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrator.seeder.js","sourceRoot":"","sources":["../../src/seeders/orchestrator.seeder.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,iDAA6C;AAC7C,6DAAyD;AACzD,uEAAkE;AAClE,iDAA6C;AAC7C,2DAAsD;AAEtD,MAAa,kBAAkB;IAC7B,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,8BAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YAC/C,MAAM,IAAI,0BAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7C,MAAM,IAAI,sCAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YACnD,MAAM,IAAI,+CAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YACvD,MAAM,IAAI,0BAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7C,MAAM,IAAI,mCAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YAEjD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAC9C,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAnBD,gDAmBC"}
@@ -1,6 +0,0 @@
1
- import { DataSource } from "typeorm";
2
- export declare class PermissionsSeeder {
3
- private readonly dataSource;
4
- constructor(dataSource: DataSource);
5
- run(): Promise<void>;
6
- }
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PermissionsSeeder = void 0;
4
- const permission_entity_1 = require("../modules/permission/permission.entity");
5
- const module_entity_1 = require("../modules/module/module.entity");
6
- function makePrefix(nameEn) {
7
- return nameEn
8
- .replace(/[^a-zA-Z0-9 ]/g, "")
9
- .trim()
10
- .split(/\s+/)
11
- .map((w) => w.toUpperCase())
12
- .join("_");
13
- }
14
- class PermissionsSeeder {
15
- constructor(dataSource) {
16
- this.dataSource = dataSource;
17
- }
18
- async run() {
19
- const repo = this.dataSource.getRepository(permission_entity_1.Permission);
20
- const modulesRepo = this.dataSource.getRepository(module_entity_1.ModuleEntity);
21
- const count = await repo.count();
22
- if (count > 0) {
23
- console.log(" ℹ️ Permissions already exist, skipping...");
24
- return;
25
- }
26
- const modules = await modulesRepo.find();
27
- const generated = [];
28
- for (const m of modules) {
29
- const prefix = makePrefix(m.nameEn || "MODULE");
30
- const ops = ["VIEW", "CREATE", "EDIT", "DELETE"];
31
- if ((m.nameEn || "").toLowerCase().includes("report"))
32
- ops.push("EXPORT");
33
- for (const op of ops) {
34
- generated.push({
35
- code: `${prefix}_${op}`,
36
- nameAr: `${op} ${m.nameAr || m.nameEn}`,
37
- nameEn: `${op} ${m.nameEn}`,
38
- descriptionEn: `${op} ${m.nameEn}`,
39
- isActive: true,
40
- module: m,
41
- });
42
- }
43
- }
44
- for (const g of generated) {
45
- await repo.save(g);
46
- }
47
- console.log(` ✓ Created ${generated.length} permissions`);
48
- }
49
- }
50
- exports.PermissionsSeeder = PermissionsSeeder;
51
- //# sourceMappingURL=permissions.seeder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissions.seeder.js","sourceRoot":"","sources":["../../src/seeders/permissions.seeder.ts"],"names":[],"mappings":";;;AACA,+EAAqE;AACrE,mEAA+D;AAE/D,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,MAAM;SACV,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAa,iBAAiB;IAC5B,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,8BAAU,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,4BAAY,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,SAAS,GAAU,EAAE,CAAC;QAE5B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE1E,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,EAAE;oBACvB,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE;oBACvC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE;oBAC3B,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE;oBAClC,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,CAAC;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,CAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC;IAC7D,CAAC;CACF;AAtCD,8CAsCC"}
@@ -1,6 +0,0 @@
1
- import { DataSource } from "typeorm";
2
- export declare class RolePermissionsSeeder {
3
- private readonly dataSource;
4
- constructor(dataSource: DataSource);
5
- run(): Promise<void>;
6
- }
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RolePermissionsSeeder = void 0;
4
- const role_entity_1 = require("../modules/role/role.entity");
5
- const permission_entity_1 = require("../modules/permission/permission.entity");
6
- class RolePermissionsSeeder {
7
- constructor(dataSource) {
8
- this.dataSource = dataSource;
9
- }
10
- async run() {
11
- const rolesRepo = this.dataSource.getRepository(role_entity_1.Role);
12
- const permsRepo = this.dataSource.getRepository(permission_entity_1.Permission);
13
- const existing = await this.dataSource
14
- .createQueryBuilder()
15
- .select("1")
16
- .from("role_permissions", "rp")
17
- .limit(1)
18
- .getRawMany();
19
- if (existing && existing.length > 0) {
20
- console.log(" ℹ️ Role permissions already exist, skipping...");
21
- return;
22
- }
23
- const roles = await rolesRepo.find();
24
- const perms = await permsRepo.find();
25
- const admin = roles.find((r) => r.nameEn === "Administrator");
26
- if (admin) {
27
- for (const perm of perms) {
28
- await this.dataSource.manager.query(`INSERT INTO role_permissions (role_id, permission_id) VALUES ($1, $2) ON CONFLICT DO NOTHING`, [admin.id, perm.id]);
29
- }
30
- console.log(" ✓ Granted Administrator all permissions");
31
- }
32
- const manager = roles.find((r) => r.nameEn === "Manager");
33
- if (manager) {
34
- for (const perm of perms) {
35
- if (perm.code.endsWith("_VIEW") ||
36
- perm.code.endsWith("_CREATE") ||
37
- perm.code.endsWith("_EDIT") ||
38
- perm.code.endsWith("_EXPORT")) {
39
- await this.dataSource.manager.query(`INSERT INTO role_permissions (role_id, permission_id) VALUES ($1, $2) ON CONFLICT DO NOTHING`, [manager.id, perm.id]);
40
- }
41
- }
42
- console.log(" ✓ Assigned Manager permissions (view/create/edit/export)");
43
- }
44
- const employee = roles.find((r) => r.nameEn === "Employee");
45
- if (employee) {
46
- for (const perm of perms) {
47
- if (perm.code.endsWith("_VIEW") || perm.code.endsWith("_CREATE")) {
48
- await this.dataSource.manager.query(`INSERT INTO role_permissions (role_id, permission_id) VALUES ($1, $2) ON CONFLICT DO NOTHING`, [employee.id, perm.id]);
49
- }
50
- }
51
- console.log(" ✓ Assigned Employee permissions (view/create)");
52
- }
53
- const viewer = roles.find((r) => r.nameEn === "Viewer");
54
- if (viewer) {
55
- for (const perm of perms) {
56
- if (perm.code.endsWith("_VIEW")) {
57
- await this.dataSource.manager.query(`INSERT INTO role_permissions (role_id, permission_id) VALUES ($1, $2) ON CONFLICT DO NOTHING`, [viewer.id, perm.id]);
58
- }
59
- }
60
- console.log(" ✓ Assigned Viewer permissions (view only)");
61
- }
62
- }
63
- }
64
- exports.RolePermissionsSeeder = RolePermissionsSeeder;
65
- //# sourceMappingURL=role-permissions.seeder.js.map