av6-core 1.7.16 → 1.7.18

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.
package/dist/index.js CHANGED
@@ -5,6 +5,12 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esm = (fn, res) => function __init() {
9
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
+ };
11
+ var __commonJS = (cb, mod) => function __require() {
12
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
13
+ };
8
14
  var __export = (target, all) => {
9
15
  for (var name in all)
10
16
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -27,14 +33,35 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
33
  ));
28
34
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
35
 
36
+ // node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js
37
+ var init_cjs_shims = __esm({
38
+ "node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js"() {
39
+ "use strict";
40
+ }
41
+ });
42
+
43
+ // node_modules/.pnpm/@prisma+client@6.19.3_prisma@6.19.3_typescript@5.9.3__typescript@5.9.3/node_modules/@prisma/client/default.js
44
+ var require_default = __commonJS({
45
+ "node_modules/.pnpm/@prisma+client@6.19.3_prisma@6.19.3_typescript@5.9.3__typescript@5.9.3/node_modules/@prisma/client/default.js"(exports2, module2) {
46
+ "use strict";
47
+ init_cjs_shims();
48
+ module2.exports = {
49
+ ...require(".prisma/client/default")
50
+ };
51
+ }
52
+ });
53
+
30
54
  // src/index.ts
31
55
  var index_exports = {};
