storemw-core-api 1.0.140 → 1.0.141

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 (58) hide show
  1. package/dist/controllers/user/userController.js +8 -4
  2. package/dist/controllers/user/userController.js.map +1 -1
  3. package/dist/models/account/AccountModel.d.ts +13 -13
  4. package/dist/models/branch_user/BranchUserModel.d.ts +13 -13
  5. package/dist/models/user/AgentModel.d.ts +2 -24
  6. package/dist/models/user/MemberModel.d.ts +2 -24
  7. package/dist/models/user/UserModel.d.ts +13 -2
  8. package/dist/schema/payload/account/schemaAccount.d.ts +7 -0
  9. package/dist/schema/payload/user/schemaUser.d.ts +3 -0
  10. package/dist/schema/payload/user/schemaUser.js +1 -0
  11. package/dist/schema/payload/user/schemaUser.js.map +1 -1
  12. package/dist/schema/payload/user/schemaUserAdministrator.d.ts +14 -0
  13. package/dist/schema/payload/user/schemaUserAgent.d.ts +15 -12
  14. package/dist/schema/payload/user/schemaUserAgent.js +2 -2
  15. package/dist/schema/payload/user/schemaUserAgent.js.map +1 -1
  16. package/dist/schema/payload/user/schemaUserCustomer.d.ts +14 -0
  17. package/dist/schema/payload/user/schemaUserDriver.d.ts +14 -0
  18. package/dist/schema/payload/user/schemaUserMember.d.ts +15 -12
  19. package/dist/schema/payload/user/schemaUserMember.js +2 -2
  20. package/dist/schema/payload/user/schemaUserMember.js.map +1 -1
  21. package/dist/schema/payload/user/schemaUserOperator.d.ts +14 -0
  22. package/dist/schema/payload/user/schemaUserRetailer.d.ts +14 -0
  23. package/dist/schema/payload/user/schemaUserWorker.d.ts +14 -0
  24. package/dist/services/account/AccountService.js +14 -4
  25. package/dist/services/account/AccountService.js.map +1 -1
  26. package/dist/services/index.d.ts +1 -1
  27. package/dist/services/index.js +2 -1
  28. package/dist/services/index.js.map +1 -1
  29. package/dist/services/user/AdministratorService.d.ts +1 -0
  30. package/dist/services/user/AdministratorService.js +7 -0
  31. package/dist/services/user/AdministratorService.js.map +1 -1
  32. package/dist/services/user/AgentService.d.ts +2 -12
  33. package/dist/services/user/AgentService.js +35 -26
  34. package/dist/services/user/AgentService.js.map +1 -1
  35. package/dist/services/user/CustomerService.d.ts +1 -0
  36. package/dist/services/user/CustomerService.js +7 -0
  37. package/dist/services/user/CustomerService.js.map +1 -1
  38. package/dist/services/user/DriverService.d.ts +1 -0
  39. package/dist/services/user/DriverService.js +7 -0
  40. package/dist/services/user/DriverService.js.map +1 -1
  41. package/dist/services/user/MemberService.d.ts +2 -12
  42. package/dist/services/user/MemberService.js +35 -26
  43. package/dist/services/user/MemberService.js.map +1 -1
  44. package/dist/services/user/OperatorService.d.ts +4 -2
  45. package/dist/services/user/OperatorService.js +11 -3
  46. package/dist/services/user/OperatorService.js.map +1 -1
  47. package/dist/services/user/RetailerService.d.ts +1 -0
  48. package/dist/services/user/RetailerService.js +7 -0
  49. package/dist/services/user/RetailerService.js.map +1 -1
  50. package/dist/services/user/UserMeService.d.ts +1 -0
  51. package/dist/services/user/UserService.d.ts +5 -0
  52. package/dist/services/user/UserService.js +34 -17
  53. package/dist/services/user/UserService.js.map +1 -1
  54. package/dist/services/user/WorkerService.d.ts +1 -0
  55. package/dist/services/user/WorkerService.js +52 -44
  56. package/dist/services/user/WorkerService.js.map +1 -1
  57. package/package.json +1 -1
  58. package/prisma/schema.prisma +44 -47
@@ -30,6 +30,7 @@ export declare const schemaUserOperatorCreatePayload: z.ZodObject<{
30
30
  }>;
31
31
  address: z.ZodOptional<z.ZodString>;
32
32
  email: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
33
+ parentUserId: z.ZodOptional<z.ZodNumber>;
33
34
  status: z.ZodBoolean;
34
35
  }, "strip", z.ZodTypeAny, {
35
36
  status: boolean;
@@ -43,6 +44,7 @@ export declare const schemaUserOperatorCreatePayload: z.ZodObject<{
43
44
  username: string;
44
45
  password: string;
45
46
  address?: string | undefined;
47
+ parentUserId?: number | undefined;
46
48
  }, {
47
49
  status: boolean;
48
50
  firstname: string;
@@ -55,6 +57,7 @@ export declare const schemaUserOperatorCreatePayload: z.ZodObject<{
55
57
  username: string;
56
58
  password: string;
57
59
  address?: string | undefined;
60
+ parentUserId?: number | undefined;
58
61
  }>;
59
62
  operator: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
60
63
  props: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
@@ -73,6 +76,7 @@ export declare const schemaUserOperatorCreatePayload: z.ZodObject<{
73
76
  username: string;
74
77
  password: string;
75
78
  address?: string | undefined;
79
+ parentUserId?: number | undefined;
76
80
  };
77
81
  }, {
78
82
  operator: {};
@@ -89,6 +93,7 @@ export declare const schemaUserOperatorCreatePayload: z.ZodObject<{
89
93
  username: string;
90
94
  password: string;
91
95
  address?: string | undefined;
96
+ parentUserId?: number | undefined;
92
97
  };
93
98
  }>;
94
99
  }, "strip", z.ZodTypeAny, {
@@ -111,6 +116,7 @@ export declare const schemaUserOperatorCreatePayload: z.ZodObject<{
111
116
  username: string;
112
117
  password: string;
113
118
  address?: string | undefined;
119
+ parentUserId?: number | undefined;
114
120
  };
115
121
  };
116
122
  }, {
@@ -133,6 +139,7 @@ export declare const schemaUserOperatorCreatePayload: z.ZodObject<{
133
139
  username: string;
134
140
  password: string;
135
141
  address?: string | undefined;
142
+ parentUserId?: number | undefined;
136
143
  };
137
144
  };
138
145
  }>;
@@ -167,6 +174,7 @@ export declare const schemaUserOperatorUpdatePayload: z.ZodObject<{
167
174
  phoneNumber: string;
168
175
  }>;
169
176
  username: z.ZodString;
177
+ parentUserId: z.ZodOptional<z.ZodNumber>;
170
178
  password: z.ZodOptional<z.ZodString>;
171
179
  }, "strip", z.ZodTypeAny, {
172
180
  status: boolean;
@@ -179,6 +187,7 @@ export declare const schemaUserOperatorUpdatePayload: z.ZodObject<{
179
187
  };
180
188
  username: string;
181
189
  address?: string | undefined;
190
+ parentUserId?: number | undefined;
182
191
  password?: string | undefined;
183
192
  }, {
184
193
  status: boolean;
@@ -191,6 +200,7 @@ export declare const schemaUserOperatorUpdatePayload: z.ZodObject<{
191
200
  };
192
201
  username: string;
193
202
  address?: string | undefined;
203
+ parentUserId?: number | undefined;
194
204
  password?: string | undefined;
195
205
  }>;
196
206
  operator: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
@@ -209,6 +219,7 @@ export declare const schemaUserOperatorUpdatePayload: z.ZodObject<{
209
219
  };
210
220
  username: string;
211
221
  address?: string | undefined;
222
+ parentUserId?: number | undefined;
212
223
  password?: string | undefined;
213
224
  };
214
225
  }, {
@@ -225,6 +236,7 @@ export declare const schemaUserOperatorUpdatePayload: z.ZodObject<{
225
236
  };
226
237
  username: string;
227
238
  address?: string | undefined;
239
+ parentUserId?: number | undefined;
228
240
  password?: string | undefined;
229
241
  };
230
242
  }>;
@@ -247,6 +259,7 @@ export declare const schemaUserOperatorUpdatePayload: z.ZodObject<{
247
259
  };
248
260
  username: string;
249
261
  address?: string | undefined;
262
+ parentUserId?: number | undefined;
250
263
  password?: string | undefined;
251
264
  };
252
265
  };
@@ -269,6 +282,7 @@ export declare const schemaUserOperatorUpdatePayload: z.ZodObject<{
269
282
  };
270
283
  username: string;
271
284
  address?: string | undefined;
285
+ parentUserId?: number | undefined;
272
286
  password?: string | undefined;
273
287
  };
274
288
  };
@@ -29,6 +29,7 @@ export declare const schemaUserRetailerCreatePayload: z.ZodObject<{
29
29
  }>;
30
30
  address: z.ZodOptional<z.ZodString>;
31
31
  email: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
32
+ parentUserId: z.ZodOptional<z.ZodNumber>;
32
33
  status: z.ZodBoolean;
33
34
  }, "strip", z.ZodTypeAny, {
34
35
  status: boolean;
@@ -42,6 +43,7 @@ export declare const schemaUserRetailerCreatePayload: z.ZodObject<{
42
43
  username: string;
43
44
  password: string;
44
45
  address?: string | undefined;
46
+ parentUserId?: number | undefined;
45
47
  }, {
46
48
  status: boolean;
47
49
  firstname: string;
@@ -54,6 +56,7 @@ export declare const schemaUserRetailerCreatePayload: z.ZodObject<{
54
56
  username: string;
55
57
  password: string;
56
58
  address?: string | undefined;
59
+ parentUserId?: number | undefined;
57
60
  }>;
58
61
  retailer: z.ZodObject<{
59
62
  code: z.ZodString;
@@ -108,6 +111,7 @@ export declare const schemaUserRetailerCreatePayload: z.ZodObject<{
108
111
  username: string;
109
112
  password: string;
110
113
  address?: string | undefined;
114
+ parentUserId?: number | undefined;
111
115
  };
112
116
  }, {
113
117
  retailer: {
@@ -133,6 +137,7 @@ export declare const schemaUserRetailerCreatePayload: z.ZodObject<{
133
137
  username: string;
134
138
  password: string;
135
139
  address?: string | undefined;
140
+ parentUserId?: number | undefined;
136
141
  };
137
142
  }>;
138
143
  }, "strip", z.ZodTypeAny, {
@@ -164,6 +169,7 @@ export declare const schemaUserRetailerCreatePayload: z.ZodObject<{
164
169
  username: string;
165
170
  password: string;
166
171
  address?: string | undefined;
172
+ parentUserId?: number | undefined;
167
173
  };
168
174
  };
169
175
  }, {
@@ -195,6 +201,7 @@ export declare const schemaUserRetailerCreatePayload: z.ZodObject<{
195
201
  username: string;
196
202
  password: string;
197
203
  address?: string | undefined;
204
+ parentUserId?: number | undefined;
198
205
  };
199
206
  };
200
207
  }>;
@@ -229,6 +236,7 @@ export declare const schemaUserRetailerUpdatePayload: z.ZodObject<{
229
236
  phoneNumber: string;
230
237
  }>;
231
238
  username: z.ZodString;
239
+ parentUserId: z.ZodOptional<z.ZodNumber>;
232
240
  password: z.ZodOptional<z.ZodString>;
233
241
  }, "strip", z.ZodTypeAny, {
234
242
  status: boolean;
@@ -241,6 +249,7 @@ export declare const schemaUserRetailerUpdatePayload: z.ZodObject<{
241
249
  };
242
250
  username: string;
243
251
  address?: string | undefined;
252
+ parentUserId?: number | undefined;
244
253
  password?: string | undefined;
245
254
  }, {
246
255
  status: boolean;
@@ -253,6 +262,7 @@ export declare const schemaUserRetailerUpdatePayload: z.ZodObject<{
253
262
  };
254
263
  username: string;
255
264
  address?: string | undefined;
265
+ parentUserId?: number | undefined;
256
266
  password?: string | undefined;
257
267
  }>;
