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,353 @@
1
+ import { ApiService, ApiServiceType } from '@/lib';
2
+
3
+ import {
4
+ buildApiListUrl,
5
+ BuildApiListParamsProps,
6
+ buildApiGetUrl,
7
+ BuildApiGetParamsProps,
8
+ filterOperatorTypes
9
+ } from '@/lib';
10
+
11
+ export const regionTypes = {
12
+ country: "country",
13
+ state: "state",
14
+ area: "area"
15
+ } as const
16
+
17
+ export const regionTargetTypes = {
18
+ state: "state",
19
+ area: "area"
20
+ } as const
21
+
22
+ export type RegionType = typeof regionTypes[keyof typeof regionTypes] // keyof typeof regionTypes
23
+ export type RegionTargetType = typeof regionTargetTypes[keyof typeof regionTargetTypes]
24
+ export type RegionTargetKey = keyof typeof regionTargetTypes
25
+
26
+ export type RegionServiceProps = ApiServiceType & {
27
+ regionTargetType?: RegionTargetType
28
+ regionType?: RegionType
29
+ };
30
+
31
+ export type ListRegionProps = BuildApiListParamsProps & {
32
+ regionType?: RegionType
33
+ countryId?: number
34
+ stateId?: number
35
+ }
36
+
37
+ export type GetRegionProps = BuildApiGetParamsProps & {
38
+ id: number | string
39
+ regionType?: RegionType
40
+ }
41
+
42
+ type Country = {
43
+ countryName: string
44
+ sortName: string
45
+ phoneCode: string
46
+ status: boolean
47
+ }
48
+
49
+ type State = {
50
+ countryId: number,
51
+ stateName: string
52
+ status: boolean
53
+ }
54
+
55
+ type Area = {
56
+ stateId: number,
57
+ areaName: string
58
+ postcode: string
59
+ status: boolean
60
+ }
61
+
62
+ export type CreateRegionProps = {
63
+ regionTargetType?: RegionTargetType
64
+ regionType?: RegionType
65
+ data:
66
+ {
67
+ country: Country
68
+ } |
69
+ {
70
+ state: State,
71
+ areaItems: Area[]
72
+ } |
73
+ {
74
+ area: Area
75
+ }
76
+ }
77
+
78
+ export type UpdateRegionProps = {
79
+ id: number
80
+ regionTargetType?: RegionTargetType
81
+ regionType?: RegionType
82
+ data:
83
+ {
84
+ country: Country
85
+ } |
86
+ {
87
+ state: Omit<State, "countryId">,
88
+ areaItems: (Area & { areaId: number })[]
89
+ } |
90
+ {
91
+ area: Omit<Area, "stateId">
92
+ }
93
+ }
94
+
95
+ export type RemoveRegionProps = {
96
+ regionTargetType?: RegionTargetType
97
+ ids: number[]
98
+ }
99
+
100
+ export type GetDataTypeRegionProps = {
101
+ regionType?: RegionType
102
+ }
103
+
104
+ const getCreatePayload = (regionType: RegionType, data: CreateRegionProps["data"]) => {
105
+
106
+ if (regionType === "country" && "country" in data) {
107
+
108
+ return {
109
+ country: {
110
+ country_name: data.country.countryName,
111
+ sort_name: data.country.sortName,
112
+ phone_code: data.country.phoneCode,
113
+ status: (data.country.status === true) ? 1 : 0
114
+ }
115
+ }
116
+ }
117
+
118
+ if (regionType === "state" && "state" in data) {
119
+
120
+ return {
121
+ state: {
122
+ country_id: data.state.countryId,
123
+ state_name: data.state.stateName,
124
+ status: (data.state.status === true) ? 1 : 0
125
+ },
126
+ area_items: data.areaItems.map((i) => ({
127
+ area_name: i.areaName,
128
+ postcode_string: i.postcode,
129
+ status: (i.status === true) ? 1 : 0
130
+ }))
131
+ }
132
+ }
133
+
134
+ if (regionType === "area" && "area" in data) {
135
+
136
+ return {
137
+ area: {
138
+ state_id: data.area.stateId,
139
+ area_name: data.area.areaName,
140
+ postcode_string: data.area.postcode,
141
+ status: (data.area.status === true) ? 1 : 0
142
+ }
143
+ }
144
+ }
145
+
146
+ }
147
+
148
+ const getUpdatePayload = (regionType: RegionType, data: UpdateRegionProps["data"]) => {
149
+
150
+ if (regionType === "country" && "country" in data) {
151
+
152
+ return {
153
+ country: {
154
+ country_name: data.country.countryName,
155
+ sort_name: data.country.sortName,
156
+ phone_code: data.country.phoneCode,
157
+ status: (data.country.status === true) ? 1 : 0
158
+ }
159
+ }
160
+ }
161
+
162
+ if (regionType === "state" && "state" in data) {
163
+
164
+ return {
165
+ state: {
166
+ state_name: data.state.stateName,
167
+ status: (data.state.status === true) ? 1 : 0
168
+ },
169
+ area_items: data.areaItems.map((i) => ({
170
+ area_id: i.areaId,
171
+ area_name: i.areaName,
172
+ postcode_string: i.postcode,
173
+ status: (i.status === true) ? 1 : 0
174
+ }))
175
+ }
176
+ }
177
+
178
+ if (regionType === "area" && "area" in data) {
179
+
180
+ return {
181
+ area: {
182
+ area_name: data.area.areaName,
183
+ postcode_string: data.area.postcode,
184
+ status: (data.area.status === true) ? 1 : 0
185
+ }
186
+ }
187
+ }
188
+
189
+ }
190
+
191
+ export const RegionService = (props?: RegionServiceProps) => {
192
+
193
+ const { regionType = "country", regionTargetType, ...rest } = props ?? {};
194
+
195
+ const { makeCall } = ApiService(rest?.customToken ? { customToken: rest.customToken } : {})
196
+
197
+ const endpoint1 = "region";
198
+ const endpoint2 = "regions"
199
+
200
+ const list = async (props: ListRegionProps) => {
201
+
202
+ const { regionType: overrideRegionType } = props;
203
+
204
+ let _regionType = overrideRegionType || regionType
205
+
206
+ let url: string
207
+
208
+ if (_regionType === "state") {
209
+ url = buildApiListUrl(
210
+ `${endpoint2}/${_regionType}/${props.countryId}`,
211
+ props
212
+ );
213
+ } else if (_regionType === "area") {
214
+ url = buildApiListUrl(
215
+ `${endpoint2}/${_regionType}/${props.stateId}`,
216
+ props
217
+ );
218
+ } else {
219
+ url = buildApiListUrl(
220
+ `${endpoint2}/${_regionType}`,
221
+ props
222
+ );
223
+ }
224
+
225
+
226
+ const response = await makeCall({
227
+ url,
228
+ method: "get",
229
+ payload: {},
230
+ // configuration
231
+ });
232
+
233
+ return response;
234
+
235
+ }
236
+
237
+ const get = async (props: GetRegionProps) => {
238
+
239
+ const { id, regionType: overrideRegionType } = props;
240
+
241
+ const url = buildApiGetUrl(
242
+ `${endpoint2}/${overrideRegionType || regionType}/${id}`,
243
+ props
244
+ );
245
+
246
+ const response = await makeCall({
247
+ url,
248
+ method: "get",
249
+ payload: {},
250
+ // configuration
251
+ });
252
+
253
+ return response;
254
+
255
+ }
256
+
257
+ const create = async ({ data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }: CreateRegionProps) => {
258
+
259
+ let _regionType = overrideRegionType || regionType
260
+
261
+ let payload: any = getCreatePayload(_regionType, data)
262
+
263
+ let url = `${endpoint1}`;
264
+
265
+ let postData = {
266
+ scope: {
267
+ target: overrideRegionTargetType || regionTargetType,
268
+ action: "",
269
+ },
270
+ payload
271
+ }
272
+
273
+ const response = await makeCall({
274
+ url,
275
+ method: "post",
276
+ payload: postData
277
+ });
278
+
279
+ return response;
280
+
281
+ }
282
+
283
+ const update = async ({ id, data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }: UpdateRegionProps) => {
284
+
285
+ let url = `${endpoint1}/${id}`
286
+
287
+ let _regionType = overrideRegionType || regionType
288
+
289
+ let payload: any = getUpdatePayload(_regionType, data)
290
+
291
+ const postData = {
292
+ scope: {
293
+ target: overrideRegionTargetType || regionTargetType,
294
+ action: "",
295
+ },
296
+ payload
297
+ }
298
+
299
+ const response = await makeCall({
300
+ url,
301
+ method: "put",
302
+ payload: postData
303
+ });
304
+
305
+ return response;
306
+
307
+ }
308
+
309
+ const remove = async ({ ids, regionTargetType: overrideRegionTargetType }: RemoveRegionProps) => {
310
+
311
+ let url = `${endpoint2}/delete`
312
+
313
+ const postData = {
314
+ scope: {
315
+ target: overrideRegionTargetType || regionTargetType,
316
+ },
317
+ payload: {
318
+ ids
319
+ }
320
+ }
321
+
322
+ const response = await makeCall({
323
+ url,
324
+ method: "post",
325
+ payload: postData
326
+ });
327
+
328
+ return response;
329
+
330
+ }
331
+
332
+ const getDataTypes = async ({ regionType: overrideRegionType }: GetDataTypeRegionProps) => {
333
+
334
+ let url = `${endpoint1}/data_types/${overrideRegionType || regionType}`
335
+
336
+ const response = await makeCall({
337
+ url,
338
+ method: "get",
339
+ });
340
+
341
+ return response;
342
+
343
+ }
344
+
345
+ return {
346
+ list,
347
+ get,
348
+ create,
349
+ update,
350
+ remove,
351
+ getDataTypes
352
+ };
353
+ }