32
56
  __export(index_exports, {
33
57
  ApprovalService: () => ApprovalService,
58
+ ApprovalStatus: () => ApprovalStatus,
34
59
  AuditCore: () => AuditCore,
35
60
  AuditLogger: () => AuditLogger,
36
61
  AuditProxy: () => AuditProxy,
62
+ FlowType: () => FlowType,
37
63
  NotificationEmitter: () => NotificationEmitter,
64
+ approvalRepository: () => approvalRepository,
38
65
  commonService: () => commonService,
39
66
  convertArrayPatternToEachBlocksGeneric: () => convertArrayPatternToEachBlocksGeneric,
40
67
  customOmit: () => customOmit,
@@ -54,8 +81,16 @@ __export(index_exports, {
54
81
  uinConfigService: () => uinConfigService
55
82
  });
56
83
  module.exports = __toCommonJS(index_exports);
84
+ init_cjs_shims();
85
+
86
+ // src/services/common.service.ts
87
+ init_cjs_shims();
88
+
89
+ // src/repository/common.repository.ts
90
+ init_cjs_shims();
57
91
 
58
92
  // src/utils/dynamicSearchHelper.ts
93
+ init_cjs_shims();
59
94
  var import_assert = require("assert");
60
95
  var import_util = require("util");
61
96
  function buildNestedCondition(keys, searchText, isNot = false) {
@@ -1009,7 +1044,11 @@ var commonRepository = (serviceDeps) => {
1009
1044
  };
1010
1045
  };
1011
1046
 
1047
+ // src/repository/commonCreateUpdate.repository.ts
1048
+ init_cjs_shims();
1049
+
1012
1050
  // src/utils/dynamicCreateUpdate.utils.ts
1051
+ init_cjs_shims();
1013
1052
  var isRecord = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
1014
1053
  var getByPath = (root, path) => {
1015
1054
  if (!path) return void 0;
@@ -1030,6 +1069,7 @@ var omitUndefined = (obj) => {
1030
1069
  };
1031
1070
 
1032
1071
  // src/utils/dynamicPrismaBuilder.utils.ts
1072
+ init_cjs_shims();
1033
1073
  var resolveSrc = (f, env) => {
1034
1074
  const src = f.src ?? `body.${f.db}`;
1035
1075
  if (src.startsWith("body.")) return getByPath(env.body, src.slice(5));
@@ -1313,10 +1353,12 @@ var commonCreateUpdateRepository = (serviceDeps) => {
1313
1353
  };
1314
1354
 
1315
1355
  // src/utils/dynamicJoiBuilder.utils.ts
1356
+ init_cjs_shims();
1316
1357
  var import_joi = __toESM(require("joi"));
1317
1358
  var import_dayjs2 = __toESM(require("dayjs"));
1318
1359
 
1319
1360
  // src/utils/helper.utils.ts
1361
+ init_cjs_shims();
1320
1362
  var import_dayjs = __toESM(require("dayjs"));
1321
1363
  function customOmit(obj, keys) {
1322
1364
  const rest = { ...obj };
@@ -1648,6 +1690,7 @@ var buildJoiSchemaForOp = (cfg, op, ctx) => {
1648
1690
  };
1649
1691
 
1650
1692
  // src/utils/dynamicOperation.utils.ts
1693
+ init_cjs_shims();
1651
1694
  var import_av6_utils = require("av6-utils");
1652
1695
  var OP_PRECEDENCE = {
1653
1696
  "u-": 3,
@@ -2301,7 +2344,34 @@ var commonService = (serviceDeps) => {
2301
2344
  };
2302
2345
  };
2303
2346
 
2347
+ // src/services/approval.service.ts
2348
+ init_cjs_shims();
2349
+
2350
+ // src/repository/approval.repository.ts
2351
+ init_cjs_shims();
2352
+
2353
+ // src/types/approval.type.ts
2354
+ init_cjs_shims();
2355
+ var ApprovalStatus = /* @__PURE__ */ ((ApprovalStatus2) => {
2356
+ ApprovalStatus2[ApprovalStatus2["PENDING"] = 0] = "PENDING";
2357
+ ApprovalStatus2[ApprovalStatus2["PARTIALLY_APPROVED"] = 1] = "PARTIALLY_APPROVED";
2358
+ ApprovalStatus2[ApprovalStatus2["APPROVED"] = 2] = "APPROVED";
2359
+ ApprovalStatus2[ApprovalStatus2["REJECTED"] = 3] = "REJECTED";
2360
+ ApprovalStatus2[ApprovalStatus2["CANCELLED"] = 4] = "CANCELLED";
2361
+ return ApprovalStatus2;
2362
+ })(ApprovalStatus || {});
2363
+ var FlowType = /* @__PURE__ */ ((FlowType3) => {
2364
+ FlowType3[FlowType3["STATUS"] = 0] = "STATUS";
2365
+ FlowType3[FlowType3["CO_PAY"] = 1] = "CO_PAY";
2366
+ FlowType3[FlowType3["INDIVIDUAL_DISCOUNT"] = 2] = "INDIVIDUAL_DISCOUNT";
2367
+ FlowType3[FlowType3["OVERALL_DISCOUNT"] = 3] = "OVERALL_DISCOUNT";
2368
+ FlowType3[FlowType3["SPECIAL_DISCOUNT"] = 4] = "SPECIAL_DISCOUNT";
2369
+ FlowType3[FlowType3["REFUND"] = 5] = "REFUND";
2370
+ return FlowType3;
2371
+ })(FlowType || {});
2372
+
2304
2373
  // src/repository/approval.repository.ts
2374
+ var import_client = __toESM(require_default());
2305
2375
  var approvalRepository = (helpers) => {
2306
2376
  return {
2307
2377
  async findMatchingFlow(tx, type, service, ccId, netTotal, level = 1) {
@@ -2329,6 +2399,112 @@ var approvalRepository = (helpers) => {
2329
2399
  throw new helpers.ErrorHandler(400, "No matching flow found.");
2330
2400
  }
2331
2401
  return result[0];
2402
+ },
2403
+ async getAllApprovalFlow(tx, {
2404
+ staffId,
2405
+ ccId,
2406
+ pageNo = 1,
2407
+ pageSize = 1e4,
2408
+ service,
2409
+ sortDir = "ASC",
2410
+ startDate,
2411
+ endDate,
2412
+ searchText = "",
2413
+ status = [0 /* PENDING */, 1 /* PARTIALLY_APPROVED */],
2414
+ flowType
2415
+ }) {
2416
+ const offset = (pageNo - 1) * pageSize;
2417
+ const serviceLike = `%${service}%`;
2418
+ const pattern = searchText ? `%${searchText.replace(/[%_]/g, "\\$&")}%` : "%";
2419
+ const validSortDir = sortDir === "DESC" ? "DESC" : "ASC";
2420
+ const baseWhereConditions = import_client.Prisma.sql`
2421
+ ( cam.staff_id = ${staffId} or scc.staff_id = ${staffId} )
2422
+ and cai.status in (${import_client.Prisma.join(status)})
2423
+ and LOWER(cai.service) like LOWER(${serviceLike})
2424
+ and LOWER(cai.ref_no) like LOWER(${pattern})
2425
+ and cam.cc_id = ${ccId}
2426
+ and cai.is_active = 1
2427
+ and cas.is_active = 1
2428
+ and cam.is_active = 1`;
2429
+ let dateFilter = import_client.Prisma.empty;
2430
+ if (startDate && endDate) {
2431
+ const startDateTime = fromTimestampToSqlDatetime(startDate);
2432
+ const endDateTime = fromTimestampToSqlDatetime(endDate);
2433
+ dateFilter = import_client.Prisma.sql`and cai.created_at between ${startDateTime} and ${endDateTime}`;
2434
+ }
2435
+ let flowTypeFilter = import_client.Prisma.empty;
2436
+ if (flowType) {
2437
+ flowTypeFilter = import_client.Prisma.sql`and caf.flow_type = ${flowType}`;
2438
+ }
2439
+ const countQuery = import_client.Prisma.sql`
2440
+ SELECT COUNT(DISTINCT cai.id) as total
2441
+ FROM
2442
+ core_approval_instance cai
2443
+ JOIN core_approval_step cas on cai.current_step = cas.id
2444
+ JOIN core_approval_flow caf on cas.flow_id = caf.id
2445
+ JOIN core_approver_mapping cam on cas.id = cam.step_id and cam.is_active = 1
2446
+ LEFT JOIN staff_roles sr on sr.role_id = cam.role_id
2447
+ LEFT JOIN staff_collection_center scc on (scc.collection_center_id = cam.cc_id and scc.staff_id = sr.staff_id)
2448
+ LEFT JOIN staff s on s.id = cai.created_by
2449
+ WHERE
2450
+ ${baseWhereConditions}
2451
+ ${flowTypeFilter}
2452
+ ${dateFilter}`;
2453
+ const countResult = await tx.$queryRaw(countQuery);
2454
+ const total = countResult[0]?.total ?? 0n;
2455
+ const dataQuery = import_client.Prisma.sql`
2456
+ SELECT DISTINCT
2457
+ cai.id,
2458
+ cai.flow_id as flowId,
2459
+ cai.subject_type as subjectType,
2460
+ cai.service as service,
2461
+ cai.subject_id as subjectId,
2462
+ cai.ref_no as refNo,
2463
+ cai.current_step as currentStepId,
2464
+ cai.net_total as netTotal,
2465
+ cai.status,
2466
+ cai.extra,
2467
+ s.name as createdBy,
2468
+ caf.flow_type as flowType,
2469
+ caf.name as flowName,
2470
+ cai.created_at as createdAt,
2471
+ cas.level
2472
+ FROM
2473
+ core_approval_instance cai
2474
+ JOIN core_approval_step cas on cai.current_step = cas.id
2475
+ JOIN core_approval_flow caf on cas.flow_id = caf.id
2476
+ JOIN core_approver_mapping cam on cas.id = cam.step_id and cam.is_active = 1
2477
+ LEFT JOIN staff_roles sr on sr.role_id = cam.role_id
2478
+ LEFT JOIN staff_collection_center scc on (scc.collection_center_id = cam.cc_id and scc.staff_id = sr.staff_id)
2479
+ LEFT JOIN staff s on s.id = cai.created_by
2480
+ WHERE
2481
+ ${baseWhereConditions}
2482
+ ${flowTypeFilter}
2483
+ ${dateFilter}
2484
+ GROUP BY cai.id
2485
+ ORDER BY cai.id ${import_client.Prisma.raw(validSortDir)}
2486
+ LIMIT ${pageSize}
2487
+ OFFSET ${offset}`;
2488
+ const result = await tx.$queryRaw(dataQuery);
2489
+ return {
2490
+ data: result,
2491
+ totalRecords: Number(total),
2492
+ currentPageNumber: pageNo,
2493
+ lastPageNumber: Math.ceil(Number(total) / pageSize),
2494
+ pageSize
2495
+ };
2496
+ },
2497
+ async getApprovalActDetailsBySubjectId(tx, { subjectId, subjectType, service }) {
2498
+ return tx.approvalAction.findMany({
2499
+ where: {
2500
+ approvalInstance: {
2501
+ subjectType,
2502
+ subjectId,
2503
+ service
2504
+ },
2505
+ isActive: true
2506
+ }
2507
+ });
2332
2508
  }
2333
2509
  };
2334
2510
  };
@@ -2588,9 +2764,22 @@ var ApprovalService = class {
2588
2764
  }
2589
2765
  return step;
2590
2766
  }
2767
+ async getAllApprovalFlow(input) {
2768
+ this.deps.logger.info("entering:getAllApprovalFlow --" + JSON.stringify({ input }));
2769
+ const instance = await this.approvalRepo.getAllApprovalFlow(this.deps.prisma, input);
2770
+ this.deps.logger.info("exiting:getAllApprovalFlow --" + JSON.stringify({ instance }));
2771
+ return instance;
2772
+ }
2773
+ async getApprovalActDetailsBySubjectId(subjectId, subjectType, service) {
2774
+ this.deps.logger.info(
2775
+ "entering:getApprovalActDetailsBySubjectId --" + JSON.stringify({ subjectId, subjectType, service })
2776
+ );
2777
+ return this.approvalRepo.getApprovalActDetailsBySubjectId(this.deps.prisma, { subjectId, subjectType, service });
2778
+ }
2591
2779
  };
2592
2780
 
2593
2781
  // src/utils/audit.utils.ts
2782
+ init_cjs_shims();
2594
2783
  function isValidDate(value) {
2595
2784
  if (value instanceof Date) {
2596
2785
  return !isNaN(value.getTime());
@@ -2638,6 +2827,7 @@ function findDifferences(obj1, obj2) {
2638
2827
  }
2639
2828
 
2640
2829
  // src/utils/renderer.ts
2830
+ init_cjs_shims();
2641
2831
  var import_handlebars = __toESM(require("handlebars"));
2642
2832
  function renderTemplate(tpl, data) {
2643
2833
  return import_handlebars.default.compile(tpl)(data);
@@ -2671,7 +2861,17 @@ var convertArrayPatternToEachBlocksGeneric = (html) => {
2671
2861
  return output;
2672
2862
  };
2673
2863
 
2864
+ // src/types/common.ts
2865
+ init_cjs_shims();
2866
+
2867
+ // src/types/dynamicCreateUpdate.type.ts
2868
+ init_cjs_shims();
2869
+
2870
+ // src/services/uinConfig.service.ts
2871
+ init_cjs_shims();
2872
+
2674
2873
  // src/mapper/uinConfig.mapper.ts
2874
+ init_cjs_shims();
2675
2875
  var toUINConfigDTO = (model) => {
2676
2876
  return {
2677
2877
  id: model.id,
@@ -2689,6 +2889,7 @@ var toUINConfigDTO = (model) => {
2689
2889
  };
2690
2890
 
2691
2891
  // src/repository/uinConfig.repository.ts
2892
+ init_cjs_shims();
2692
2893
  var uinConfigRepository = (uinDeps) => {
2693
2894
  const db = uinDeps.db;
2694
2895
  const logger = uinDeps.logger;
@@ -2774,6 +2975,7 @@ var uinConfigRepository = (uinDeps) => {
2774
2975
  };
2775
2976
 
2776
2977
  // src/validation/uinConfig.service.validation.ts
2978
+ init_cjs_shims();
2777
2979
  var uinConfigServiceValidation = (uinDeps) => {
2778
2980
  const { generateErrorMessage, ErrorHandler } = uinDeps.helpers;
2779
2981
  const logger = uinDeps.logger;
@@ -2975,7 +3177,20 @@ var uinConfigService = (uinDeps) => {
2975
3177
  };
2976
3178
  };
2977
3179
 
3180
+ // src/types/uinConfig.ts
3181
+ init_cjs_shims();
3182
+
3183
+ // src/events/eventEmitter.ts
3184
+ init_cjs_shims();
3185
+
3186
+ // src/services/audit.service.ts
3187
+ init_cjs_shims();
3188
+
3189
+ // src/services/notification.service.ts
3190
+ init_cjs_shims();
3191
+
2978
3192
  // src/providers/app.provider.ts
3193
+ init_cjs_shims();
2979
3194
  var ExpoAppNotificationProvider = class {
2980
3195
  constructor(logger = console, url = "https://api.expo.dev/v2/push/send") {
2981
3196
  this.logger = logger;
@@ -3013,7 +3228,11 @@ var ExpoAppNotificationProvider = class {
3013
3228
  }
3014
3229
  };
3015
3230
 
3231
+ // src/providers/email.providers.ts
3232
+ init_cjs_shims();
3233
+
3016
3234
  // src/types/notification.ts
3235
+ init_cjs_shims();
3017
3236
  var TemplateType = /* @__PURE__ */ ((TemplateType2) => {
3018
3237
  TemplateType2["EMAIL"] = "EMAIL";
3019
3238
  TemplateType2["SMS"] = "SMS";
@@ -3103,6 +3322,7 @@ var EmailProvider = class {
3103
3322
  };
3104
3323
 
3105
3324
  // src/providers/sms.provider.ts
3325
+ init_cjs_shims();
3106
3326
  var import_axios2 = __toESM(require("axios"));
3107
3327
  var import_node_https = __toESM(require("https"));
3108
3328
  var import_promises = __toESM(require("dns/promises"));
@@ -3253,6 +3473,7 @@ var SmsProvider = class {
3253
3473
  };
3254
3474
 
3255
3475
  // src/providers/web.provider.ts
3476
+ init_cjs_shims();
3256
3477
  var WebNotificationProvider = class {
3257
3478
  constructor(prisma, logger = console) {
3258
3479
  this.prisma = prisma;
@@ -3296,9 +3517,11 @@ var WebNotificationProvider = class {
3296
3517
  };
3297
3518
 
3298
3519
  // src/providers/whatsapp.provider.ts
3520
+ init_cjs_shims();
3299
3521
  var import_axios3 = __toESM(require("axios"));
3300
3522
 
3301
3523
  // src/utils/notification.utils.ts
3524
+ init_cjs_shims();
3302
3525
  function defaultValueField(t) {
3303
3526
  if (t === "EMAIL") return "EMAIL";
3304
3527
  if (t === "APP_NOTIFICATION") return "USER_ID";
@@ -4457,7 +4680,11 @@ var NotificationEmitter = class {
4457
4680
  }
4458
4681
  };
4459
4682
 
4683
+ // src/types/audit.ts
4684
+ init_cjs_shims();
4685
+
4460
4686
  // src/audit/audit.core.ts
4687
+ init_cjs_shims();
4461
4688
  var AuditCore = class {
4462
4689
  prisma;
4463
4690
  contextProvider;
@@ -4479,6 +4706,7 @@ var AuditCore = class {
4479
4706
  };
4480
4707
 
4481
4708
  // src/audit/audit.logger.ts
4709
+ init_cjs_shims();
4482
4710
  var AuditLogger = class {
4483
4711
  core;
4484
4712
  constructor(core) {
@@ -4530,6 +4758,7 @@ var AuditLogger = class {
4530
4758
  };
4531
4759
 
4532
4760
  // src/audit/audit.proxy.ts
4761
+ init_cjs_shims();
4533
4762
  var AuditProxy = class {
4534
4763
  logger;
4535
4764
  constructor(logger) {
@@ -4585,10 +4814,13 @@ var AuditProxy = class {
4585
4814
  // Annotate the CommonJS export names for ESM import in node:
4586
4815
  0 && (module.exports = {
4587
4816
  ApprovalService,
4817
+ ApprovalStatus,
4588
4818
  AuditCore,
4589
4819
  AuditLogger,
4590
4820
  AuditProxy,
4821
+ FlowType,
4591
4822
  NotificationEmitter,
4823
+ approvalRepository,
4592
4824
  commonService,
4593
4825
  convertArrayPatternToEachBlocksGeneric,
4594
4826
  customOmit,