258
268
  retailer: z.ZodObject<{
@@ -307,6 +317,7 @@ export declare const schemaUserRetailerUpdatePayload: z.ZodObject<{
307
317
  };
308
318
  username: string;
309
319
  address?: string | undefined;
320
+ parentUserId?: number | undefined;
310
321
  password?: string | undefined;
311
322
  };
312
323
  }, {
@@ -332,6 +343,7 @@ export declare const schemaUserRetailerUpdatePayload: z.ZodObject<{
332
343
  };
333
344
  username: string;
334
345
  address?: string | undefined;
346
+ parentUserId?: number | undefined;
335
347
  password?: string | undefined;
336
348
  };
337
349
  }>;
@@ -363,6 +375,7 @@ export declare const schemaUserRetailerUpdatePayload: z.ZodObject<{
363
375
  };
364
376
  username: string;
365
377
  address?: string | undefined;
378
+ parentUserId?: number | undefined;
366
379
  password?: string | undefined;
367
380
  };
368
381
  };
@@ -394,6 +407,7 @@ export declare const schemaUserRetailerUpdatePayload: z.ZodObject<{
394
407
  };
395
408
  username: string;
396
409
  address?: string | undefined;
410
+ parentUserId?: number | undefined;
397
411
  password?: string | undefined;
398
412
  };
399
413
  };
@@ -29,6 +29,7 @@ export declare const schemaUserWorkerCreatePayload: z.ZodObject<{
29
29
  }>;
30
30
  address: z.ZodOptional<z.ZodString>;
31
31
  email: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
32
+ parentUserId: z.ZodOptional<z.ZodNumber>;
32
33
  status: z.ZodBoolean;
33
34
  }, "strip", z.ZodTypeAny, {
34
35
  status: boolean;
@@ -42,6 +43,7 @@ export declare const schemaUserWorkerCreatePayload: z.ZodObject<{
42
43
  username: string;
43
44
  password: string;
44
45
  address?: string | undefined;
46
+ parentUserId?: number | undefined;
45
47
  }, {
46
48
  status: boolean;
47
49
  firstname: string;
@@ -54,6 +56,7 @@ export declare const schemaUserWorkerCreatePayload: z.ZodObject<{
54
56
  username: string;
55
57
  password: string;
56
58
  address?: string | undefined;
59
+ parentUserId?: number | undefined;
57
60
  }>;
58
61
  worker: z.ZodObject<{
59
62
  remark: z.ZodString;
@@ -88,6 +91,7 @@ export declare const schemaUserWorkerCreatePayload: z.ZodObject<{
88
91
  username: string;
89
92
  password: string;
90
93
  address?: string | undefined;
94
+ parentUserId?: number | undefined;
91
95
  };
92
96
  }, {
93
97
  worker: {
@@ -108,6 +112,7 @@ export declare const schemaUserWorkerCreatePayload: z.ZodObject<{
108
112
  username: string;
109
113
  password: string;
110
114
  address?: string | undefined;
115
+ parentUserId?: number | undefined;
111
116
  };
112
117
  }>;
113
118
  }, "strip", z.ZodTypeAny, {
@@ -134,6 +139,7 @@ export declare const schemaUserWorkerCreatePayload: z.ZodObject<{
134
139
  username: string;
135
140
  password: string;
136
141
  address?: string | undefined;
142
+ parentUserId?: number | undefined;
137
143
  };
138
144
  };
139
145
  }, {
@@ -160,6 +166,7 @@ export declare const schemaUserWorkerCreatePayload: z.ZodObject<{
160
166
  username: string;
161
167
  password: string;
162
168
  address?: string | undefined;
169
+ parentUserId?: number | undefined;
163
170
  };
164
171
  };
165
172
  }>;
@@ -194,6 +201,7 @@ export declare const schemaUserWorkerUpdatePayload: z.ZodObject<{
194
201
  phoneNumber: string;
195
202
  }>;
196
203
  username: z.ZodString;
204
+ parentUserId: z.ZodOptional<z.ZodNumber>;
197
205
  password: z.ZodOptional<z.ZodString>;
198
206
  }, "strip", z.ZodTypeAny, {
199
207
  status: boolean;
@@ -206,6 +214,7 @@ export declare const schemaUserWorkerUpdatePayload: z.ZodObject<{
206
214
  };
207
215
  username: string;
208
216
  address?: string | undefined;
217
+ parentUserId?: number | undefined;
209
218
  password?: string | undefined;
210
219
  }, {
211
220
  status: boolean;
@@ -218,6 +227,7 @@ export declare const schemaUserWorkerUpdatePayload: z.ZodObject<{
218
227
  };
219
228
  username: string;
220
229
  address?: string | undefined;
230
+ parentUserId?: number | undefined;
221
231
  password?: string | undefined;
222
232
  }>;
223
233
  worker: z.ZodObject<{
@@ -252,6 +262,7 @@ export declare const schemaUserWorkerUpdatePayload: z.ZodObject<{
252
262
  };
253
263
  username: string;
254
264
  address?: string | undefined;
265
+ parentUserId?: number | undefined;
255
266
  password?: string | undefined;
256
267
  };
257
268
  }, {
@@ -272,6 +283,7 @@ export declare const schemaUserWorkerUpdatePayload: z.ZodObject<{
272
283
  };
273
284
  username: string;
274
285
  address?: string | undefined;
286
+ parentUserId?: number | undefined;
275
287
  password?: string | undefined;
276
288
  };
277
289
  }>;
@@ -298,6 +310,7 @@ export declare const schemaUserWorkerUpdatePayload: z.ZodObject<{
298
310
  };
299
311
  username: string;
300
312
  address?: string | undefined;
313
+ parentUserId?: number | undefined;
301
314
  password?: string | undefined;
302
315
  };
303
316
  };
@@ -324,6 +337,7 @@ export declare const schemaUserWorkerUpdatePayload: z.ZodObject<{
324
337
  };
325
338
  username: string;
326
339
  address?: string | undefined;
340
+ parentUserId?: number | undefined;
327
341
  password?: string | undefined;
328
342
  };
329
343
  };
@@ -367,21 +367,31 @@ const AccountService = (props) => {
367
367
  const ownerUserId = item?.owner_user_id ?? 0;
368
368
  const businessId = item?.business_id ?? 0;
369
369
  const businessService = (0, services_1.BusinessService)({ ...rest, accountId: Number(accountId) });
370
- const userService = (0, services_1.UserService)({ ...rest, accountId: Number(accountId), userType: "administrator" });
370
+ // const userService = UserService({ ...rest, accountId: Number(accountId), userType: "administrator" })
371
+ const userModel = (0, models_1.UserModel)({ ...rest });
371
372
  let responseBusiness = [];
372
373
  let responseUser = [];
373
374
  // remove business
374
375
  if (businessId) {
375
376
  responseBusiness = await businessService.removeBusinesses({ businessIds: [BigInt(businessId)] });
376
377
  }
377
- // remove user administrator
378
+ // remove all users (administrator, etc...)
378
379
  if (ownerUserId) {
379
- responseUser = await userService.removeUsers({ ids: [BigInt(ownerUserId)] });
380
+ const responseUsers = await userModel.remove({
381
+ // ids: [Number(ownerUserId)]
382
+ where: {
383
+ [`${models_1.ModelUserFields.accountid}`]: accountId
384
+ }
385
+ });
386
+ responseUser = responseUsers.map((i) => {
387
+ delete i.login_password;
388
+ return i;
389
+ });
380
390
  }
381
391
  response.push({
382
392
  ...item,
383
393
  business: responseBusiness.length > 0 ? responseBusiness[0] : {},
384
- user: responseUser.length > 0 ? responseUser[0] : {}
394
+ users: responseUser
385
395
  });
386
396
  }));
387
397
  return response;
