storemw-core-client 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/.env +1 -0
  2. package/.vscode/launch.json +24 -0
  3. package/dist/config/config.d.ts +6 -0
  4. package/dist/config/config.js +13 -0
  5. package/dist/config/env.d.ts +7 -0
  6. package/dist/config/env.js +16 -0
  7. package/dist/config/index.d.ts +2 -0
  8. package/dist/config/index.js +8 -0
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.js +32 -0
  11. package/dist/lib/ApiService.d.ts +41 -0
  12. package/dist/lib/ApiService.js +143 -0
  13. package/dist/lib/index.d.ts +4 -0
  14. package/dist/lib/index.js +9 -0
  15. package/dist/lib/queryParams.d.ts +43 -0
  16. package/dist/lib/queryParams.js +99 -0
  17. package/dist/services/account/AccountService.d.ts +52 -0
  18. package/dist/services/account/AccountService.js +119 -0
  19. package/dist/services/auth/AuthService.d.ts +44 -0
  20. package/dist/services/auth/AuthService.js +76 -0
  21. package/dist/services/branch/BranchService.d.ts +124 -0
  22. package/dist/services/branch/BranchService.js +162 -0
  23. package/dist/services/business/BusinessService.d.ts +91 -0
  24. package/dist/services/business/BusinessService.js +153 -0
  25. package/dist/services/document/DocumentService.d.ts +578 -0
  26. package/dist/services/document/DocumentService.js +615 -0
  27. package/dist/services/index.d.ts +36 -0
  28. package/dist/services/index.js +97 -0
  29. package/dist/services/injection_field/InjectionFieldService.d.ts +113 -0
  30. package/dist/services/injection_field/InjectionFieldService.js +220 -0
  31. package/dist/services/inventory/InventoryService.d.ts +27 -0
  32. package/dist/services/inventory/InventoryService.js +231 -0
  33. package/dist/services/item/ItemService.d.ts +227 -0
  34. package/dist/services/item/ItemService.js +411 -0
  35. package/dist/services/location/LocationService.d.ts +154 -0
  36. package/dist/services/location/LocationService.js +256 -0
  37. package/dist/services/logistic/LogisticService.d.ts +104 -0
  38. package/dist/services/logistic/LogisticService.js +150 -0
  39. package/dist/services/permission/PermissionService.d.ts +296 -0
  40. package/dist/services/permission/PermissionService.js +576 -0
  41. package/dist/services/permission/config/custom/adminPermission.d.ts +4 -0
  42. package/dist/services/permission/config/custom/adminPermission.js +18 -0
  43. package/dist/services/permission/config/custom/config.d.ts +40 -0
  44. package/dist/services/permission/config/custom/config.js +23 -0
  45. package/dist/services/permission/config/default/adminPermission.d.ts +2 -0
  46. package/dist/services/permission/config/default/adminPermission.js +129 -0
  47. package/dist/services/permission/config/default/agentPermission.d.ts +2 -0
  48. package/dist/services/permission/config/default/agentPermission.js +43 -0
  49. package/dist/services/permission/config/default/customerPermission.d.ts +2 -0
  50. package/dist/services/permission/config/default/customerPermission.js +10 -0
  51. package/dist/services/permission/config/default/driverPermission.d.ts +2 -0
  52. package/dist/services/permission/config/default/driverPermission.js +4 -0
  53. package/dist/services/permission/config/default/workerPermission.d.ts +2 -0
  54. package/dist/services/permission/config/default/workerPermission.js +25 -0
  55. package/dist/services/rate/RateService.d.ts +201 -0
  56. package/dist/services/rate/RateService.js +303 -0
  57. package/dist/services/region/RegionService.d.ts +111 -0
  58. package/dist/services/region/RegionService.js +193 -0
  59. package/dist/services/repository/RepositoryService.d.ts +153 -0
  60. package/dist/services/repository/RepositoryService.js +243 -0
  61. package/dist/services/transaction/TransactionService.d.ts +153 -0
  62. package/dist/services/transaction/TransactionService.js +173 -0
  63. package/dist/services/user/BranchUserService.d.ts +129 -0
  64. package/dist/services/user/BranchUserService.js +193 -0
  65. package/dist/services/user/UserRoleService.d.ts +105 -0
  66. package/dist/services/user/UserRoleService.js +193 -0
  67. package/dist/services/user/UserService.d.ts +269 -0
  68. package/dist/services/user/UserService.js +477 -0
  69. package/dist/services/wallet/WalletService.d.ts +104 -0
  70. package/dist/services/wallet/WalletService.js +163 -0
  71. package/dist/utils/dateUtils.d.ts +6 -0
  72. package/dist/utils/dateUtils.js +28 -0
  73. package/dist/utils/index.d.ts +2 -0
  74. package/dist/utils/index.js +13 -0
  75. package/package.json +27 -0
  76. package/src/config/config.ts +15 -0
  77. package/src/config/env.ts +18 -0
  78. package/src/config/index.ts +2 -0
  79. package/src/index.ts +41 -0
  80. package/src/lib/ApiService.ts +170 -0
  81. package/src/lib/index.ts +5 -0
  82. package/src/lib/queryParams.ts +162 -0
  83. package/src/services/account/AccountService.ts +232 -0
  84. package/src/services/auth/AuthService.ts +125 -0
  85. package/src/services/branch/BranchService.ts +330 -0
  86. package/src/services/business/BusinessService.ts +277 -0
  87. package/src/services/document/DocumentService.ts +1471 -0
  88. package/src/services/index.ts +73 -0
  89. package/src/services/injection_field/InjectionFieldService.ts +483 -0
  90. package/src/services/inventory/InventoryService.ts +314 -0
  91. package/src/services/item/ItemService.ts +707 -0
  92. package/src/services/location/LocationService.ts +505 -0
  93. package/src/services/logistic/LogisticService.ts +285 -0
  94. package/src/services/permission/PermissionService.ts +1069 -0
  95. package/src/services/permission/config/custom/adminPermission.ts +19 -0
  96. package/src/services/permission/config/custom/config.ts +39 -0
  97. package/src/services/permission/config/default/adminPermission.ts +129 -0
  98. package/src/services/permission/config/default/agentPermission.ts +42 -0
  99. package/src/services/permission/config/default/customerPermission.ts +9 -0
  100. package/src/services/permission/config/default/driverPermission.ts +4 -0
  101. package/src/services/permission/config/default/workerPermission.ts +25 -0
  102. package/src/services/rate/RateService.ts +570 -0
  103. package/src/services/region/RegionService.ts +353 -0
  104. package/src/services/repository/RepositoryService.ts +437 -0
  105. package/src/services/transaction/TransactionService.ts +404 -0
  106. package/src/services/user/BranchUserService.ts +381 -0
  107. package/src/services/user/UserRoleService.ts +342 -0
  108. package/src/services/user/UserService.ts +807 -0
  109. package/src/services/wallet/WalletService.ts +300 -0
  110. package/src/utils/dateUtils.ts +26 -0
  111. package/src/utils/index.ts +2 -0
  112. package/tsconfig.json +119 -0