@@ -1 +1 @@
1
- {"version":3,"file":"AccountService.js","sourceRoot":"","sources":["../../../src/services/account/AccountService.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,6BAAwB;AAExB,qCASkB;AAMlB,+BAAiI;AAEjI,+BAAsC;AAEtC,yCAMoB;AAsCpB,MAAM,gBAAgB,GAAG,CAAC,IAAgC,EAAE,cAAsB,EAAE,EAAE,EAAE;IAEpF,OAAO;QACH,CAAC,GAAG,2BAAkB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI;QACzC,CAAC,GAAG,2BAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACtD,CAAC,GAAG,2BAAkB,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW;KACtD,CAAA;AAEL,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,UAAkB,EAAE,WAAmB,EAAE,EAAE;IAEvE,OAAO;QACH,wDAAwD;QACxD,CAAC,GAAG,2BAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU;QACjD,CAAC,GAAG,2BAAkB,CAAC,aAAa,EAAE,CAAC,EAAE,WAAW;KACvD,CAAA;AAEL,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAgC,EAAE,cAAsB,EAAE,EAAE,EAAE;IAEpF,OAAO;QACH,mDAAmD;QACnD,CAAC,GAAG,2BAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU;QACtD,CAAC,GAAG,2BAAkB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI;QACzC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,2BAAkB,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,CAAC,GAAG,2BAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;KACzD,CAAA;AAEL,CAAC,CAAA;AAED,IAAI,aAAa,GAAG;IAChB,CAAC,OAAO,2BAAkB,CAAC,UAAU,EAAE,CAAC,EAAE,YAAY;IACtD,CAAC,OAAO,2BAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,aAAa;IACxD,CAAC,OAAO,2BAAkB,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM;IAC1C,CAAC,OAAO,2BAAkB,CAAC,YAAY,EAAE,CAAC,EAAE,cAAc;IAC1D,CAAC,OAAO,2BAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,gBAAgB;CACzD,CAAA;AAED,IAAI,iBAAiB,GAAG;IACpB,CAAC,OAAO,4BAAmB,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;IACrD,CAAC,OAAO,4BAAmB,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;IACrD,CAAC,OAAO,4BAAmB,CAAC,eAAe,EAAE,CAAC,EAAE,iBAAiB;IACjE,CAAC,OAAO,4BAAmB,CAAC,YAAY,EAAE,CAAC,EAAE,cAAc;IAC3D,CAAC,OAAO,4BAAmB,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO;IAC7C,CAAC,OAAO,4BAAmB,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS;IACjD,CAAC,YAAY,wBAAe,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;IACtD,CAAC,OAAO,4BAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU;IACnD,CAAC,aAAa,yBAAgB,CAAC,UAAU,EAAE,CAAC,EAAE,YAAY;IAC1D,CAAC,YAAY,2BAAkB,CAAC,YAAY,EAAE,CAAC,EAAE,cAAc;IAC/D,CAAC,OAAO,4BAAmB,CAAC,UAAU,EAAE,CAAC,EAAE,YAAY;IACvD,CAAC,OAAO,4BAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU;IACnD,CAAC,OAAO,4BAAmB,CAAC,mBAAmB,EAAE,CAAC,EAAE,qBAAqB;IACzE,CAAC,OAAO,4BAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB;IACxD,CAAC,OAAO,4BAAmB,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS;CACpD,CAAA;AAED,IAAI,kBAAkB,GAAG;IACrB,CAAC,YAAY,wBAAe,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS;IAClD,CAAC,YAAY,wBAAe,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAChE,CAAC,YAAY,wBAAe,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;IACtD,CAAC,YAAY,wBAAe,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;IACtD,CAAC,YAAY,wBAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU;IACpD,CAAC,mBAAmB,wBAAe,CAAC,oBAAoB,cAAc,wBAAe,CAAC,oBAAoB,GAAG,CAAC,EAAE,SAAS;IACzH,CAAC,YAAY,wBAAe,CAAC,oBAAoB,EAAE,CAAC,EAAE,sBAAsB;IAC5E,CAAC,YAAY,wBAAe,CAAC,oBAAoB,EAAE,CAAC,EAAE,sBAAsB;IAC5E,CAAC,YAAY,wBAAe,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO;IAC9C,CAAC,YAAY,wBAAe,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS;IAClD,CAAC,YAAY,wBAAe,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ;CACnD,CAAA;AAED,IAAI,cAAc,GAAG;IACjB,CAAC;;cAES,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;MAGjG,CAAC,EAAE,OAAO;CACf,CAAA;AAED,IAAI,gBAAgB,GAAG;IACnB,CAAC,OAAO,2BAAkB,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC9D,CAAC,WAAW,wBAAe,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC/D,CAAC,OAAO,2BAAkB,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC9D,CAAC,WAAW,wBAAe,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC/D,CAAC,OAAO,2BAAkB,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU;IAClD,CAAC,OAAO,2BAAkB,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS;IAChD,CAAC,OAAO,2BAAkB,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;CACvD,CAAA;AAED,uDAAuD;AAC1C,QAAA,wBAAwB,GAAG;IACpC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;IACnF,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAC9F,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IACzG,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IACjG,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU;IAC1G,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;IAC9G,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY;IAC3G,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW;IACjG,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;IAC/G,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW;CACnH,CAAC;AAEF,0CAA0C;AAC7B,QAAA,iBAAiB,GAAG,OAAC;KAC7B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;KACjE,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;KAClE,KAAK,CACF,qCAAqC;AACrC,qBAAqB;AACrB,2EAA2E;AAC3E,6FAA6F;AAC7F,0EAA0E;AAC1E,iFAAiF;AACjF,8GAA8G,CACjH;KACA,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY;KACzD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,gCAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACtD,OAAO,EAAE,0DAA0D;CACtE,CAAC,CAAC;AAEA,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAEzD,MAAM,EACF,GAAG,IAAI,EACV,GAAG,KAAK,CAAA;IAET,MAAM,YAAY,GAAG,IAAA,qBAAY,EAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;IAC9C,MAAM,gBAAgB,GAAG,IAAA,2BAAgB,EAAC,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC,CAAA;IAE1F,yEAAyE;IACzE,SAAS,mBAAmB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,UAAU;aACvD,QAAQ,EAAE;aACV,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB;QACzC,OAAO,MAAM,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,qBAAqB,GAAG,KAAK,EAC/B,WAAmC,EACnC,aAAoC,EACtC,EAAE;QAEA,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC;YAChC,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,GAAG,2BAAkB,CAAC,UAAU,EAAE;YAC7C,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,CAAC;oBACN,KAAK,EAAE,GAAG,2BAAkB,CAAC,YAAY,EAAE;oBAC3C,QAAQ,EAAE,GAAG;oBACb,KAAK,EAAE,WAAW;iBACrB,CAAC;YACF,SAAS,EAAE,EAAE;SAChB,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QAElC,IAAI,aAAa,EAAE,CAAC;YAEhB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,CAAA;YACf,CAAC;QAEL,CAAC;aAAM,CAAC;YAEJ,OAAO,IAAI,CAAA;QACf,CAAC;IAEL,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;QAE5D,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAA;QAElE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC7B,IAAA,kBAAU,EAAC,+BAA+B,WAAW,EAAE,CAAC,CAAA;QAC5D,CAAC;IAEL,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,CAAC,WAAmB,EAAE,EAAE;QACtD,IAAI,CAAC;YACD,OAAO,yBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACX,0BAA0B,WAAW,KAAK;oBAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9C,CAAC;YACN,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,IAAI,EAAsB,EAAE,EAAE;QAEzD,MAAM,iBAAiB,GAAG,IAAI,EAAE,aAAa,IAAI,EAAE,CAAA;QAEnD,uBAAuB;QACvB,IAAI,iBAAiB,EAAE,OAAO,EAAE,CAAC;YAE7B,MAAM,mBAAmB,GAAG,IAAA,sBAAW,EAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAA;YAE/E,uBAAuB;YACvB,MAAM,mBAAmB,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAE/H,CAAC;QAED,IAAI,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;QAE1C,+BAA+B;QAC/B,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;YACrB,WAAW,GAAG,mBAAmB,EAAE,CAAA;QACvC,CAAC;QAED,mCAAmC;QACnC,yBAAyB,CAAC,WAAW,CAAC,CAAA;QAEtC,uCAAuC;QACvC,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAA;QAE5C,iBAAiB;QACjB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAEjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAEzD,MAAM,YAAY,GAAG,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAA;QAE9C,MAAM,eAAe,GAAG,IAAA,0BAAe,EAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QACrF,MAAM,WAAW,GAAG,IAAA,sBAAW,EAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAA;QAExG,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,IAAI,SAAS,GAAG,CAAC,CAAA;QAEjB,6BAA6B;QAC7B,IAAI,iBAAiB,EAAE,aAAa,EAAE,CAAC;YAEnC,IAAI,QAAQ,GAAG,iBAAiB,CAAA;YAEhC,IAAI,WAAW,GAAoB;gBAC/B,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,OAAO,EAAE;4BACL,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW;4BACzC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW;yBAC5C;wBACD,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;wBACrC,aAAa,EAAE,QAAQ,CAAC,aAAa;wBACrC,MAAM,EAAE,IAAI,CAAC,6BAA6B;qBAC7C;oBACD,aAAa,EAAE;wBACX,OAAO,EAAE,IAAI,CAAC,6BAA6B;qBAC9C;oBACD,KAAK,EAAE;wBACH,WAAW,EAAE,EAAE;qBAClB;iBACJ;aACJ,CAAA;YAED,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;YAE/D,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YACnD,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAErD,CAAC;QAED,0CAA0C;QAC1C,MAAM,gBAAgB,CAAC,eAAe,CAAC;YACnC,IAAI,EAAE;gBACF,MAAM,EAAE,aAAa;gBACrB,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,SAAS;aAC/B;SACJ,CAAC,CAAA;QAEF,kBAAkB;QAClB,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;YAEjB,IAAI,YAAY,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAA;YAEvC,IAAI,eAAe,GAAwB;gBACvC,IAAI,EAAE;oBACF,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;oBAC3C,WAAW,EAAE,YAAY,CAAC,WAAW;oBACrC,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;oBACnD,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,MAAM,EAAE,IAAI,CAAC,6BAA6B;iBAC7C;aACJ,CAAA;YAED,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YAE9E,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;QAElE,CAAC;QAED,qCAAqC;QACrC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;QAEjF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;QAE/E,OAAO,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAsB,EAAE,EAAE;QAEpE,mDAAmD;QACnD,gGAAgG;QAEhG,IAAI,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;QAE1C,yCAAyC;QACzC,IAAI,WAAW,EAAE,CAAC;YAEd,mCAAmC;YACnC,yBAAyB,CAAC,WAAW,CAAC,CAAA;YAEtC,uCAAuC;YACvC,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAA;QAChD,CAAC;QAED,qFAAqF;QAErF,gGAAgG;QAEhG,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAEjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,2BAAkB,CAAC,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAErH,OAAO,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAmB,EAAE,EAAE;QAEjE,mDAAmD;QACnD,gGAAgG;QAEhG,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC;YAC9B,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC5D,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,KAAK;YAChB,SAAS;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAE3B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,EAAE,EAAoB,EAAE,EAAE;QAEnH,mDAAmD;QACnD,gGAAgG;QAEhG,IAAI,IAAI,GAAG,EAAE,CAAA;QAEb,IAAI,SAAS,GAAG;YACZ,uCAAuC;YACvC,IAAA,oBAAc,EAAC,EAAE,EAAE,aAAa,CAAC;YACjC,IAAA,oBAAc,EAAC,EAAE,EAAE,iBAAiB,CAAC;YACrC,IAAA,oBAAc,EAAC,EAAE,EAAE,cAAc,CAAC;YAClC,IAAA,oBAAc,EAAC,EAAE,EAAE,gBAAgB,CAAC;SACvC,CAAA;QAED,IAAI,WAAW,GAAG;YACd,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,mCAAmC,EAAE,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;YAC1I,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,mCAAmC,EAAE,4BAA4B,EAAE,2BAA2B,CAAC,CAAC;YACxJ,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,sCAAsC,EAAE,2BAA2B,EAAE,0BAA0B,CAAC,CAAC;YAC3J,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,gCAAgC,EAAE,2BAA2B,EAAE,0BAA0B,CAAC,CAAC;YACjJ,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,sCAAsC,EAAE,2BAA2B,EAAE,0BAA0B,CAAC,CAAC;YACvJ,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,oCAAoC,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;YAClJ,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,oCAAoC,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;SACrJ,CAAA;QAED,IAAI,UAAU,GAAa;YACvB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7B,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACjC,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAClC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;SACnC,CAAA;QAED,IAAI,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAA;QAE1G,IAAI,QAAQ,GAAG;YACX,sBAAsB;YACtB,qBAAqB;YACrB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAa,EAAC,OAAO,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAA;QAED,IAAI,UAAU,GAAG,IAAA,qBAAe,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACtD,IAAI,cAAc,GAAG,IAAA,yBAAmB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEvD,MAAM,MAAM,GAAG,IAAA,uBAAiB,EAAC;YAC7B,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS;YACT,WAAW;YACX,QAAQ;YACR,UAAU;YACV,UAAU;YACV,cAAc;YACd,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;SACzD,CAAC,CAAA;QAEF,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAErC,MAAM,QAAQ,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YACrD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D,CAAA;QAED,OAAO,QAAQ,CAAA;IAEnB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,EAAE,EAAE,UAAU,EAAsB,EAAE,EAAE;QAEhE,mDAAmD;QACnD,gGAAgG;QAEhG,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,IAAA,kBAAU,EAAC,wBAAwB,CAAC,CAAC;QAE7D,IAAI,eAAe,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,2BAAkB,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAEzH,IAAI,QAAQ,GAAU,EAAE,CAAA;QAExB,MAAM,OAAO,CAAC,GAAG,CACb,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC/B,MAAM,SAAS,GAAG,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC;YACxC,MAAM,WAAW,GAAG,IAAI,EAAE,aAAa,IAAI,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC;YAE1C,MAAM,eAAe,GAAG,IAAA,0BAAe,EAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAClF,MAAM,WAAW,GAAG,IAAA,sBAAW,EAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAA;YAErG,IAAI,gBAAgB,GAAU,EAAE,CAAA;YAChC,IAAI,YAAY,GAAU,EAAE,CAAA;YAE5B,kBAAkB;YAClB,IAAI,UAAU,EAAE,CAAC;gBACb,gBAAgB,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;YAED,4BAA4B;YAC5B,IAAI,WAAW,EAAE,CAAC;gBACd,YAAY,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC;gBACV,GAAG,IAAI;gBACP,QAAQ,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAChE,IAAI,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;aACvD,CAAC,CAAA;QAEN,CAAC,CAAC,CACL,CAAC;QAEF,OAAO,QAAQ,CAAA;IAEnB,CAAC,CAAC;IAEF,+BAA+B;IAC/B,8CAA8C;IAC9C,IAAI;IAEJ,WAAW;IACX,qBAAqB;IACrB,wBAAwB;IACxB,wBAAwB;IACxB,yBAAyB;IACzB,sBAAsB;IACtB,sHAAsH;IACtH,mGAAmG;IACnG,4GAA4G;IAC5G,4GAA4G;IAC5G,+GAA+G;IAC/G,yGAAyG;IACzG,IAAI;IAEJ,MAAM,aAAa,GAAG;QAClB,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,UAAU,EAAE,eAAe,CAAU,EAAE,UAAU,EAAE,aAAa,EAAE;QACjH,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,UAAU,EAAE,eAAe,CAAU,EAAE,UAAU,EAAE,eAAe,EAAE;QACvH,aAAa,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,UAAU,CAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE;QACzG,aAAa,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,UAAU,CAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE;QACzG,cAAc,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,UAAU,CAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE;KAC/G,CAAC;IAEF,OAAO,IAAA,oBAAc,EAAC,gBAAgB,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;AAEjE,CAAC,CAAA;AAhZY,QAAA,cAAc,kBAgZ1B","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport { z } from \"zod\";\n\nimport {\n ModelUserFields,\n ModelAccountFields,\n AccountModel,\n ModelUserBranchFields,\n ModelBusinessFields,\n ModelAreaFields,\n ModelStateFields,\n ModelCountryFields,\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nimport { ServiceFactory } from \"@/lib\"\n\nimport {\n BusinessService,\n BusinessCreateProps,\n UserService,\n UserCreateProps,\n AccessKeyService\n} from \"@/services\";\n\nexport type AccountServiceProps = DefaultServiceProps & {};\n\nexport type AccountGetProps = QueryGet & {\n id: number,\n // datatypes: AccountDataType[]\n};\n\nexport type AccountListProps = QueryList & {\n // datatypes: AccountDataType[]\n};\n\nexport type AccountRemoveProps = {\n accountIds: BigInt[]\n};\n\nexport type Account = {\n accountId: number,\n name: string,\n accountCode?: string, // optional - skip for auto generation\n businessId: number,\n ownerUserId: number,\n status: boolean\n}\n\nexport type AccountCreateProps = {\n data: Omit<Account, \"accountId\" | \"businessId\" | \"ownerUserId\"> & {\n administrator: Omit<UserCreateProps[\"data\"][\"user\"], \"status\">,\n business: Omit<BusinessCreateProps[\"data\"], \"status\">\n }\n}\n\nexport type AccountUpdateProps = {\n accountId: number,\n data: Omit<Account, \"accountId\" | \"ownerUserId\">\n}\n\nconst getCreatePayload = (data: AccountCreateProps[\"data\"], accountCode: string = \"\") => {\n\n return {\n [`${ModelAccountFields.name}`]: data.name,\n [`${ModelAccountFields.status}`]: Boolean(data.status),\n [`${ModelAccountFields.account_code}`]: accountCode\n }\n\n}\n\nconst getCreateUpdatePayload = (businessId: number, ownerUserId: number) => {\n\n return {\n // [`${ModelAccountFields.account_id}`]: data.accountId,\n [`${ModelAccountFields.business_id}`]: businessId,\n [`${ModelAccountFields.owner_user_id}`]: ownerUserId,\n }\n\n}\n\nconst getUpdatePayload = (data: AccountUpdateProps[\"data\"], accountCode: string = \"\") => {\n\n return {\n // [`${ModelAccountFields.account_id}`]: accoundId,\n [`${ModelAccountFields.business_id}`]: data.businessId,\n [`${ModelAccountFields.name}`]: data.name,\n ...(accountCode ? { [`${ModelAccountFields.account_code}`]: data.accountCode } : {}),\n [`${ModelAccountFields.status}`]: Boolean(data.status)\n }\n\n}\n\nlet mainSqlSelect = {\n [`acc.${ModelAccountFields.account_id}`]: \"account_id\",\n [`acc.${ModelAccountFields.business_id}`]: \"business_id\",\n [`acc.${ModelAccountFields.name}`]: \"name\",\n [`acc.${ModelAccountFields.account_code}`]: \"account_code\",\n [`acc.${ModelAccountFields.status}`]: \"account_status\",\n}\n\nlet businessSqlSelect = {\n [`bus.${ModelBusinessFields.address_1}`]: \"address_1\",\n [`bus.${ModelBusinessFields.address_2}`]: \"address_2\",\n [`bus.${ModelBusinessFields.company_contact}`]: \"company_contact\",\n [`bus.${ModelBusinessFields.company_name}`]: \"company_name\",\n [`bus.${ModelBusinessFields.email}`]: \"email\",\n [`bus.${ModelBusinessFields.area_id}`]: \"area_id\",\n [`bussarea.${ModelAreaFields.area_name}`]: \"area_name\",\n [`bus.${ModelBusinessFields.state_id}`]: \"state_id\",\n [`bussstate.${ModelStateFields.state_name}`]: \"state_name\",\n [`busscoun.${ModelCountryFields.country_name}`]: \"country_name\",\n [`bus.${ModelBusinessFields.country_id}`]: \"country_id\",\n [`bus.${ModelBusinessFields.postcode}`]: \"postcode\",\n [`bus.${ModelBusinessFields.registration_number}`]: \"registration_number\",\n [`bus.${ModelBusinessFields.status}`]: \"business_status\",\n [`bus.${ModelBusinessFields.website}`]: \"website\",\n}\n\nlet ownerSqlSelectItem = {\n [`usrowner.${ModelUserFields.user_id}`]: \"user_id\",\n [`usrowner.${ModelUserFields.login_username}`]: \"login_username\",\n [`usrowner.${ModelUserFields.user_type}`]: \"user_type\",\n [`usrowner.${ModelUserFields.firstname}`]: \"firstname\",\n [`usrowner.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usrowner.${ModelUserFields.contact_country_code}, usrowner.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usrowner.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usrowner.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usrowner.${ModelUserFields.email}`]: \"email\",\n [`usrowner.${ModelUserFields.address}`]: \"address\",\n [`usrowner.${ModelUserFields.status}`]: \"status\",\n}\n\nlet ownerSqlSelect = {\n [`COALESCE(\n JSONB_BUILD_OBJECT(\n ${Object.entries(ownerSqlSelectItem).map(([key, alias]) => `'${alias}', ${key}`).join(\", \")}\n ),\n '{}'::jsonb\n )`]: \"owner\"\n}\n\nlet defaultSqlSelect = {\n [`acc.${ModelAccountFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`acc.${ModelAccountFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`acc.${ModelAccountFields.isdelete}`]: \"isdelete\",\n [`acc.${ModelAccountFields.istrash}`]: \"istrash\",\n [`acc.${ModelAccountFields.accountid}`]: \"accountid\",\n}\n\n// Example reserved words for subdomains (account code)\nexport const accountCodeReservedWords = [\n \"www\", \"web\", \"api\", \"admin\", \"app\", \"mail\", \"support\", \"help\", \"docs\", \"dashboard\",\n \"billing\", \"login\", \"logout\", \"signup\", \"register\", \"auth\", \"account\", \"user\", \"users\", \"team\",\n \"teams\", \"settings\", \"config\", \"configuration\", \"system\", \"internal\", \"status\", \"test\", \"demo\", \"staging\",\n \"dev\", \"development\", \"prod\", \"production\", \"root\", \"home\", \"index\", \"static\", \"assets\", \"public\",\n \"beta\", \"alpha\", \"sandbox\", \"trial\", \"guest\", \"owner\", \"manager\", \"administrator\", \"moderator\", \"operator\",\n \"service\", \"api-docs\", \"portal\", \"console\", \"control\", \"ops\", \"supportdesk\", \"helpdesk\", \"contact\", \"feedback\",\n \"security\", \"privacy\", \"terms\", \"policy\", \"legal\", \"about\", \"company\", \"teaminfo\", \"partners\", \"affiliates\",\n \"news\", \"blog\", \"media\", \"press\", \"events\", \"calendar\", \"forum\", \"community\", \"chat\", \"messaging\",\n \"notifications\", \"alerts\", \"reports\", \"analytics\", \"metrics\", \"logs\", \"history\", \"archive\", \"backup\", \"restore\",\n \"files\", \"documents\", \"resources\", \"library\", \"gallery\", \"images\", \"videos\", \"downloads\", \"uploads\", \"templates\"\n];\n\n// Zod schema for subdomain (account code)\nexport const accountCodeSchema = z\n .string()\n .min(5, { message: \"Account code must be at least 5 characters\" })\n .max(63, { message: \"Account code must be at most 63 characters\" })\n .regex(\n /^[a-z0-9]([a-z0-9-]{3,61}[a-z0-9])$/,\n // Regex explanation:\n // ^[a-z0-9] -> first character must be a lowercase letter or number\n // ([a-z0-9-]{3,61} -> middle characters can be letters, numbers, or hyphens, 3–61 characters\n // [a-z0-9])$ -> last character must be a lowercase letter or number\n // Total length = 5–63 characters, no special symbols except hyphen in the middle\n \"Account code can only contain lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen\"\n )\n .transform((val) => val.toLowerCase().trim()) // normalize\n .refine((val) => !accountCodeReservedWords.includes(val), {\n message: \"This account code is reserved. Please choose another one\",\n });\n\nexport const AccountService = (props: AccountServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const accountModel = AccountModel({ ...rest })\n const accessKeyService = AccessKeyService({ ...rest, accessKeyUserType: \"administrator\" })\n\n // generate account code (`{random 5 digit}{first 7 digit of timestamp}`)\n function generateAccountCode(): string {\n const timestamp = Date.now().toString();\n const last7 = timestamp.slice(-7); // last 7 digits of timestamp\n const prefix = Math.floor(Math.random() * 100000) // 0–99999\n .toString()\n .padStart(5, \"0\"); // ensure 5 digits\n return prefix + last7;\n }\n\n const checkAccoutCodeIsUsed = async (\n accountCode: Account[\"accountCode\"],\n selfAccountId?: Account[\"accountId\"]\n ) => {\n\n const { data } = await listAccounts({\n limit: 1,\n offset: 0,\n sortfield: `${ModelAccountFields.account_id}`,\n sortorder: \"ASC\",\n filters: [{\n field: `${ModelAccountFields.account_code}`,\n operator: \"=\",\n value: accountCode\n }],\n datatypes: []\n })\n\n if (data.length <= 0) return false\n\n if (selfAccountId) {\n\n if (Number(data[0].account_id) === Number(selfAccountId)) {\n return false\n } else {\n return true\n }\n\n } else {\n\n return true\n }\n\n }\n\n const validateAccountCodeIsUsed = async (accountCode: string) => {\n\n const accountCodeIsUsed = await checkAccoutCodeIsUsed(accountCode)\n\n if (accountCodeIsUsed === true) {\n throwError(`Account code has been used: ${accountCode}`)\n }\n\n }\n\n const validateAccountCodeFormat = (accountCode: string) => {\n try {\n return accountCodeSchema.parse(accountCode); // throws if invalid\n } catch (err) {\n if (err instanceof z.ZodError) {\n throw new Error(\n `Invalid account code: \"${accountCode}\". ` +\n err.errors.map((e) => e.message).join(\"; \")\n );\n }\n throw err;\n }\n };\n\n const createAccount = async ({ data }: AccountCreateProps) => {\n\n const administratorData = data?.administrator ?? {}\n\n // pre validation first\n if (administratorData?.contact) {\n\n const validateUserService = UserService({ ...rest, userType: \"administrator\" })\n\n // validate the contact\n await validateUserService.validateUserContact(administratorData.contact.countryCode, administratorData.contact.phoneNumber)\n\n }\n\n let accountCode = data?.accountCode ?? \"\";\n\n // auto generate if not specify\n if (accountCode === \"\") {\n accountCode = generateAccountCode()\n }\n\n // validate the account code format\n validateAccountCodeFormat(accountCode)\n\n // check account code cannot duplicated\n await validateAccountCodeIsUsed(accountCode)\n\n // create account\n const _data = getCreatePayload(data, accountCode)\n\n if (!_data) {\n throw new Error(`Invalid create account payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await accountModel.create({ data: _data })\n\n const newAccountId = response?.account_id ?? 0\n\n const businessService = BusinessService({ ...rest, accountId: Number(newAccountId) })\n const userService = UserService({ ...rest, accountId: Number(newAccountId), userType: \"administrator\" })\n\n let accountBusinessId = 0\n let accountUserId = 0\n let accountId = 0\n\n // create user(administrator)\n if (administratorData?.loginUsername) {\n\n let userData = administratorData\n\n let userPayload: UserCreateProps = {\n userType: \"administrator\",\n data: {\n user: {\n address: userData.address,\n contact: {\n countryCode: userData.contact.countryCode,\n phoneNumber: userData.contact.phoneNumber\n },\n email: userData.email,\n firstname: userData.firstname,\n lastname: userData.lastname,\n loginPassword: userData.loginPassword,\n loginUsername: userData.loginUsername,\n status: true // always true for first time\n },\n administrator: {\n isOwner: true // first create must be owner\n },\n props: {\n locationIds: []\n }\n }\n }\n\n const responseOwner = await userService.createUser(userPayload)\n\n accountUserId = Number(responseOwner?.user_id) ?? 0\n accountId = Number(responseOwner?.accountid) ?? 0\n\n }\n\n // create default administrator access key\n await accessKeyService.createAccessKey({\n data: {\n userId: accountUserId,\n isDefault: true,\n overrideAccountId: accountId\n }\n })\n\n // create business\n if (data?.business) {\n\n let businessData = data?.business ?? {}\n\n let businessPayload: BusinessCreateProps = {\n data: {\n address1: businessData.address1,\n address2: businessData.address2,\n areaId: businessData.areaId,\n companyContact: businessData.companyContact,\n companyName: businessData.companyName,\n countryId: businessData.countryId,\n email: businessData.email,\n postcode: businessData.postcode,\n registrationNumber: businessData.registrationNumber,\n stateId: businessData.stateId,\n website: businessData.website,\n status: true // always true for first time\n }\n }\n\n const responseBusiness = await businessService.createBusiness(businessPayload)\n\n accountBusinessId = Number(responseBusiness?.business_id) ?? 0\n\n }\n\n // update account for additional info\n const createUpdatedata = getCreateUpdatePayload(accountBusinessId, accountUserId)\n\n if (!createUpdatedata) {\n throw new Error(`Invalid create update account payload: ${JSON.stringify(_data)}`);\n }\n\n await accountModel.update({ id: Number(newAccountId), data: createUpdatedata })\n\n return await getAccount({ id: Number(newAccountId), datatypes: [] })\n }\n\n const updateAccount = async ({ accountId, data }: AccountUpdateProps) => {\n\n // only operator token/access key allowed to access\n // if (rest.isOperator !== true) throwError(`Only operator token/access key allowed to perform`)\n\n let accountCode = data?.accountCode ?? \"\";\n\n // check the override account code needed\n if (accountCode) {\n\n // validate the account code format\n validateAccountCodeFormat(accountCode)\n\n // check account code cannot duplicated\n await validateAccountCodeIsUsed(accountCode)\n }\n\n // const accountCodeIsUsed = await checkAccoutCodeIsUsed(data.accountCode, accountId)\n\n // if (accountCodeIsUsed === true) throwError(`Account code has been used: ${data.accountCode}`)\n\n const _data = getUpdatePayload(data, accountCode)\n\n if (!_data) {\n throw new Error(`Invalid update account payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await accountModel.update({ where: { [`${ModelAccountFields.account_id}`]: accountId }, data: _data })\n\n return await getAccount({ id: accountId, datatypes: [] })\n }\n\n const getAccount = async ({ id, datatypes = [] }: AccountGetProps) => {\n\n // only operator token/access key allowed to access\n // if (rest.isOperator !== true) throwError(`Only operator token/access key allowed to perform`)\n\n let { data } = await listAccounts({\n limit: 1,\n offset: 0,\n filters: [{ field: \"account_id\", operator: \"=\", value: id }],\n sortfield: \"account_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listAccounts = async ({ limit, offset, filters = [], sortfield, sortorder, datatypes = [] }: AccountListProps) => {\n\n // only operator token/access key allowed to access\n // if (rest.isOperator !== true) throwError(`Only operator token/access key allowed to perform`)\n\n let data = []\n\n let sqlSelect = [\n `COUNT(acc.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, businessSqlSelect),\n buildSqlSelect(``, ownerSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"acc\", \"businesses\", \"bus\", [\"acc.business_id = bus.business_id\", \"bus.isdelete = false\", \"bus.istrash = false\"]),\n buildSqlRelation(\"left\", \"bus\", \"states\", \"bussstate\", [\"bus.state_id = bussstate.state_id\", \"bussstate.isdelete = false\", \"bussstate.istrash = false\"]),\n buildSqlRelation(\"left\", \"bus\", \"countries\", \"busscoun\", [\"bus.country_id = busscoun.country_id\", \"busscoun.isdelete = false\", \"busscoun.istrash = false\"]),\n buildSqlRelation(\"left\", \"bus\", \"areas\", \"bussarea\", [\"bus.area_id = bussarea.area_id\", \"bussarea.isdelete = false\", \"bussarea.istrash = false\"]),\n buildSqlRelation(\"left\", \"acc\", \"users\", \"usrowner\", [\"acc.owner_user_id = usrowner.user_id\", \"usrowner.isdelete = false\", \"usrowner.istrash = false\"]),\n buildSqlRelation(\"left\", \"acc\", \"users\", \"creator\", [\"acc.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"acc\", \"users\", \"updater\", [\"acc.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(businessSqlSelect),\n ...Object.keys(ownerSqlSelectItem),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = { ...mainSqlSelect, ...businessSqlSelect, ...ownerSqlSelectItem, ...defaultSqlSelect }\n\n let sqlWhere = [\n `acc.isdelete = false`,\n `acc.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"accounts\",\n mainAlias: \"acc\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset,\n skipFilterAccountId: Boolean(rest.isOperator === true)\n })\n\n data = await accountModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeAccounts = async ({ accountIds }: AccountRemoveProps) => {\n\n // only operator token/access key allowed to access\n // if (rest.isOperator !== true) throwError(`Only operator token/access key allowed to perform`)\n\n if (!accountIds.length) throwError('accountIds is required');\n\n let accountResponse = await accountModel.remove({ where: { [`${ModelAccountFields.account_id}`]: { in: accountIds } } });\n\n let response: any[] = []\n\n await Promise.all(\n accountResponse.map(async (item) => {\n const accountId = item?.account_id ?? 0;\n const ownerUserId = item?.owner_user_id ?? 0;\n const businessId = item?.business_id ?? 0;\n\n const businessService = BusinessService({ ...rest, accountId: Number(accountId) })\n const userService = UserService({ ...rest, accountId: Number(accountId), userType: \"administrator\" })\n\n let responseBusiness: any[] = []\n let responseUser: any[] = []\n\n // remove business\n if (businessId) {\n responseBusiness = await businessService.removeBusinesses({ businessIds: [BigInt(businessId)] });\n }\n\n // remove user administrator\n if (ownerUserId) {\n responseUser = await userService.removeUsers({ ids: [BigInt(ownerUserId)] });\n }\n\n response.push({\n ...item,\n business: responseBusiness.length > 0 ? responseBusiness[0] : {},\n user: responseUser.length > 0 ? responseUser[0] : {}\n })\n\n })\n );\n\n return response\n\n };\n\n // const getDataTypes = () => {\n // return Object.values(accountDataTypes);\n // }\n\n // return {\n // // getAccount,\n // // createAccount,\n // // updateAccount,\n // // removeAccounts,\n // // listAccounts\n // // validateAccountCodeIsUsed: ServiceFactory(validateAccountCodeIsUsed, rest, \"validate account code is used\"),\n // getAccount: ServiceFactory([\"operator\"], \"AccountService\", getAccount, rest, \"get account\"),\n // createAccount: ServiceFactory([\"operator\"], \"AccountService\", createAccount, rest, \"create account\"),\n // updateAccount: ServiceFactory([\"operator\"], \"AccountService\", updateAccount, rest, \"update account\"),\n // removeAccounts: ServiceFactory([\"operator\"], \"AccountService\", removeAccounts, rest, \"remove accounts\"),\n // listAccounts: ServiceFactory([\"operator\"], \"AccountService\", listAccounts, rest, \"list accounts\"),\n // }\n\n const methodConfigs = {\n getAccount: { fn: getAccount, allowUserTypes: [\"operator\", \"administrator\"] as const, actionName: \"get account\" },\n listAccounts: { fn: listAccounts, allowUserTypes: [\"operator\", \"administrator\"] as const, actionName: \"list accounts\" },\n createAccount: { fn: createAccount, allowUserTypes: [\"operator\"] as const, actionName: \"create account\" },\n updateAccount: { fn: updateAccount, allowUserTypes: [\"operator\"] as const, actionName: \"update account\" },\n removeAccounts: { fn: removeAccounts, allowUserTypes: [\"operator\"] as const, actionName: \"remove accounts\" },\n };\n\n return ServiceFactory(\"AccountService\", rest, methodConfigs);\n\n}\n\n"]}
1
+ {"version":3,"file":"AccountService.js","sourceRoot":"","sources":["../../../src/services/account/AccountService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport { z } from \"zod\";\n\nimport {\n ModelUserFields,\n ModelAccountFields,\n AccountModel,\n ModelUserBranchFields,\n ModelBusinessFields,\n ModelAreaFields,\n ModelStateFields,\n ModelCountryFields,\n UserModel,\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nimport { ServiceFactory } from \"@/lib\"\n\nimport {\n BusinessService,\n BusinessCreateProps,\n UserService,\n UserCreateProps,\n AccessKeyService\n} from \"@/services\";\n\nexport type AccountServiceProps = DefaultServiceProps & {};\n\nexport type AccountGetProps = QueryGet & {\n id: number,\n // datatypes: AccountDataType[]\n};\n\nexport type AccountListProps = QueryList & {\n // datatypes: AccountDataType[]\n};\n\nexport type AccountRemoveProps = {\n accountIds: BigInt[]\n};\n\nexport type Account = {\n accountId: number,\n name: string,\n accountCode?: string, // optional - skip for auto generation\n businessId: number,\n ownerUserId: number,\n status: boolean\n}\n\nexport type AccountCreateProps = {\n data: Omit<Account, \"accountId\" | \"businessId\" | \"ownerUserId\"> & {\n administrator: Omit<UserCreateProps[\"data\"][\"user\"], \"status\">,\n business: Omit<BusinessCreateProps[\"data\"], \"status\">\n }\n}\n\nexport type AccountUpdateProps = {\n accountId: number,\n data: Omit<Account, \"accountId\" | \"ownerUserId\">\n}\n\nconst getCreatePayload = (data: AccountCreateProps[\"data\"], accountCode: string = \"\") => {\n\n return {\n [`${ModelAccountFields.name}`]: data.name,\n [`${ModelAccountFields.status}`]: Boolean(data.status),\n [`${ModelAccountFields.account_code}`]: accountCode\n }\n\n}\n\nconst getCreateUpdatePayload = (businessId: number, ownerUserId: number) => {\n\n return {\n // [`${ModelAccountFields.account_id}`]: data.accountId,\n [`${ModelAccountFields.business_id}`]: businessId,\n [`${ModelAccountFields.owner_user_id}`]: ownerUserId,\n }\n\n}\n\nconst getUpdatePayload = (data: AccountUpdateProps[\"data\"], accountCode: string = \"\") => {\n\n return {\n // [`${ModelAccountFields.account_id}`]: accoundId,\n [`${ModelAccountFields.business_id}`]: data.businessId,\n [`${ModelAccountFields.name}`]: data.name,\n ...(accountCode ? { [`${ModelAccountFields.account_code}`]: data.accountCode } : {}),\n [`${ModelAccountFields.status}`]: Boolean(data.status)\n }\n\n}\n\nlet mainSqlSelect = {\n [`acc.${ModelAccountFields.account_id}`]: \"account_id\",\n [`acc.${ModelAccountFields.business_id}`]: \"business_id\",\n [`acc.${ModelAccountFields.name}`]: \"name\",\n [`acc.${ModelAccountFields.account_code}`]: \"account_code\",\n [`acc.${ModelAccountFields.status}`]: \"account_status\",\n}\n\nlet businessSqlSelect = {\n [`bus.${ModelBusinessFields.address_1}`]: \"address_1\",\n [`bus.${ModelBusinessFields.address_2}`]: \"address_2\",\n [`bus.${ModelBusinessFields.company_contact}`]: \"company_contact\",\n [`bus.${ModelBusinessFields.company_name}`]: \"company_name\",\n [`bus.${ModelBusinessFields.email}`]: \"email\",\n [`bus.${ModelBusinessFields.area_id}`]: \"area_id\",\n [`bussarea.${ModelAreaFields.area_name}`]: \"area_name\",\n [`bus.${ModelBusinessFields.state_id}`]: \"state_id\",\n [`bussstate.${ModelStateFields.state_name}`]: \"state_name\",\n [`busscoun.${ModelCountryFields.country_name}`]: \"country_name\",\n [`bus.${ModelBusinessFields.country_id}`]: \"country_id\",\n [`bus.${ModelBusinessFields.postcode}`]: \"postcode\",\n [`bus.${ModelBusinessFields.registration_number}`]: \"registration_number\",\n [`bus.${ModelBusinessFields.status}`]: \"business_status\",\n [`bus.${ModelBusinessFields.website}`]: \"website\",\n}\n\nlet ownerSqlSelectItem = {\n [`usrowner.${ModelUserFields.user_id}`]: \"user_id\",\n [`usrowner.${ModelUserFields.login_username}`]: \"login_username\",\n [`usrowner.${ModelUserFields.user_type}`]: \"user_type\",\n [`usrowner.${ModelUserFields.firstname}`]: \"firstname\",\n [`usrowner.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usrowner.${ModelUserFields.contact_country_code}, usrowner.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usrowner.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usrowner.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usrowner.${ModelUserFields.email}`]: \"email\",\n [`usrowner.${ModelUserFields.address}`]: \"address\",\n [`usrowner.${ModelUserFields.status}`]: \"status\",\n}\n\nlet ownerSqlSelect = {\n [`COALESCE(\n JSONB_BUILD_OBJECT(\n ${Object.entries(ownerSqlSelectItem).map(([key, alias]) => `'${alias}', ${key}`).join(\", \")}\n ),\n '{}'::jsonb\n )`]: \"owner\"\n}\n\nlet defaultSqlSelect = {\n [`acc.${ModelAccountFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`acc.${ModelAccountFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`acc.${ModelAccountFields.isdelete}`]: \"isdelete\",\n [`acc.${ModelAccountFields.istrash}`]: \"istrash\",\n [`acc.${ModelAccountFields.accountid}`]: \"accountid\",\n}\n\n// Example reserved words for subdomains (account code)\nexport const accountCodeReservedWords = [\n \"www\", \"web\", \"api\", \"admin\", \"app\", \"mail\", \"support\", \"help\", \"docs\", \"dashboard\",\n \"billing\", \"login\", \"logout\", \"signup\", \"register\", \"auth\", \"account\", \"user\", \"users\", \"team\",\n \"teams\", \"settings\", \"config\", \"configuration\", \"system\", \"internal\", \"status\", \"test\", \"demo\", \"staging\",\n \"dev\", \"development\", \"prod\", \"production\", \"root\", \"home\", \"index\", \"static\", \"assets\", \"public\",\n \"beta\", \"alpha\", \"sandbox\", \"trial\", \"guest\", \"owner\", \"manager\", \"administrator\", \"moderator\", \"operator\",\n \"service\", \"api-docs\", \"portal\", \"console\", \"control\", \"ops\", \"supportdesk\", \"helpdesk\", \"contact\", \"feedback\",\n \"security\", \"privacy\", \"terms\", \"policy\", \"legal\", \"about\", \"company\", \"teaminfo\", \"partners\", \"affiliates\",\n \"news\", \"blog\", \"media\", \"press\", \"events\", \"calendar\", \"forum\", \"community\", \"chat\", \"messaging\",\n \"notifications\", \"alerts\", \"reports\", \"analytics\", \"metrics\", \"logs\", \"history\", \"archive\", \"backup\", \"restore\",\n \"files\", \"documents\", \"resources\", \"library\", \"gallery\", \"images\", \"videos\", \"downloads\", \"uploads\", \"templates\"\n];\n\n// Zod schema for subdomain (account code)\nexport const accountCodeSchema = z\n .string()\n .min(5, { message: \"Account code must be at least 5 characters\" })\n .max(63, { message: \"Account code must be at most 63 characters\" })\n .regex(\n /^[a-z0-9]([a-z0-9-]{3,61}[a-z0-9])$/,\n // Regex explanation:\n // ^[a-z0-9] -> first character must be a lowercase letter or number\n // ([a-z0-9-]{3,61} -> middle characters can be letters, numbers, or hyphens, 3–61 characters\n // [a-z0-9])$ -> last character must be a lowercase letter or number\n // Total length = 5–63 characters, no special symbols except hyphen in the middle\n \"Account code can only contain lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen\"\n )\n .transform((val) => val.toLowerCase().trim()) // normalize\n .refine((val) => !accountCodeReservedWords.includes(val), {\n message: \"This account code is reserved. Please choose another one\",\n });\n\nexport const AccountService = (props: AccountServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const accountModel = AccountModel({ ...rest })\n const accessKeyService = AccessKeyService({ ...rest, accessKeyUserType: \"administrator\" })\n\n // generate account code (`{random 5 digit}{first 7 digit of timestamp}`)\n function generateAccountCode(): string {\n const timestamp = Date.now().toString();\n const last7 = timestamp.slice(-7); // last 7 digits of timestamp\n const prefix = Math.floor(Math.random() * 100000) // 0–99999\n .toString()\n .padStart(5, \"0\"); // ensure 5 digits\n return prefix + last7;\n }\n\n const checkAccoutCodeIsUsed = async (\n accountCode: Account[\"accountCode\"],\n selfAccountId?: Account[\"accountId\"]\n ) => {\n\n const { data } = await listAccounts({\n limit: 1,\n offset: 0,\n sortfield: `${ModelAccountFields.account_id}`,\n sortorder: \"ASC\",\n filters: [{\n field: `${ModelAccountFields.account_code}`,\n operator: \"=\",\n value: accountCode\n }],\n datatypes: []\n })\n\n if (data.length <= 0) return false\n\n if (selfAccountId) {\n\n if (Number(data[0].account_id) === Number(selfAccountId)) {\n return false\n } else {\n return true\n }\n\n } else {\n\n return true\n }\n\n }\n\n const validateAccountCodeIsUsed = async (accountCode: string) => {\n\n const accountCodeIsUsed = await checkAccoutCodeIsUsed(accountCode)\n\n if (accountCodeIsUsed === true) {\n throwError(`Account code has been used: ${accountCode}`)\n }\n\n }\n\n const validateAccountCodeFormat = (accountCode: string) => {\n try {\n return accountCodeSchema.parse(accountCode); // throws if invalid\n } catch (err) {\n if (err instanceof z.ZodError) {\n throw new Error(\n `Invalid account code: \"${accountCode}\". ` +\n err.errors.map((e) => e.message).join(\"; \")\n );\n }\n throw err;\n }\n };\n\n const createAccount = async ({ data }: AccountCreateProps) => {\n\n const administratorData = data?.administrator ?? {}\n\n // pre validation first\n if (administratorData?.contact) {\n\n const validateUserService = UserService({ ...rest, userType: \"administrator\" })\n\n // validate the contact\n await validateUserService.validateUserContact(administratorData.contact.countryCode, administratorData.contact.phoneNumber)\n\n }\n\n let accountCode = data?.accountCode ?? \"\";\n\n // auto generate if not specify\n if (accountCode === \"\") {\n accountCode = generateAccountCode()\n }\n\n // validate the account code format\n validateAccountCodeFormat(accountCode)\n\n // check account code cannot duplicated\n await validateAccountCodeIsUsed(accountCode)\n\n // create account\n const _data = getCreatePayload(data, accountCode)\n\n if (!_data) {\n throw new Error(`Invalid create account payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await accountModel.create({ data: _data })\n\n const newAccountId = response?.account_id ?? 0\n\n const businessService = BusinessService({ ...rest, accountId: Number(newAccountId) })\n const userService = UserService({ ...rest, accountId: Number(newAccountId), userType: \"administrator\" })\n\n let accountBusinessId = 0\n let accountUserId = 0\n let accountId = 0\n\n // create user(administrator)\n if (administratorData?.loginUsername) {\n\n let userData = administratorData\n\n let userPayload: UserCreateProps = {\n userType: \"administrator\",\n data: {\n user: {\n address: userData.address,\n contact: {\n countryCode: userData.contact.countryCode,\n phoneNumber: userData.contact.phoneNumber\n },\n email: userData.email,\n firstname: userData.firstname,\n lastname: userData.lastname,\n loginPassword: userData.loginPassword,\n loginUsername: userData.loginUsername,\n status: true // always true for first time\n },\n administrator: {\n isOwner: true // first create must be owner\n },\n props: {\n locationIds: []\n }\n }\n }\n\n const responseOwner = await userService.createUser(userPayload)\n\n accountUserId = Number(responseOwner?.user_id) ?? 0\n accountId = Number(responseOwner?.accountid) ?? 0\n\n }\n\n // create default administrator access key\n await accessKeyService.createAccessKey({\n data: {\n userId: accountUserId,\n isDefault: true,\n overrideAccountId: accountId\n }\n })\n\n // create business\n if (data?.business) {\n\n let businessData = data?.business ?? {}\n\n let businessPayload: BusinessCreateProps = {\n data: {\n address1: businessData.address1,\n address2: businessData.address2,\n areaId: businessData.areaId,\n companyContact: businessData.companyContact,\n companyName: businessData.companyName,\n countryId: businessData.countryId,\n email: businessData.email,\n postcode: businessData.postcode,\n registrationNumber: businessData.registrationNumber,\n stateId: businessData.stateId,\n website: businessData.website,\n status: true // always true for first time\n }\n }\n\n const responseBusiness = await businessService.createBusiness(businessPayload)\n\n accountBusinessId = Number(responseBusiness?.business_id) ?? 0\n\n }\n\n // update account for additional info\n const createUpdatedata = getCreateUpdatePayload(accountBusinessId, accountUserId)\n\n if (!createUpdatedata) {\n throw new Error(`Invalid create update account payload: ${JSON.stringify(_data)}`);\n }\n\n await accountModel.update({ id: Number(newAccountId), data: createUpdatedata })\n\n return await getAccount({ id: Number(newAccountId), datatypes: [] })\n }\n\n const updateAccount = async ({ accountId, data }: AccountUpdateProps) => {\n\n // only operator token/access key allowed to access\n // if (rest.isOperator !== true) throwError(`Only operator token/access key allowed to perform`)\n\n let accountCode = data?.accountCode ?? \"\";\n\n // check the override account code needed\n if (accountCode) {\n\n // validate the account code format\n validateAccountCodeFormat(accountCode)\n\n // check account code cannot duplicated\n await validateAccountCodeIsUsed(accountCode)\n }\n\n // const accountCodeIsUsed = await checkAccoutCodeIsUsed(data.accountCode, accountId)\n\n // if (accountCodeIsUsed === true) throwError(`Account code has been used: ${data.accountCode}`)\n\n const _data = getUpdatePayload(data, accountCode)\n\n if (!_data) {\n throw new Error(`Invalid update account payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await accountModel.update({ where: { [`${ModelAccountFields.account_id}`]: accountId }, data: _data })\n\n return await getAccount({ id: accountId, datatypes: [] })\n }\n\n const getAccount = async ({ id, datatypes = [] }: AccountGetProps) => {\n\n // only operator token/access key allowed to access\n // if (rest.isOperator !== true) throwError(`Only operator token/access key allowed to perform`)\n\n let { data } = await listAccounts({\n limit: 1,\n offset: 0,\n filters: [{ field: \"account_id\", operator: \"=\", value: id }],\n sortfield: \"account_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listAccounts = async ({ limit, offset, filters = [], sortfield, sortorder, datatypes = [] }: AccountListProps) => {\n\n // only operator token/access key allowed to access\n // if (rest.isOperator !== true) throwError(`Only operator token/access key allowed to perform`)\n\n let data = []\n\n let sqlSelect = [\n `COUNT(acc.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, businessSqlSelect),\n buildSqlSelect(``, ownerSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"acc\", \"businesses\", \"bus\", [\"acc.business_id = bus.business_id\", \"bus.isdelete = false\", \"bus.istrash = false\"]),\n buildSqlRelation(\"left\", \"bus\", \"states\", \"bussstate\", [\"bus.state_id = bussstate.state_id\", \"bussstate.isdelete = false\", \"bussstate.istrash = false\"]),\n buildSqlRelation(\"left\", \"bus\", \"countries\", \"busscoun\", [\"bus.country_id = busscoun.country_id\", \"busscoun.isdelete = false\", \"busscoun.istrash = false\"]),\n buildSqlRelation(\"left\", \"bus\", \"areas\", \"bussarea\", [\"bus.area_id = bussarea.area_id\", \"bussarea.isdelete = false\", \"bussarea.istrash = false\"]),\n buildSqlRelation(\"left\", \"acc\", \"users\", \"usrowner\", [\"acc.owner_user_id = usrowner.user_id\", \"usrowner.isdelete = false\", \"usrowner.istrash = false\"]),\n buildSqlRelation(\"left\", \"acc\", \"users\", \"creator\", [\"acc.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"acc\", \"users\", \"updater\", [\"acc.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(businessSqlSelect),\n ...Object.keys(ownerSqlSelectItem),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = { ...mainSqlSelect, ...businessSqlSelect, ...ownerSqlSelectItem, ...defaultSqlSelect }\n\n let sqlWhere = [\n `acc.isdelete = false`,\n `acc.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"accounts\",\n mainAlias: \"acc\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset,\n skipFilterAccountId: Boolean(rest.isOperator === true)\n })\n\n data = await accountModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeAccounts = async ({ accountIds }: AccountRemoveProps) => {\n\n // only operator token/access key allowed to access\n // if (rest.isOperator !== true) throwError(`Only operator token/access key allowed to perform`)\n\n if (!accountIds.length) throwError('accountIds is required');\n\n let accountResponse = await accountModel.remove({ where: { [`${ModelAccountFields.account_id}`]: { in: accountIds } } });\n\n let response: any[] = []\n\n await Promise.all(\n accountResponse.map(async (item) => {\n\n const accountId = item?.account_id ?? 0;\n const ownerUserId = item?.owner_user_id ?? 0;\n const businessId = item?.business_id ?? 0;\n\n const businessService = BusinessService({ ...rest, accountId: Number(accountId) })\n // const userService = UserService({ ...rest, accountId: Number(accountId), userType: \"administrator\" })\n\n const userModel = UserModel({ ...rest })\n\n let responseBusiness: any[] = []\n let responseUser: any[] = []\n\n // remove business\n if (businessId) {\n responseBusiness = await businessService.removeBusinesses({ businessIds: [BigInt(businessId)] });\n }\n\n // remove all users (administrator, etc...)\n if (ownerUserId) {\n\n const responseUsers = await userModel.remove({\n // ids: [Number(ownerUserId)]\n where: {\n [`${ModelUserFields.accountid}`]: accountId\n }\n })\n\n responseUser = responseUsers.map((i: any) => {\n delete i.login_password\n return i\n })\n\n }\n\n response.push({\n ...item,\n business: responseBusiness.length > 0 ? responseBusiness[0] : {},\n users: responseUser\n })\n\n })\n );\n\n return response\n\n };\n\n // const getDataTypes = () => {\n // return Object.values(accountDataTypes);\n // }\n\n // return {\n // // getAccount,\n // // createAccount,\n // // updateAccount,\n // // removeAccounts,\n // // listAccounts\n // // validateAccountCodeIsUsed: ServiceFactory(validateAccountCodeIsUsed, rest, \"validate account code is used\"),\n // getAccount: ServiceFactory([\"operator\"], \"AccountService\", getAccount, rest, \"get account\"),\n // createAccount: ServiceFactory([\"operator\"], \"AccountService\", createAccount, rest, \"create account\"),\n // updateAccount: ServiceFactory([\"operator\"], \"AccountService\", updateAccount, rest, \"update account\"),\n // removeAccounts: ServiceFactory([\"operator\"], \"AccountService\", removeAccounts, rest, \"remove accounts\"),\n // listAccounts: ServiceFactory([\"operator\"], \"AccountService\", listAccounts, rest, \"list accounts\"),\n // }\n\n const methodConfigs = {\n getAccount: { fn: getAccount, allowUserTypes: [\"operator\", \"administrator\"] as const, actionName: \"get account\" },\n listAccounts: { fn: listAccounts, allowUserTypes: [\"operator\", \"administrator\"] as const, actionName: \"list accounts\" },\n createAccount: { fn: createAccount, allowUserTypes: [\"operator\"] as const, actionName: \"create account\" },\n updateAccount: { fn: updateAccount, allowUserTypes: [\"operator\"] as const, actionName: \"update account\" },\n removeAccounts: { fn: removeAccounts, allowUserTypes: [\"operator\"] as const, actionName: \"remove accounts\" },\n };\n\n return ServiceFactory(\"AccountService\", rest, methodConfigs);\n\n}\n\n"]}
@@ -10,7 +10,7 @@ export { AccountService } from "../services/account/AccountService";
10
10
  export type { AccountServiceProps, Account, AccountGetProps, AccountListProps, AccountCreateProps, AccountUpdateProps } from "../services/account/AccountService";
11
11
  export { BusinessService } from "../services/business/BusinessService";
12
12
  export type { BusinessServiceProps, Business, BusinessGetProps, BusinessListProps, BusinessCreateProps, BusinessUpdateProps } from "../services/business/BusinessService";
13
- export { UserService, userTypes } from "../services/user/UserService";
13
+ export { UserService, userTypes, userParentSqlSelect } from "../services/user/UserService";
14
14
  export type { UserServiceProps, UserType, UserGetProps, UserListProps, UserCreateProps, UserUpdateProps, UserRemoveProps, UserReplacePasswordProps } from "../services/user/UserService";
15
15
  export { UserMeService } from "../services/user/UserMeService";
16
16
  export type { UserMeServiceProps, UserMeUpdateProps, UserMeChangePasswordProps } from "../services/user/UserMeService";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AccessKeyUtilService = exports.SmtpEmailService = exports.oneTimeCodeStatus = exports.oneTimeCodePurposeTypes = exports.oneTimeCodeTypes = exports.OneTimeCodeService = exports.NumberDateSequenceService = exports.injectionFieldDataTypes = exports.injectionFieldTypes = exports.InjectionFieldService = exports.LocationService = exports.FileService = exports.itemTypes = exports.ItemService = exports.DocumentService = exports.RegionService = exports.userBranchTypes = exports.UserBranchService = exports.UserMeService = exports.userTypes = exports.UserService = exports.BusinessService = exports.AccountService = exports.resetPasswordMethods = exports.ResetPasswordService = exports.AccessControlService = exports.accessKeyStatus = exports.accessKeyUserTypes = exports.AccessKeyService = exports.authTypes = exports.AuthService = void 0;