@@ -0,0 +1,615 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DocumentService = exports.documentTypes = void 0;
4
+ const lib_1 = require("@/lib");
5
+ const utils_1 = require("@/utils");
6
+ const lib_2 = require("@/lib");
7
+ exports.documentTypes = {
8
+ /** sales */
9
+ profomaSale: "proforma_sales",
10
+ salesOrder: "sales",
11
+ proformaSales: "proforma_sales",
12
+ cashSales: "cash_sales",
13
+ retailCashSales: "retail_cash_sales",
14
+ deliveryOrder: "delivery",
15
+ replacementDelivery: "replacement_delivery",
16
+ invoice: "invoices",
17
+ // retailPrescription: "retail_prescription",
18
+ /** purchase */
19
+ purchaseOrder: "purchase",
20
+ purchaseReturn: "purchase_return",
21
+ purchaseInvoice: "purchase_invoice",
22
+ /** warehouse */
23
+ packingOrder: "packing_order",
24
+ itemPicking: "item_picking",
25
+ itemReceive: "item_receive",
26
+ // itemReturn: "item_return",
27
+ itemTransfer: "item_transfer",
28
+ itemRepack: "item_repack",
29
+ itemRelocate: "item_relocate",
30
+ itemTransform: "item_transform",
31
+ itemIssue: "item_issue",
32
+ itemAdjustment: "item_adjustment",
33
+ stockTake: "stock_take",
34
+ transferReturn: "transfer_return",
35
+ transferRequisition: "transfer_requisition",
36
+ pickOrder: "pick_order",
37
+ /** logistic */
38
+ tripOrder: "trip",
39
+ /** Accounting */
40
+ salesInvoice: "sales_invoice",
41
+ salesCreditNote: "sales_credit_note",
42
+ salesDebitNote: "sales_debit_note",
43
+ };
44
+ const getCreatePayload = (documentType, data) => {
45
+ if (documentType === "sales" && "salesOrder" in data) {
46
+ return {
47
+ document: {
48
+ ...(data.salesOrder.document.docNumber && { doc_number: data.salesOrder.document.docNumber }),
49
+ doc_date: (0, utils_1.dayjs)(data.salesOrder.document.docDate).format("YYYY-MM-DD"),
50
+ doc_remark: data.salesOrder.document.remark
51
+ },
52
+ profiles: {
53
+ customer: {
54
+ user_id: data.salesOrder.profiles.customer.userId
55
+ },
56
+ shipping_address: {
57
+ branch_id: data.salesOrder.profiles.shippingBranch.branchId,
58
+ ...(data.salesOrder.profiles.shippingBranch?.override && {
59
+ override: {
60
+ profile_name: data.salesOrder.profiles.shippingBranch.override.profileName,
61
+ address_1: data.salesOrder.profiles.shippingBranch.override.address1,
62
+ address_2: data.salesOrder.profiles.shippingBranch.override.address2,
63
+ postcode: data.salesOrder.profiles.shippingBranch.override.postcode,
64
+ contact: data.salesOrder.profiles.shippingBranch.override.contact,
65
+ email: data.salesOrder.profiles.shippingBranch.override.email,
66
+ area: data.salesOrder.profiles.shippingBranch.override.area,
67
+ country_id: data.salesOrder.profiles.shippingBranch.override.countryId,
68
+ state_id: data.salesOrder.profiles.shippingBranch.override.stateId
69
+ }
70
+ })
71
+ },
72
+ billing_branch: {
73
+ branch_id: data.salesOrder.profiles.billingBranch.branchId,
74
+ ...(data.salesOrder.profiles.billingBranch?.override && {
75
+ override: {
76
+ profile_name: data.salesOrder.profiles.billingBranch.override.profileName,
77
+ address_1: data.salesOrder.profiles.billingBranch.override.address1,
78
+ address_2: data.salesOrder.profiles.billingBranch.override.address2,
79
+ postcode: data.salesOrder.profiles.billingBranch.override.postcode,
80
+ contact: data.salesOrder.profiles.billingBranch.override.contact,
81
+ email: data.salesOrder.profiles.billingBranch.override.email,
82
+ area: data.salesOrder.profiles.billingBranch.override.area,
83
+ country_id: data.salesOrder.profiles.billingBranch.override.countryId,
84
+ state_id: data.salesOrder.profiles.billingBranch.override.stateId
85
+ }
86
+ })
87
+ }
88
+ },
89
+ props: {
90
+ ...(data.salesOrder.props?.locationId && { location_id: data.salesOrder.props?.locationId })
91
+ },
92
+ adjustments: data.salesOrder.adjustments && data.salesOrder.adjustments.map((i) => ({
93
+ type: i.type,
94
+ refer_id: i?.referId,
95
+ description: i.description,
96
+ adjustment_amount: i.adjustmentAmount,
97
+ adjustment_percentage: i.adjustmentPercentage
98
+ })),
99
+ items: data.salesOrder.items.map((i) => ({
100
+ id: i.itemId,
101
+ code: i.code,
102
+ name: i.name,
103
+ description: i.description,
104
+ qty: i.qty,
105
+ uom_lbl: i.uomName,
106
+ uom_id: i.uomId,
107
+ price: utils_1._.round(i.price, 2)
108
+ }))
109
+ };
110
+ }
111
+ if (documentType === "proforma_sales" && "proformaSales" in data) {
112
+ return {
113
+ document: {
114
+ ...(data.proformaSales.document.docNumber && { doc_number: data.proformaSales.document.docNumber }),
115
+ doc_date: (0, utils_1.dayjs)(data.proformaSales.document.docDate).format("YYYY-MM-DD"),
116
+ doc_remark: data.proformaSales.document.remark
117
+ },
118
+ profiles: {
119
+ retailer: {
120
+ user_id: data.proformaSales.profiles.retailer.userId
121
+ },
122
+ shipping_address: {
123
+ branch_id: data.proformaSales.profiles.shippingBranch.branchId
124
+ },
125
+ billing_branch: {
126
+ branch_id: data.proformaSales.profiles.billingBranch.branchId
127
+ }
128
+ },
129
+ props: {
130
+ ...(data.proformaSales.props?.locationId && { location_id: data.proformaSales.props?.locationId })
131
+ },
132
+ adjustments: data.proformaSales.adjustments && data.proformaSales.adjustments.map((i) => ({
133
+ type: i.type,
134
+ refer_id: i?.referId,
135
+ description: i.description,
136
+ adjustment_amount: i.adjustmentAmount,
137
+ adjustment_percentage: i.adjustmentPercentage
138
+ })),
139
+ items: data.proformaSales.items.map((i) => ({
140
+ id: i.itemId,
141
+ code: i.code,
142
+ name: i.name,
143
+ description: i.description,
144
+ qty: i.qty,
145
+ uom_lbl: i.uomName,
146
+ uom_id: i.uomId,
147
+ price: utils_1._.round(i.price, 2)
148
+ }))
149
+ };
150
+ }
151
+ if (documentType === "cash_sales" && "cashSales" in data) {
152
+ return {
153
+ document: {
154
+ ...(data.cashSales.document.docNumber && { doc_number: data.cashSales.document.docNumber }),
155
+ doc_date: (0, utils_1.dayjs)(data.cashSales.document.docDate).format("YYYY-MM-DD"),
156
+ doc_remark: data.cashSales.document.remark
157
+ },
158
+ profiles: {
159
+ customer: {
160
+ user_id: data.cashSales.profiles.customer.userId
161
+ },
162
+ shipping_address: {
163
+ branch_id: data.cashSales.profiles.shippingBranch.branchId
164
+ },
165
+ billing_branch: {
166
+ branch_id: data.cashSales.profiles.billingBranch.branchId,
167
+ }
168
+ },
169
+ props: {
170
+ ...(data.cashSales.props?.locationId && { location_id: data.cashSales.props?.locationId }),
171
+ distribution_location_id: data.cashSales.props?.distributionLocationId ?? ""
172
+ },
173
+ payment: {
174
+ payment_type: data.cashSales.payment.paymentType,
175
+ payment_date: data.cashSales.payment.paymentDate,
176
+ payment_action: data.cashSales.payment.paymentAction,
177
+ bank_name: data.cashSales.payment.bankName,
178
+ bank_account_no: data.cashSales.payment.bankAccountNo,
179
+ bank_account_name: data.cashSales.payment.bankAccountName,
180
+ receive_amount: utils_1._.round(data.cashSales.payment.receiveAmount, 2),
181
+ payment_reference: data.cashSales.payment.paymentReference,
182
+ payment_post_date: data.cashSales.payment.paymentPostDate
183
+ },
184
+ adjustments: data.cashSales.adjustments && data.cashSales.adjustments.map((i) => ({
185
+ type: i.type,
186
+ refer_id: i?.referId,
187
+ description: i.description,
188
+ adjustment_amount: i.adjustmentAmount,
189
+ adjustment_percentage: i.adjustmentPercentage
190
+ })),
191
+ items: data.cashSales.items.map((i) => ({
192
+ id: i.itemId,
193
+ code: i.code,
194
+ name: i.name,
195
+ description: i.description,
196
+ qty: i.qty,
197
+ uom_lbl: i.uomName,
198
+ uom_id: i.uomId,
199
+ price: utils_1._.round(i.price, 2)
200
+ }))
201
+ };
202
+ }
203
+ if (documentType === "retail_cash_sales" && "retailCashSales" in data) {
204
+ return {
205
+ document: {
206
+ ...(data.retailCashSales.document.docNumber && { doc_number: data.retailCashSales.document.docNumber }),
207
+ doc_date: (0, utils_1.dayjs)(data.retailCashSales.document.docDate).format("YYYY-MM-DD"),
208
+ doc_remark: data.retailCashSales.document.remark
209
+ },
210
+ profiles: {
211
+ member: {
212
+ user_id: data.retailCashSales.profiles.member.userId
213
+ }
214
+ },
215
+ props: {
216
+ ...(data.retailCashSales.props?.locationId && { location_id: data.retailCashSales.props?.locationId }),
217
+ retail_outlet_id: data.retailCashSales?.props?.retailOutletId ?? ""
218
+ },
219
+ payment: {
220
+ payment_type: data.retailCashSales.payment.paymentType,
221
+ payment_date: data.retailCashSales.payment.paymentDate,
222
+ payment_action: data.retailCashSales.payment.paymentAction,
223
+ bank_name: data.retailCashSales.payment.bankName,
224
+ bank_account_no: data.retailCashSales.payment.bankAccountNo,
225
+ bank_account_name: data.retailCashSales.payment.bankAccountName,
226
+ receive_amount: utils_1._.round(data.retailCashSales.payment.receiveAmount, 2),
227
+ payment_reference: data.retailCashSales.payment.paymentReference,
228
+ payment_post_date: data.retailCashSales.payment.paymentPostDate
229
+ },
230
+ adjustments: data.retailCashSales.adjustments && data.retailCashSales.adjustments.map((i) => ({
231
+ type: i.type,
232
+ refer_id: i?.referId,
233
+ description: i.description,
234
+ adjustment_amount: i.adjustmentAmount,
235
+ adjustment_percentage: i.adjustmentPercentage
236
+ })),
237
+ items: data.retailCashSales.items.map((i) => ({
238
+ id: i.itemId,
239
+ code: i.code,
240
+ name: i.name,
241
+ description: i.description,
242
+ qty: i.qty,
243
+ uom_lbl: i.uomName,
244
+ uom_id: i.uomId,
245
+ price: utils_1._.round(i.price, 2)
246
+ }))
247
+ };
248
+ }
249
+ if (documentType === "delivery" && "deliveryOrder" in data) {
250
+ return {
251
+ document: {
252
+ ...(data.deliveryOrder.document.docNumber && { doc_number: data.deliveryOrder.document.docNumber }),
253
+ doc_date: (0, utils_1.dayjs)(data.deliveryOrder.document.docDate).format("YYYY-MM-DD"),
254
+ doc_remark: data.deliveryOrder.document.remark
255
+ },
256
+ profiles: {
257
+ customer: {
258
+ user_id: data.deliveryOrder.profiles.customer.userId
259
+ },
260
+ shipping_address: {
261
+ branch_id: data.deliveryOrder.profiles.shippingBranch.branchId
262
+ },
263
+ billing_branch: {
264
+ branch_id: data.deliveryOrder.profiles.billingBranch.branchId,
265
+ }
266
+ },
267
+ props: {
268
+ ...(data.deliveryOrder.props?.locationId && { location_id: data.deliveryOrder.props?.locationId }),
269
+ distribution_location_id: data.deliveryOrder.props?.distributionLocationId ?? "",
270
+ do_alternative_no: data.deliveryOrder.props?.doAlternativeNo ?? "",
271
+ so_id: data.deliveryOrder.props?.soId ?? "",
272
+ container_id: data.deliveryOrder.props?.containerId ?? "",
273
+ tracking_no: data.deliveryOrder.props?.trackingNo ?? ""
274
+ },
275
+ status: {
276
+ is_payment_collect: data.deliveryOrder.status.isPaymentCollect === true ? 1 : 0
277
+ },
278
+ adjustments: data.deliveryOrder.adjustments && data.deliveryOrder.adjustments.map((i) => ({
279
+ type: i.type,
280
+ refer_id: i?.referId,
281
+ description: i.description,
282
+ adjustment_amount: i.adjustmentAmount,
283
+ adjustment_percentage: i.adjustmentPercentage
284
+ })),
285
+ amounts: {
286
+ require_collect_amount: data.deliveryOrder.amounts.requireCollectAmount,
287
+ collection_amount: data.deliveryOrder.amounts.collectionAmount,
288
+ },
289
+ items: data.deliveryOrder.items.map((i) => ({
290
+ id: i.itemId,
291
+ code: i.code,
292
+ name: i.name,
293
+ description: i.description,
294
+ qty: i.qty,
295
+ uom_lbl: i.uomName,
296
+ uom_id: i.uomId,
297
+ price: utils_1._.round(i.price, 2)
298
+ }))
299
+ };
300
+ }
301
+ if (documentType === "replacement_delivery" && "replacementDelivery" in data) {
302
+ return {
303
+ document: {
304
+ ...(data.replacementDelivery.document.docNumber && { doc_number: data.replacementDelivery.document.docNumber }),
305
+ doc_date: (0, utils_1.dayjs)(data.replacementDelivery.document.docDate).format("YYYY-MM-DD"),
306
+ doc_remark: data.replacementDelivery.document.remark
307
+ },
308
+ profiles: {
309
+ customer: {
310
+ user_id: data.replacementDelivery.profiles.customer.userId
311
+ },
312
+ shipping_address: {
313
+ branch_id: data.replacementDelivery.profiles.shippingBranch.branchId
314
+ },
315
+ billing_branch: {
316
+ branch_id: data.replacementDelivery.profiles.billingBranch.branchId,
317
+ }
318
+ },
319
+ props: {
320
+ ...(data.replacementDelivery.props?.locationId && { location_id: data.replacementDelivery.props?.locationId }),
321
+ distribution_location_id: data.replacementDelivery.props?.distributionLocationId ?? "",
322
+ collection_remark: data.replacementDelivery.props?.collectionRemark ?? ""
323
+ },
324
+ status: {
325
+ is_payment_collect: data.replacementDelivery.status.isPaymentCollect === true ? 1 : 0
326
+ },
327
+ adjustments: data.replacementDelivery.adjustments && data.replacementDelivery.adjustments.map((i) => ({
328
+ type: i.type,
329
+ refer_id: i?.referId,
330
+ description: i.description,
331
+ adjustment_amount: i.adjustmentAmount,
332
+ adjustment_percentage: i.adjustmentPercentage
333
+ })),
334
+ dependencies: data.replacementDelivery.dependencies && data.replacementDelivery.dependencies.map((i) => ({
335
+ scope: i.scope,
336
+ target: i.target,
337
+ target_id: i.targetId,
338
+ type: i.type
339
+ })),
340
+ amounts: {
341
+ require_collect_amount: data.replacementDelivery.amounts.requireCollectAmount,
342
+ collection_amount: data.replacementDelivery.amounts.collectionAmount,
343
+ },
344
+ items: data.replacementDelivery.items.map((i) => ({
345
+ id: i.itemId,
346
+ code: i.code,
347
+ name: i.name,
348
+ description: i.description,
349
+ qty: i.qty,
350
+ uom_lbl: i.uomName,
351
+ uom_id: i.uomId,
352
+ price: utils_1._.round(i.price, 2)
353
+ }))
354
+ };
355
+ }
356
+ if (documentType === "trip" && "tripOrder" in data) {
357
+ return {
358
+ document: {
359
+ ...(data.tripOrder.document.docNumber && { doc_number: data.tripOrder.document.docNumber }),
360
+ doc_date: (0, utils_1.dayjs)(data.tripOrder.document.docDate).format("YYYY-MM-DD"),
361
+ doc_remark: data.tripOrder.document.remark
362
+ },
363
+ profiles: {
364
+ ...(data?.tripOrder?.profiles?.driver?.userId ? { driver: { user_id: data.tripOrder.profiles.driver.userId } } : {}),
365
+ props: {
366
+ location_id: data.tripOrder.props.locationId,
367
+ reference_no: data.tripOrder.props.referenceNo,
368
+ ...(data?.tripOrder?.props?.logisticId ? { logistic_id: data.tripOrder.props.logisticId } : {})
369
+ },
370
+ status: {
371
+ confirm: data.tripOrder.status.isConfirm === true ? 1 : 0
372
+ },
373
+ docs: data.tripOrder.documents.map((i) => ({
374
+ document_id: i.documentId,
375
+ document_doc_id: i.documentDocId,
376
+ doc_remark: i.remark,
377
+ props: {
378
+ sequence: i.sequence
379
+ }
380
+ }))
381
+ }
382
+ };
383
+ }
384
+ if (documentType === "sales_invoice" && "salesInvoice" in data) {
385
+ return {
386
+ document: {
387
+ ...(data.salesInvoice.document.docNumber && { doc_number: data.salesInvoice.document.docNumber }),
388
+ doc_date: (0, utils_1.dayjs)(data.salesInvoice.document.docDate).format("YYYY-MM-DD"),
389
+ doc_remark: data.salesInvoice.document.remark
390
+ },
391
+ profiles: {
392
+ customer: {
393
+ user_id: data.salesInvoice.profiles.customer.userId
394
+ },
395
+ billing_branch: {
396
+ branch_id: data.salesInvoice.profiles.billingBranch.branchId,
397
+ }
398
+ },
399
+ props: {
400
+ ...(data.salesInvoice.props?.locationId && { location_id: data.salesInvoice.props?.locationId }),
401
+ },
402
+ adjustments: data.salesInvoice.adjustments && data.salesInvoice.adjustments.map((i) => ({
403
+ type: i.type,
404
+ refer_id: i?.referId,
405
+ description: i.description,
406
+ adjustment_amount: i.adjustmentAmount,
407
+ adjustment_percentage: i.adjustmentPercentage
408
+ })),
409
+ dependencies: data.salesInvoice.dependencies && data.salesInvoice.dependencies.map((i) => ({
410
+ scope: i.scope,
411
+ target: i.target,
412
+ target_id: i.targetId,
413
+ type: i.type
414
+ })),
415
+ items: data.salesInvoice.items.map((i) => ({
416
+ id: i.itemId,
417
+ code: i.code,
418
+ name: i.name,
419
+ description: i.description,
420
+ qty: i.qty,
421
+ uom_lbl: i.uomName,
422
+ uom_id: i.uomId,
423
+ price: utils_1._.round(i.price, 2)
424
+ }))
425
+ };
426
+ }
427
+ if (documentType === "sales_credit_note" && "salesCreditNote" in data) {
428
+ return {
429
+ document: {
430
+ ...(data.salesCreditNote.document.docNumber && { doc_number: data.salesCreditNote.document.docNumber }),
431
+ doc_date: (0, utils_1.dayjs)(data.salesCreditNote.document.docDate).format("YYYY-MM-DD"),
432
+ doc_remark: data.salesCreditNote.document.remark
433
+ },
434
+ profiles: {
435
+ customer: {
436
+ user_id: data.salesCreditNote.profiles.customer.userId
437
+ },
438
+ // billing_branch: {
439
+ // branch_id: data.salesCreditNote.profiles.billingBranch.branchId,
440
+ // }
441
+ },
442
+ props: {
443
+ ...(data.salesCreditNote.props?.locationId && { location_id: data.salesCreditNote.props?.locationId }),
444
+ },
445
+ adjustments: data.salesCreditNote.adjustments && data.salesCreditNote.adjustments.map((i) => ({
446
+ type: i.type,
447
+ refer_id: i?.referId,
448
+ description: i.description,
449
+ adjustment_amount: i.adjustmentAmount,
450
+ adjustment_percentage: i.adjustmentPercentage
451
+ })),
452
+ dependencies: data.salesCreditNote.dependencies && data.salesCreditNote.dependencies.map((i) => ({
453
+ scope: i.scope,
454
+ target: i.target,
455
+ target_id: i.targetId,
456
+ type: i.type
457
+ })),
458
+ items: data.salesCreditNote.items.map((i) => ({
459
+ id: i.itemId,
460
+ code: i.code,
461
+ name: i.name,
462
+ description: i.description,
463
+ qty: i.qty,
464
+ uom_lbl: i.uomName,
465
+ uom_id: i.uomId,
466
+ price: utils_1._.round(i.price, 2)
467
+ }))
468
+ };
469
+ }
470
+ if (documentType === "sales_debit_note" && "salesDebitNote" in data) {
471
+ return {
472
+ document: {
473
+ ...(data.salesDebitNote.document.docNumber && { doc_number: data.salesDebitNote.document.docNumber }),
474
+ doc_date: (0, utils_1.dayjs)(data.salesDebitNote.document.docDate).format("YYYY-MM-DD"),
475
+ doc_remark: data.salesDebitNote.document.remark
476
+ },
477
+ profiles: {
478
+ customer: {
479
+ user_id: data.salesDebitNote.profiles.customer.userId
480
+ },
481
+ // billing_branch: {
482
+ // ...data.salesDebitNote.profiles.billingBranch,
483
+ // branch_id: data.salesDebitNote.profiles.billingBranch.branchId,
484
+ // }
485
+ },
486
+ props: {
487
+ ...(data.salesDebitNote.props?.locationId && { location_id: data.salesDebitNote.props?.locationId }),
488
+ },
489
+ adjustments: data.salesDebitNote.adjustments && data.salesDebitNote.adjustments.map((i) => ({
490
+ type: i.type,
491
+ refer_id: i?.referId,
492
+ description: i.description,
493
+ adjustment_amount: i.adjustmentAmount,
494
+ adjustment_percentage: i.adjustmentPercentage
495
+ })),
496
+ dependencies: data.salesDebitNote.dependencies && data.salesDebitNote.dependencies.map((i) => ({
497
+ scope: i.scope,
498
+ target: i.target,
499
+ target_id: i.targetId,
500
+ type: i.type
501
+ })),
502
+ items: data.salesDebitNote.items.map((i) => ({
503
+ id: i.itemId,
504
+ code: i.code,
505
+ name: i.name,
506
+ description: i.description,
507
+ qty: i.qty,
508
+ uom_lbl: i.uomName,
509
+ uom_id: i.uomId,
510
+ price: utils_1._.round(i.price, 2)
511
+ }))
512
+ };
513
+ }
514
+ };
515
+ const getUpdatePayload = (documentType, data) => {
516
+ return getCreatePayload(documentType, data);
517
+ };
518
+ const DocumentService = (props) => {
519
+ const { documentType = "sales", documentTargetType, ...rest } = props ?? {};
520
+ const { makeCall } = (0, lib_1.ApiService)(rest?.customToken ? { customToken: rest.customToken } : {});
521
+ const endpoint1 = "document";
522
+ const endpoint2 = "documents";
523
+ const list = async (props) => {
524
+ const { documentType: overrideDocumentType } = props;
525
+ const url = (0, lib_2.buildApiListUrl)(`${endpoint2}/${overrideDocumentType || documentType}`, props);
526
+ const response = await makeCall({
527
+ url,
528
+ method: "get",
529
+ payload: {},
530
+ // configuration
531
+ });
532
+ return response;
533
+ };
534
+ const get = async (props) => {
535
+ const { id, documentType: overrideDocumentType } = props;
536
+ const url = (0, lib_2.buildApiGetUrl)(`${endpoint1}/${overrideDocumentType || documentType}/${id}`, props);
537
+ const response = await makeCall({
538
+ url,
539
+ method: "get",
540
+ payload: {},
541
+ // configuration
542
+ });
543
+ return response;
544
+ };
545
+ const create = async ({ data, documentType: overrideDocumentType, documentTargetType: overrideDocumentTargetType }) => {
546
+ let url = `${endpoint1}`;
547
+ let _documentType = overrideDocumentType || documentType;
548
+ let payload = getCreatePayload(_documentType, data);
549
+ let postData = {
550
+ scope: {
551
+ target: overrideDocumentTargetType || documentTargetType,
552
+ action: "",
553
+ },
554
+ payload
555
+ };
556
+ const response = await makeCall({
557
+ url,
558
+ method: "post",
559
+ payload: postData
560
+ });
561
+ return response;
562
+ };
563
+ const update = async ({ id, data, documentType: overrideDocumentType, documentTargetType: overrideDocumentTargetType }) => {
564
+ let url = `${endpoint1}/${id}`;
565
+ let _documentType = overrideDocumentType || documentType;
566
+ let payload = getUpdatePayload(_documentType, data);
567
+ const postData = {
568
+ scope: {
569
+ target: overrideDocumentTargetType || documentTargetType,
570
+ action: "",
571
+ },
572
+ payload
573
+ };
574
+ const response = await makeCall({
575
+ url,
576
+ method: "put",
577
+ payload: postData
578
+ });
579
+ return response;
580
+ };
581
+ const remove = async ({ ids, documentTargetType: overrideDocumentTargetType }) => {
582
+ let url = `${endpoint2}/delete`;
583
+ const postData = {
584
+ scope: {
585
+ target: overrideDocumentTargetType || documentTargetType,
586
+ },
587
+ payload: {
588
+ ids
589
+ }
590
+ };
591
+ const response = await makeCall({
592
+ url,
593
+ method: "post",
594
+ payload: postData
595
+ });
596
+ return response;
597
+ };
598
+ const getDataTypes = async ({ documentType: overrideDocumentType }) => {
599
+ let url = `${endpoint2}/data_types/${overrideDocumentType || documentType}`;
600
+ const response = await makeCall({
601
+ url,
602
+ method: "get",
603
+ });
604
+ return response;
605
+ };
606
+ return {
607
+ list,
608
+ get,
609
+ create,
610
+ update,
611
+ remove,
612
+ getDataTypes
613
+ };
614
+ };
615
+ exports.DocumentService = DocumentService;
@@ -0,0 +1,36 @@
1
+ export { AuthService, authTargetTypes } from '../services/auth/AuthService';
2
+ export type { AuthLoginProps, AuthTargetType } from '../services/auth/AuthService';
3
+ export { UserService, userTypes, userTargetTypes } from '../services/user/UserService';
4
+ export type { UserServiceProps, UserType, ListUserProps, GetUserProps, CreateUserProps, UpdateUserProps, RemoveUserProps } from '../services/user/UserService';
5
+ export { UserRoleService, roleTypes, roleTargetTypes } from '../services/user/UserRoleService';
6
+ export type { UserRoleServiceProps, RoleType, ListRoleProps, GetRoleProps, CreateRoleProps, UpdateRoleProps, RemoveRoleProps, UpdateRolePermissionProps } from '../services/user/UserRoleService';
7
+ export { BranchUserService, branchUserTypes, branchUserTargetTypes } from '../services/user/BranchUserService';
8
+ export type { BranchUserServiceProps, BranchUserType, ListBranchUserProps, GetBranchUserProps, CreateBranchUserProps, UpdateBranchUserProps, RemoveBranchUserProps } from '../services/user/BranchUserService';
9
+ export { BranchService, branchTypes, branchTargetTypes } from '../services/branch/BranchService';
10
+ export type { BranchServiceProps, BranchType, ListBranchProps, GetBranchProps, CreateBranchProps, UpdateBranchProps, RemoveBranchProps } from '../services/branch/BranchService';
11
+ export { DocumentService, documentTypes } from '../services/document/DocumentService';
12
+ export type { DocumentServiceProps, DocumentType, ListDocumentProps, GetDocumentProps, CreateDocumentProps, UpdateDocumentProps, RemoveDocumentProps } from '../services/document/DocumentService';
13
+ export { ItemService, itemTypes, itemTargetTypes } from '../services/item/ItemService';
14
+ export type { ItemServiceProps, ItemType, ListItemProps, GetItemProps, CreateItemProps, UpdateItemProps, RemoveItemProps, CreateMultipleItemProps, CreateMultipleItemPropsProps } from '../services/item/ItemService';
15
+ export { InjectionFieldService, injectionFieldMap, injectionFieldScopeTypes, injectionFieldDataTypes, getInjectionFieldsPayload } from '../services/injection_field/InjectionFieldService';
16
+ export type { InjectionFieldServiceProps, InjectionField, InjectionFieldScopeType, StrictInjectionField, ListInjectionFieldProps, GetInjectionFieldProps, CreateInjectionFieldProps, RemoveInjectionFieldProps, UpdateInjectionFieldValuesProps } from '../services/injection_field/InjectionFieldService';
17
+ export { LocationService, locationTypes, locationTargetTypes } from '../services/location/LocationService';
18
+ export type { LocationServiceProps, LocationType, ListLocationProps, GetLocationProps, CreateLocationProps, UpdateLocationProps, RemoveLocationProps } from '../services/location/LocationService';
19
+ export { RegionService, regionTypes, regionTargetTypes } from '../services/region/RegionService';
20
+ export type { RegionServiceProps, RegionType, ListRegionProps, GetRegionProps, CreateRegionProps, UpdateRegionProps, RemoveRegionProps } from '../services/region/RegionService';
21
+ export { RateService, rateTypes, rateTargetTypes, rateCalculationTypes } from '../services/rate/RateService';
22
+ export type { RateServiceProps, RateType, ListRateProps, GetRateProps, CreateRateProps, UpdateRateProps, RemoveRateProps, RemoveRateItemProps, CalculateRateProps } from '../services/rate/RateService';
23
+ export { WalletService, walletTypes, walletTargetTypes, walletCurrencyTypes } from '../services/wallet/WalletService';
24
+ export type { WalletServiceProps, WalletType, ListWalletProps, GetWalletProps, CreateWalletProps, UpdateWalletProps, RemoveWalletProps } from '../services/wallet/WalletService';
25
+ export { TransactionService, transactionTypes, transactionTargetTypes, transactionActionTypes } from '../services/transaction/TransactionService';
26
+ export type { TransactionServiceProps, TransactionType, ListTransactionProps, GetTransactionProps, CreateTransactionProps, UpdateStatusTransactionProps } from '../services/transaction/TransactionService';
27
+ export { BusinessService, businessTypes, businessTargetTypes } from '../services/business/BusinessService';
28
+ export type { BusinessServiceProps, BusinessType, ListBusinessProps, GetBusinessProps, CreateBusinessProps, UpdateBusinessProps, RemoveBusinessProps } from '../services/business/BusinessService';
29
+ export { LogisticService, logisticTypes, logisticTargetTypes, transportTypes } from '../services/logistic/LogisticService';
30
+ export type { LogisticServiceProps, LogisticType, ListLogisticProps, GetLogisticProps, CreateLogisticProps, UpdateLogisticProps, RemoveLogisticProps } from '../services/logistic/LogisticService';
31
+ export { AccountService, accountTypes, accountTargetTypes } from '../services/account/AccountService';
32
+ export type { AccountServiceProps, AccountType, ListAccountProps, GetAccountProps, UpdateAccountProps } from '../services/account/AccountService';
33
+ export { RepositoryService, repositoryTypes, repositoryTargetTypes } from '../services/repository/RepositoryService';
34
+ export type { RepositoryServiceProps, RepositoryType, ListRepositoryProps, GetRepositoryProps, CreateRepositoryProps, UpdateRepositoryProps, RemoveRepositoryProps } from '../services/repository/RepositoryService';
35
+ export { PermissionService, permissionTypes, permissionScopeTypes, permissionModuleTypes, permissionFunctionTypes, permissionFunctionActionTypes } from '../services/permission/PermissionService';
36
+ export type { PermissionServiceProps, CheckPermissionAllowProps, PermissionScopeType, PermissionFunctionType, PermissionFunctionActionType } from '../services/permission/PermissionService';