3
+ exports.AccessKeyUtilService = exports.SmtpEmailService = exports.oneTimeCodeStatus = exports.oneTimeCodePurposeTypes = exports.oneTimeCodeTypes = exports.OneTimeCodeService = exports.NumberDateSequenceService = exports.injectionFieldDataTypes = exports.injectionFieldTypes = exports.InjectionFieldService = exports.LocationService = exports.FileService = exports.itemTypes = exports.ItemService = exports.DocumentService = exports.RegionService = exports.userBranchTypes = exports.UserBranchService = exports.UserMeService = exports.userParentSqlSelect = exports.userTypes = exports.UserService = exports.BusinessService = exports.AccountService = exports.resetPasswordMethods = exports.ResetPasswordService = exports.AccessControlService = exports.accessKeyStatus = exports.accessKeyUserTypes = exports.AccessKeyService = exports.authTypes = exports.AuthService = void 0;
4
4
  var AuthService_1 = require("../services/auth/AuthService");
5
5
  Object.defineProperty(exports, "AuthService", { enumerable: true, get: function () { return AuthService_1.AuthService; } });
6
6
  Object.defineProperty(exports, "authTypes", { enumerable: true, get: function () { return AuthService_1.authTypes; } });
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "BusinessService", { enumerable: true, get: funct
20
20
  var UserService_1 = require("../services/user/UserService");
21
21
  Object.defineProperty(exports, "UserService", { enumerable: true, get: function () { return UserService_1.UserService; } });
22
22
  Object.defineProperty(exports, "userTypes", { enumerable: true, get: function () { return UserService_1.userTypes; } });
23
+ Object.defineProperty(exports, "userParentSqlSelect", { enumerable: true, get: function () { return UserService_1.userParentSqlSelect; } });
23
24
  var UserMeService_1 = require("../services/user/UserMeService");
24
25
  Object.defineProperty(exports, "UserMeService", { enumerable: true, get: function () { return UserMeService_1.UserMeService; } });
25
26
  // export { AdministratorService, administratorDataTypes } from "../services/user/AdministratorService"
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;AAAA,2DAAoE;AAA3D,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAE/B,2EAA8G;AAArG,oHAAA,gBAAgB,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAE9D,uFAAqF;AAA5E,4HAAA,oBAAoB,OAAA;AAE7B,uFAA2G;AAAlG,4HAAA,oBAAoB,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAEnD,oEAAkE;AAAzD,gHAAA,cAAc,OAAA;AAEvB,uEAAqE;AAA5D,kHAAA,eAAe,OAAA;AAGxB,2DAAoE;AAA3D,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAG/B,+DAA6D;AAApD,8GAAA,aAAa,OAAA;AAGtB,sGAAsG;AACtG,qNAAqN;AACrN,uFAAuF;AACvF,kLAAkL;AAElL,yEAAwF;AAA/E,sHAAA,iBAAiB,OAAA;AAAE,oHAAA,eAAe,OAAA;AAE3C,iEAA+D;AAAtD,8GAAA,aAAa,OAAA;AAEtB,uEAAqE;AAA5D,kHAAA,eAAe,OAAA;AAExB,2DAAoE;AAA3D,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAE/B,2DAAyD;AAAhD,0GAAA,WAAW,OAAA;AAEpB,uEAAqE;AAA5D,kHAAA,eAAe,OAAA;AAExB,0FAAsI;AAA7H,8HAAA,qBAAqB,OAAA;AAAE,4HAAA,mBAAmB,OAAA;AAAE,gIAAA,uBAAuB,OAAA;AAE5E,yFAAuF;AAA9E,sIAAA,yBAAyB,OAAA;AAElC,kFAA8I;AAArI,wHAAA,kBAAkB,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAAE,6HAAA,uBAAuB,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAEzF,wEAAsE;AAA7D,oHAAA,gBAAgB,OAAA;AAGzB,+FAA+F;AAC/F,wIAAwI;AACxI,8EAA4E;AAAnE,4HAAA,oBAAoB,OAAA","sourcesContent":["export { AuthService, authTypes } from \"@/services/auth/AuthService\"\nexport type { AuthServiceProps, AuthType, AuthJwtToken, AuthGetTokenProps } from \"@/services/auth/AuthService\"\nexport { AccessKeyService, accessKeyUserTypes, accessKeyStatus } from \"@/services/access_key/AccessKeyService\"\nexport type { AccessKeyServiceProps, AccessKeyStatus, AccessKeyUserType, AccessKeyCreateProps, AccessKeyRevokeProps } from \"@/services/access_key/AccessKeyService\"\nexport { AccessControlService } from \"@/services/access_control/AccessControlService\"\nexport type { AccessControlServiceProps, AccessControlScopeOrExtra, AccessControlListOptionsProps } from \"@/services/access_control/AccessControlService\"\nexport { ResetPasswordService, resetPasswordMethods } from \"@/services/reset_password/ResetPasswordService\"\nexport type { ResetPasswordServiceProps, ResetPasswordMethod, ResetPasswordRequestProps, ResetPasswordValidateCodeProps, ResetPasswordPerformProps } from \"@/services/reset_password/ResetPasswordService\"\nexport { AccountService } from \"@/services/account/AccountService\"\nexport type { AccountServiceProps, Account, AccountGetProps, AccountListProps, AccountCreateProps, AccountUpdateProps } from \"@/services/account/AccountService\"\nexport { BusinessService } from \"@/services/business/BusinessService\"\nexport type { BusinessServiceProps, Business, BusinessGetProps, BusinessListProps, BusinessCreateProps, BusinessUpdateProps } from \"@/services/business/BusinessService\"\n\nexport { UserService, userTypes } from \"@/services/user/UserService\"\nexport type { UserServiceProps, UserType, UserGetProps, UserListProps, UserCreateProps, UserUpdateProps, UserRemoveProps, UserReplacePasswordProps } from \"@/services/user/UserService\"\n\nexport { UserMeService } from \"@/services/user/UserMeService\"\nexport type { UserMeServiceProps, UserMeUpdateProps, UserMeChangePasswordProps } from \"@/services/user/UserMeService\"\n\n// export { AdministratorService, administratorDataTypes } from \"@/services/user/AdministratorService\"\n// export type { AdministratorServiceProps, AdministratorGetProps, AdministratorListProps, AdministratorCreateProps, AdministratorUpdateProps, AdministratorRemoveProps } from \"@/services/user/AdministratorService\"\n// export { OperatorService, operatorDataTypes } from \"@/services/user/OperatorService\"\n// export type { OperatorServiceProps, OperatorGetProps, OperatorListProps, OperatorCreateProps, OperatorUpdateProps, OperatorRemoveProps } from \"@/services/user/OperatorService\"\n\nexport { UserBranchService, userBranchTypes } from \"@/services/branch/UserBranchService\"\nexport type { UserBranchServiceProps, UserBranchType, UserBranchGetProps, UserBranchListProps, UserBranchCreateProps, UserBranchUpdateProps, UserBranchRemoveProps } from \"@/services/branch/UserBranchService\"\nexport { RegionService } from \"@/services/region/RegionService\"\nexport type { RegionServiceProps, RegionType, RegionGetProps, RegionCreateProps, RegionListProps, RegionUpdateProps, RegionRemoveProps } from \"@/services/region/RegionService\"\nexport { DocumentService } from \"@/services/document/DocumentService\"\nexport type { DocumentServiceProps, DocumentType, DocumentGetProps, DocumentUpdateProps, DocumentCreateProps, DocumentListProps, DocumentRemoveProps } from \"@/services/document/DocumentService\"\nexport { ItemService, itemTypes } from \"@/services/item/ItemService\"\nexport type { ItemServiceProps, ItemType, ItemGetProps, ItemUpdateProps, ItemCreateProps, ItemListProps, ItemRemoveProps } from \"@/services/item/ItemService\"\nexport { FileService } from \"@/services/file/FileService\"\nexport type { FileImageCompressionOptions, FileVideoCompressionOptions, FileStorageProviderType, FileLocalProviderOptions, FileGoogleCloudProviderOptions, FileAwsS3ProviderOptions, FileCategoryName, FileUploadItem, FileServiceProps, FileGetProps, FileUploadProps, FileCreateProps, FileListProps, FileRemoveProps } from \"@/services/file/FileService\"\nexport { LocationService } from \"@/services/location/LocationService\"\nexport type { LocationServiceProps, LocationType, LocationGetProps, LocationUpdateProps, LocationCreateProps, LocationListProps, LocationRemoveProps } from \"@/services/location/LocationService\"\nexport { InjectionFieldService, injectionFieldTypes, injectionFieldDataTypes } from \"@/services/injection_field/InjectionFieldService\"\nexport type { InjectionFieldModuleRef, InjectionFieldServiceProps, InjectionFieldType, InjectionFieldDataType, InjectionFieldCreateProps, InjectionFieldListProps, InjectionFieldGetProps, InjectionFieldReplaceProps } from \"@/services/injection_field/InjectionFieldService\"\nexport { NumberDateSequenceService } from \"@/services/others/NumberDateSequenceService\"\nexport type { NumberDateSequenceModuleRef, NumberDateSequenceServiceProps, NumberDateSequenceInitProps, NumberDateSequenceCreateProps } from \"@/services/others/NumberDateSequenceService\"\nexport { OneTimeCodeService, oneTimeCodeTypes, oneTimeCodePurposeTypes, oneTimeCodeStatus } from \"@/services/one_time_code/OneTimeCodeService\"\nexport type { OneTimeCodeModuleRef, OneTimeCodeType, OneTimeCodePurposeType, OneTimeCodeStatus, OneTimeCodeServiceProps, OneTimeCodeCreateProps } from \"@/services/one_time_code/OneTimeCodeService\"\nexport { SmtpEmailService } from \"@/services/gateway/SmtpEmailService\"\nexport type { SmtpEmailServiceProps, SmtpEmailSendProps, SmtpEmailTransporterOptions } from \"@/services/gateway/SmtpEmailService\"\n\n// export { ChangePasswordUtilService } from \"@/services/utils/unuse/ChangePasswordUtilService\"\n// export type { ChangePasswordUtilServiceProps, ChangePasswordUtilChangeProps } from \"@/services/utils/unuse/ChangePasswordUtilService\"\nexport { AccessKeyUtilService } from \"@/services/utils/AccessKeyUtilService\"\nexport type { AccessKeyUtilServiceProps, AccessKeyUtilValidateProps, AccessKeyUtilAccountOwnerProps } from \"@/services/utils/AccessKeyUtilService\""]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;AAAA,2DAAoE;AAA3D,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAE/B,2EAA8G;AAArG,oHAAA,gBAAgB,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAE9D,uFAAqF;AAA5E,4HAAA,oBAAoB,OAAA;AAE7B,uFAA2G;AAAlG,4HAAA,oBAAoB,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAEnD,oEAAkE;AAAzD,gHAAA,cAAc,OAAA;AAEvB,uEAAqE;AAA5D,kHAAA,eAAe,OAAA;AAGxB,2DAAyF;AAAhF,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAGpD,+DAA6D;AAApD,8GAAA,aAAa,OAAA;AAGtB,sGAAsG;AACtG,qNAAqN;AACrN,uFAAuF;AACvF,kLAAkL;AAElL,yEAAwF;AAA/E,sHAAA,iBAAiB,OAAA;AAAE,oHAAA,eAAe,OAAA;AAE3C,iEAA+D;AAAtD,8GAAA,aAAa,OAAA;AAEtB,uEAAqE;AAA5D,kHAAA,eAAe,OAAA;AAExB,2DAAoE;AAA3D,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAE/B,2DAAyD;AAAhD,0GAAA,WAAW,OAAA;AAEpB,uEAAqE;AAA5D,kHAAA,eAAe,OAAA;AAExB,0FAAsI;AAA7H,8HAAA,qBAAqB,OAAA;AAAE,4HAAA,mBAAmB,OAAA;AAAE,gIAAA,uBAAuB,OAAA;AAE5E,yFAAuF;AAA9E,sIAAA,yBAAyB,OAAA;AAElC,kFAA8I;AAArI,wHAAA,kBAAkB,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAAE,6HAAA,uBAAuB,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAEzF,wEAAsE;AAA7D,oHAAA,gBAAgB,OAAA;AAGzB,+FAA+F;AAC/F,wIAAwI;AACxI,8EAA4E;AAAnE,4HAAA,oBAAoB,OAAA","sourcesContent":["export { AuthService, authTypes } from \"@/services/auth/AuthService\"\nexport type { AuthServiceProps, AuthType, AuthJwtToken, AuthGetTokenProps } from \"@/services/auth/AuthService\"\nexport { AccessKeyService, accessKeyUserTypes, accessKeyStatus } from \"@/services/access_key/AccessKeyService\"\nexport type { AccessKeyServiceProps, AccessKeyStatus, AccessKeyUserType, AccessKeyCreateProps, AccessKeyRevokeProps } from \"@/services/access_key/AccessKeyService\"\nexport { AccessControlService } from \"@/services/access_control/AccessControlService\"\nexport type { AccessControlServiceProps, AccessControlScopeOrExtra, AccessControlListOptionsProps } from \"@/services/access_control/AccessControlService\"\nexport { ResetPasswordService, resetPasswordMethods } from \"@/services/reset_password/ResetPasswordService\"\nexport type { ResetPasswordServiceProps, ResetPasswordMethod, ResetPasswordRequestProps, ResetPasswordValidateCodeProps, ResetPasswordPerformProps } from \"@/services/reset_password/ResetPasswordService\"\nexport { AccountService } from \"@/services/account/AccountService\"\nexport type { AccountServiceProps, Account, AccountGetProps, AccountListProps, AccountCreateProps, AccountUpdateProps } from \"@/services/account/AccountService\"\nexport { BusinessService } from \"@/services/business/BusinessService\"\nexport type { BusinessServiceProps, Business, BusinessGetProps, BusinessListProps, BusinessCreateProps, BusinessUpdateProps } from \"@/services/business/BusinessService\"\n\nexport { UserService, userTypes, userParentSqlSelect } from \"@/services/user/UserService\"\nexport type { UserServiceProps, UserType, UserGetProps, UserListProps, UserCreateProps, UserUpdateProps, UserRemoveProps, UserReplacePasswordProps } from \"@/services/user/UserService\"\n\nexport { UserMeService } from \"@/services/user/UserMeService\"\nexport type { UserMeServiceProps, UserMeUpdateProps, UserMeChangePasswordProps } from \"@/services/user/UserMeService\"\n\n// export { AdministratorService, administratorDataTypes } from \"@/services/user/AdministratorService\"\n// export type { AdministratorServiceProps, AdministratorGetProps, AdministratorListProps, AdministratorCreateProps, AdministratorUpdateProps, AdministratorRemoveProps } from \"@/services/user/AdministratorService\"\n// export { OperatorService, operatorDataTypes } from \"@/services/user/OperatorService\"\n// export type { OperatorServiceProps, OperatorGetProps, OperatorListProps, OperatorCreateProps, OperatorUpdateProps, OperatorRemoveProps } from \"@/services/user/OperatorService\"\n\nexport { UserBranchService, userBranchTypes } from \"@/services/branch/UserBranchService\"\nexport type { UserBranchServiceProps, UserBranchType, UserBranchGetProps, UserBranchListProps, UserBranchCreateProps, UserBranchUpdateProps, UserBranchRemoveProps } from \"@/services/branch/UserBranchService\"\nexport { RegionService } from \"@/services/region/RegionService\"\nexport type { RegionServiceProps, RegionType, RegionGetProps, RegionCreateProps, RegionListProps, RegionUpdateProps, RegionRemoveProps } from \"@/services/region/RegionService\"\nexport { DocumentService } from \"@/services/document/DocumentService\"\nexport type { DocumentServiceProps, DocumentType, DocumentGetProps, DocumentUpdateProps, DocumentCreateProps, DocumentListProps, DocumentRemoveProps } from \"@/services/document/DocumentService\"\nexport { ItemService, itemTypes } from \"@/services/item/ItemService\"\nexport type { ItemServiceProps, ItemType, ItemGetProps, ItemUpdateProps, ItemCreateProps, ItemListProps, ItemRemoveProps } from \"@/services/item/ItemService\"\nexport { FileService } from \"@/services/file/FileService\"\nexport type { FileImageCompressionOptions, FileVideoCompressionOptions, FileStorageProviderType, FileLocalProviderOptions, FileGoogleCloudProviderOptions, FileAwsS3ProviderOptions, FileCategoryName, FileUploadItem, FileServiceProps, FileGetProps, FileUploadProps, FileCreateProps, FileListProps, FileRemoveProps } from \"@/services/file/FileService\"\nexport { LocationService } from \"@/services/location/LocationService\"\nexport type { LocationServiceProps, LocationType, LocationGetProps, LocationUpdateProps, LocationCreateProps, LocationListProps, LocationRemoveProps } from \"@/services/location/LocationService\"\nexport { InjectionFieldService, injectionFieldTypes, injectionFieldDataTypes } from \"@/services/injection_field/InjectionFieldService\"\nexport type { InjectionFieldModuleRef, InjectionFieldServiceProps, InjectionFieldType, InjectionFieldDataType, InjectionFieldCreateProps, InjectionFieldListProps, InjectionFieldGetProps, InjectionFieldReplaceProps } from \"@/services/injection_field/InjectionFieldService\"\nexport { NumberDateSequenceService } from \"@/services/others/NumberDateSequenceService\"\nexport type { NumberDateSequenceModuleRef, NumberDateSequenceServiceProps, NumberDateSequenceInitProps, NumberDateSequenceCreateProps } from \"@/services/others/NumberDateSequenceService\"\nexport { OneTimeCodeService, oneTimeCodeTypes, oneTimeCodePurposeTypes, oneTimeCodeStatus } from \"@/services/one_time_code/OneTimeCodeService\"\nexport type { OneTimeCodeModuleRef, OneTimeCodeType, OneTimeCodePurposeType, OneTimeCodeStatus, OneTimeCodeServiceProps, OneTimeCodeCreateProps } from \"@/services/one_time_code/OneTimeCodeService\"\nexport { SmtpEmailService } from \"@/services/gateway/SmtpEmailService\"\nexport type { SmtpEmailServiceProps, SmtpEmailSendProps, SmtpEmailTransporterOptions } from \"@/services/gateway/SmtpEmailService\"\n\n// export { ChangePasswordUtilService } from \"@/services/utils/unuse/ChangePasswordUtilService\"\n// export type { ChangePasswordUtilServiceProps, ChangePasswordUtilChangeProps } from \"@/services/utils/unuse/ChangePasswordUtilService\"\nexport { AccessKeyUtilService } from \"@/services/utils/AccessKeyUtilService\"\nexport type { AccessKeyUtilServiceProps, AccessKeyUtilValidateProps, AccessKeyUtilAccountOwnerProps } from \"@/services/utils/AccessKeyUtilService\""]}