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,303 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RateService = exports.rateCalculationTypes = exports.rateTargetTypes = exports.rateTypes = void 0;
4
+ const lib_1 = require("@/lib");
5
+ const lib_2 = require("@/lib");
6
+ exports.rateTypes = {
7
+ shippingRate: "shipping_rate",
8
+ shippingRateItem: "shipping_rate_item",
9
+ shippingRule: "shipping_rule",
10
+ taxRate: "tax_rate"
11
+ };
12
+ exports.rateTargetTypes = {
13
+ shippingRate: "shipping_rate",
14
+ shippingRateItem: "shipping_rate",
15
+ shippingRule: "shipping_rule",
16
+ taxRate: "tax_rate"
17
+ };
18
+ exports.rateCalculationTypes = [
19
+ { id: "fixed", display: "Fixed" },
20
+ { id: "tier", display: "Tier" }
21
+ ];
22
+ // rateType: Omit<RateType, "shippingRateItem">
23
+ const getCreatePayload = (rateType, data) => {
24
+ if (rateType === "shipping_rate" && "shippingRate" in data) {
25
+ return {
26
+ rate: {
27
+ rate_name: data.shippingRate.rate.rateName,
28
+ scope_id: data.shippingRate.rate.scopeId,
29
+ scope_type: data.shippingRate.rate.scopeType,
30
+ description: data.shippingRate.rate.description,
31
+ status: (data.shippingRate.rate.status === true) ? 1 : 0
32
+ }
33
+ };
34
+ }
35
+ if (rateType === "shipping_rule" && "shippingRateRule" in data) {
36
+ return {
37
+ rule: {
38
+ ruleName: data.shippingRateRule.rule.ruleName,
39
+ calculationType: data.shippingRateRule.rule.calculationType,
40
+ description: data.shippingRateRule.rule.description,
41
+ base_fee: data.shippingRateRule.rule.chargeAmount,
42
+ status: (data.shippingRateRule.rule.status === true) ? 1 : 0
43
+ },
44
+ props: {
45
+ measure_type: data.shippingRateRule.rule.measureType,
46
+ charge_method: data.shippingRateRule.rule.chargeMethod,
47
+ customer_groups: data.shippingRateRule.rule.customerGroupIds
48
+ },
49
+ items: data.shippingRateRule.items.map(i => ({
50
+ min_value: i.minValue,
51
+ max_value: i.maxValue,
52
+ item_rate: i.itemRate
53
+ }))
54
+ };
55
+ }
56
+ if (rateType === "tax_rate" && "taxRate" in data) {
57
+ return {
58
+ rate: {
59
+ rate_name: data.taxRate.rate.rateName,
60
+ description: data.taxRate.rate.description,
61
+ status: (data.taxRate.rate.status === true) ? 1 : 0
62
+ },
63
+ props: {
64
+ tax_percentage: data.taxRate.rate.taxPercentage
65
+ }
66
+ };
67
+ }
68
+ };
69
+ const getUpdatePayload = (rateType, data) => {
70
+ if (rateType === "shipping_rate" && "shippingRate" in data) {
71
+ return {
72
+ rate: {
73
+ rate_name: data.shippingRate.rate.rateName,
74
+ description: data.shippingRate.rate.description,
75
+ status: (data.shippingRate.rate.status === true) ? 1 : 0
76
+ }
77
+ };
78
+ }
79
+ if (rateType === "shipping_rate_item" && "shippingRateItem" in data) {
80
+ return {
81
+ items: data.shippingRateItem.items.map(i => ({
82
+ scopeType: i.scopeType,
83
+ scopeId: i.scopeId,
84
+ props: {
85
+ rule_id: i.ruleIds,
86
+ to_location_id: i.toLocationId,
87
+ measure_type: i.measureType
88
+ }
89
+ }))
90
+ };
91
+ }
92
+ if (rateType === "shipping_rule" && "shippingRateRule" in data) {
93
+ return {
94
+ rule: {
95
+ ruleName: data.shippingRateRule.rule.ruleName,
96
+ calculationType: data.shippingRateRule.rule.calculationType,
97
+ description: data.shippingRateRule.rule.description,
98
+ base_fee: data.shippingRateRule.rule.chargeAmount,
99
+ status: (data.shippingRateRule.rule.status === true) ? 1 : 0
100
+ },
101
+ props: {
102
+ measure_type: data.shippingRateRule.rule.measureType,
103
+ charge_method: data.shippingRateRule.rule.chargeMethod,
104
+ customer_groups: data.shippingRateRule.rule.customerGroupIds
105
+ },
106
+ items: data.shippingRateRule.items.map(i => ({
107
+ min_value: i.minValue,
108
+ max_value: i.maxValue,
109
+ item_rate: i.itemRate
110
+ }))
111
+ };
112
+ }
113
+ if (rateType === "tax_rate" && "taxRate" in data) {
114
+ return {
115
+ rate: {
116
+ rate_name: data.taxRate.rate.rateName,
117
+ description: data.taxRate.rate.description,
118
+ status: (data.taxRate.rate.status === true) ? 1 : 0
119
+ },
120
+ props: {
121
+ tax_percentage: data.taxRate.rate.taxPercentage
122
+ }
123
+ };
124
+ }
125
+ };
126
+ const getCalculatePayload = (rateType, data) => {
127
+ if (rateType === "shippingRate") {
128
+ return {
129
+ items: data.calculateShippingRate.items.map(i => ({
130
+ item_key: i.itemKey,
131
+ rate: {
132
+ rate_id: i.rateId,
133
+ to_scope_type: i.toScopeType,
134
+ to_scope_id: i.toScopeId,
135
+ user_id: i.userId
136
+ },
137
+ measure_values: {
138
+ weight: i.measureWeightValue,
139
+ cbm: i.measureCbmValue,
140
+ unit: i.measureUnitValue
141
+ },
142
+ calculate_items: i.calculateItems.map(i2 => ({
143
+ calculate_key: i2.calculateKey,
144
+ measure_types: i2.measureTypes,
145
+ condition: i2.condition
146
+ }))
147
+ }))
148
+ };
149
+ }
150
+ if (rateType === "taxRate") {
151
+ return {
152
+ items: data.calculateTaxRate.items.map(i => ({
153
+ item_key: i.itemKey,
154
+ rate: {
155
+ rate_id: i.rateId
156
+ },
157
+ measure_values: {
158
+ amount: i.measureAmountValue
159
+ }
160
+ }))
161
+ };
162
+ }
163
+ };
164
+ const RateService = (props) => {
165
+ const { rateType = "tax_rate", rateTargetType, ...rest } = props ?? {};
166
+ // const rateType: RateTypeValue = _rateType ? rateTypes[_rateType] : "tax_rate"
167
+ const { makeCall } = (0, lib_1.ApiService)(rest?.customToken ? { customToken: rest.customToken } : {});
168
+ const endpoint1 = "rate";
169
+ const endpoint2 = "rates";
170
+ const list = async (props) => {
171
+ const { rateType: overrideRateType } = props;
172
+ // const overrideRateType: RateTypeValue = _overrideRateType ? rateTypes[_overrideRateType] : "tax_rate"
173
+ const url = (0, lib_2.buildApiListUrl)(`${endpoint2}/${overrideRateType || rateType}`, props);
174
+ const response = await makeCall({
175
+ url,
176
+ method: "get",
177
+ payload: {},
178
+ // configuration
179
+ });
180
+ return response;
181
+ };
182
+ const get = async (props) => {
183
+ const { id, rateType: overrideRateType } = props;
184
+ // const overrideRateType ? rateTypes[_overrideRateType] : "tax_rate"
185
+ const url = (0, lib_2.buildApiGetUrl)(`${endpoint1}/${overrideRateType || rateType}/${id}`, props);
186
+ const response = await makeCall({
187
+ url,
188
+ method: "get",
189
+ payload: {},
190
+ // configuration
191
+ });
192
+ return response;
193
+ };
194
+ const create = async ({ data, rateType: overrideRateType, rateTargetType: overrideRateTargetType }) => {
195
+ let _rateType = overrideRateType || rateType;
196
+ let payload = getCreatePayload(_rateType, data);
197
+ let url = `${endpoint1}`;
198
+ let postData = {
199
+ scope: {
200
+ target: overrideRateTargetType || rateTargetType,
201
+ action: "",
202
+ },
203
+ payload
204
+ };
205
+ const response = await makeCall({
206
+ url,
207
+ method: "post",
208
+ payload: postData
209
+ });
210
+ return response;
211
+ };
212
+ const update = async ({ id, data, rateType: overrideRateType, rateTargetType: overrideRateTargetType }) => {
213
+ let url = `${endpoint1}/${id}`;
214
+ let _rateType = overrideRateType || rateType;
215
+ let payload = getUpdatePayload(_rateType, data);
216
+ const postData = {
217
+ scope: {
218
+ target: overrideRateTargetType || rateTargetType,
219
+ action: "",
220
+ },
221
+ payload
222
+ };
223
+ const response = await makeCall({
224
+ url,
225
+ method: "put",
226
+ payload: postData
227
+ });
228
+ return response;
229
+ };
230
+ const remove = async ({ ids, rateTargetType: overrideRateTargetType }) => {
231
+ let url = `${endpoint2}/delete`;
232
+ const postData = {
233
+ scope: {
234
+ target: overrideRateTargetType || rateTargetType,
235
+ },
236
+ payload: {
237
+ ids
238
+ }
239
+ };
240
+ const response = await makeCall({
241
+ url,
242
+ method: "post",
243
+ payload: postData
244
+ });
245
+ return response;
246
+ };
247
+ const removeItem = async ({ ids, rateTargetType: overrideRateTargetType }) => {
248
+ let url = `${endpoint2}/delete_item`;
249
+ const postData = {
250
+ scope: {
251
+ target: overrideRateTargetType || rateTargetType,
252
+ },
253
+ payload: {
254
+ ids
255
+ }
256
+ };
257
+ const response = await makeCall({
258
+ url,
259
+ method: "post",
260
+ payload: postData
261
+ });
262
+ return response;
263
+ };
264
+ const getDataTypes = async ({ rateType: overrideRateType }) => {
265
+ let url = `${endpoint1}/data_types/${overrideRateType || rateType}`;
266
+ const response = await makeCall({
267
+ url,
268
+ method: "get",
269
+ });
270
+ return response;
271
+ };
272
+ const calculateRate = async ({ data, rateType: overrideRateType, rateTargetType: overrideRateTargetType }) => {
273
+ let url = `${endpoint1}/calculate_rate`;
274
+ let payload;
275
+ if (overrideRateType) {
276
+ payload = getCalculatePayload(overrideRateType, data);
277
+ }
278
+ const postData = {
279
+ scope: {
280
+ target: overrideRateTargetType || rateTargetType,
281
+ action: "",
282
+ },
283
+ payload
284
+ };
285
+ const response = await makeCall({
286
+ url,
287
+ method: "put",
288
+ payload: postData
289
+ });
290
+ return response;
291
+ };
292
+ return {
293
+ list,
294
+ get,
295
+ create,
296
+ update,
297
+ remove,
298
+ removeItem,
299
+ getDataTypes,
300
+ calculateRate
301
+ };
302
+ };
303
+ exports.RateService = RateService;
@@ -0,0 +1,111 @@
1
+ import { ApiServiceType } from '@/lib';
2
+ import { BuildApiListParamsProps, BuildApiGetParamsProps } from '@/lib';
3
+ export declare const regionTypes: {
4
+ readonly country: "country";
5
+ readonly state: "state";
6
+ readonly area: "area";
7
+ };
8
+ export declare const regionTargetTypes: {
9
+ readonly state: "state";
10
+ readonly area: "area";
11
+ };
12
+ export type RegionType = typeof regionTypes[keyof typeof regionTypes];
13
+ export type RegionTargetType = typeof regionTargetTypes[keyof typeof regionTargetTypes];
14
+ export type RegionTargetKey = keyof typeof regionTargetTypes;
15
+ export type RegionServiceProps = ApiServiceType & {
16
+ regionTargetType?: RegionTargetType;
17
+ regionType?: RegionType;
18
+ };
19
+ export type ListRegionProps = BuildApiListParamsProps & {
20
+ regionType?: RegionType;
21
+ countryId?: number;
22
+ stateId?: number;
23
+ };
24
+ export type GetRegionProps = BuildApiGetParamsProps & {
25
+ id: number | string;
26
+ regionType?: RegionType;
27
+ };
28
+ type Country = {
29
+ countryName: string;
30
+ sortName: string;
31
+ phoneCode: string;
32
+ status: boolean;
33
+ };
34
+ type State = {
35
+ countryId: number;
36
+ stateName: string;
37
+ status: boolean;
38
+ };
39
+ type Area = {
40
+ stateId: number;
41
+ areaName: string;
42
+ postcode: string;
43
+ status: boolean;
44
+ };
45
+ export type CreateRegionProps = {
46
+ regionTargetType?: RegionTargetType;
47
+ regionType?: RegionType;
48
+ data: {
49
+ country: Country;
50
+ } | {
51
+ state: State;
52
+ areaItems: Area[];
53
+ } | {
54
+ area: Area;
55
+ };
56
+ };
57
+ export type UpdateRegionProps = {
58
+ id: number;
59
+ regionTargetType?: RegionTargetType;
60
+ regionType?: RegionType;
61
+ data: {
62
+ country: Country;
63
+ } | {
64
+ state: Omit<State, "countryId">;
65
+ areaItems: (Area & {
66
+ areaId: number;
67
+ })[];
68
+ } | {
69
+ area: Omit<Area, "stateId">;
70
+ };
71
+ };
72
+ export type RemoveRegionProps = {
73
+ regionTargetType?: RegionTargetType;
74
+ ids: number[];
75
+ };
76
+ export type GetDataTypeRegionProps = {
77
+ regionType?: RegionType;
78
+ };
79
+ export declare const RegionService: (props?: RegionServiceProps) => {
80
+ list: (props: ListRegionProps) => Promise<{
81
+ status: boolean;
82
+ message: string;
83
+ data?: any;
84
+ }>;
85
+ get: (props: GetRegionProps) => Promise<{
86
+ status: boolean;
87
+ message: string;
88
+ data?: any;
89
+ }>;
90
+ create: ({ data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }: CreateRegionProps) => Promise<{
91
+ status: boolean;
92
+ message: string;
93
+ data?: any;
94
+ }>;
95
+ update: ({ id, data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }: UpdateRegionProps) => Promise<{
96
+ status: boolean;
97
+ message: string;
98
+ data?: any;
99
+ }>;
100
+ remove: ({ ids, regionTargetType: overrideRegionTargetType }: RemoveRegionProps) => Promise<{
101
+ status: boolean;
102
+ message: string;
103
+ data?: any;
104
+ }>;
105
+ getDataTypes: ({ regionType: overrideRegionType }: GetDataTypeRegionProps) => Promise<{
106
+ status: boolean;
107
+ message: string;
108
+ data?: any;
109
+ }>;
110
+ };
111
+ export {};
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegionService = exports.regionTargetTypes = exports.regionTypes = void 0;
4
+ const lib_1 = require("@/lib");
5
+ const lib_2 = require("@/lib");
6
+ exports.regionTypes = {
7
+ country: "country",
8
+ state: "state",
9
+ area: "area"
10
+ };
11
+ exports.regionTargetTypes = {
12
+ state: "state",
13
+ area: "area"
14
+ };
15
+ const getCreatePayload = (regionType, data) => {
16
+ if (regionType === "country" && "country" in data) {
17
+ return {
18
+ country: {
19
+ country_name: data.country.countryName,
20
+ sort_name: data.country.sortName,
21
+ phone_code: data.country.phoneCode,
22
+ status: (data.country.status === true) ? 1 : 0
23
+ }
24
+ };
25
+ }
26
+ if (regionType === "state" && "state" in data) {
27
+ return {
28
+ state: {
29
+ country_id: data.state.countryId,
30
+ state_name: data.state.stateName,
31
+ status: (data.state.status === true) ? 1 : 0
32
+ },
33
+ area_items: data.areaItems.map((i) => ({
34
+ area_name: i.areaName,
35
+ postcode_string: i.postcode,
36
+ status: (i.status === true) ? 1 : 0
37
+ }))
38
+ };
39
+ }
40
+ if (regionType === "area" && "area" in data) {
41
+ return {
42
+ area: {
43
+ state_id: data.area.stateId,
44
+ area_name: data.area.areaName,
45
+ postcode_string: data.area.postcode,
46
+ status: (data.area.status === true) ? 1 : 0
47
+ }
48
+ };
49
+ }
50
+ };
51
+ const getUpdatePayload = (regionType, data) => {
52
+ if (regionType === "country" && "country" in data) {
53
+ return {
54
+ country: {
55
+ country_name: data.country.countryName,
56
+ sort_name: data.country.sortName,
57
+ phone_code: data.country.phoneCode,
58
+ status: (data.country.status === true) ? 1 : 0
59
+ }
60
+ };
61
+ }
62
+ if (regionType === "state" && "state" in data) {
63
+ return {
64
+ state: {
65
+ state_name: data.state.stateName,
66
+ status: (data.state.status === true) ? 1 : 0
67
+ },
68
+ area_items: data.areaItems.map((i) => ({
69
+ area_id: i.areaId,
70
+ area_name: i.areaName,
71
+ postcode_string: i.postcode,
72
+ status: (i.status === true) ? 1 : 0
73
+ }))
74
+ };
75
+ }
76
+ if (regionType === "area" && "area" in data) {
77
+ return {
78
+ area: {
79
+ area_name: data.area.areaName,
80
+ postcode_string: data.area.postcode,
81
+ status: (data.area.status === true) ? 1 : 0
82
+ }
83
+ };
84
+ }
85
+ };
86
+ const RegionService = (props) => {
87
+ const { regionType = "country", regionTargetType, ...rest } = props ?? {};
88
+ const { makeCall } = (0, lib_1.ApiService)(rest?.customToken ? { customToken: rest.customToken } : {});
89
+ const endpoint1 = "region";
90
+ const endpoint2 = "regions";
91
+ const list = async (props) => {
92
+ const { regionType: overrideRegionType } = props;
93
+ let _regionType = overrideRegionType || regionType;
94
+ let url;
95
+ if (_regionType === "state") {
96
+ url = (0, lib_2.buildApiListUrl)(`${endpoint2}/${_regionType}/${props.countryId}`, props);
97
+ }
98
+ else if (_regionType === "area") {
99
+ url = (0, lib_2.buildApiListUrl)(`${endpoint2}/${_regionType}/${props.stateId}`, props);
100
+ }
101
+ else {
102
+ url = (0, lib_2.buildApiListUrl)(`${endpoint2}/${_regionType}`, props);
103
+ }
104
+ const response = await makeCall({
105
+ url,
106
+ method: "get",
107
+ payload: {},
108
+ // configuration
109
+ });
110
+ return response;
111
+ };
112
+ const get = async (props) => {
113
+ const { id, regionType: overrideRegionType } = props;
114
+ const url = (0, lib_2.buildApiGetUrl)(`${endpoint2}/${overrideRegionType || regionType}/${id}`, props);
115
+ const response = await makeCall({
116
+ url,
117
+ method: "get",
118
+ payload: {},
119
+ // configuration
120
+ });
121
+ return response;
122
+ };
123
+ const create = async ({ data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }) => {
124
+ let _regionType = overrideRegionType || regionType;
125
+ let payload = getCreatePayload(_regionType, data);
126
+ let url = `${endpoint1}`;
127
+ let postData = {
128
+ scope: {
129
+ target: overrideRegionTargetType || regionTargetType,
130
+ action: "",
131
+ },
132
+ payload
133
+ };
134
+ const response = await makeCall({
135
+ url,
136
+ method: "post",
137
+ payload: postData
138
+ });
139
+ return response;
140
+ };
141
+ const update = async ({ id, data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }) => {
142
+ let url = `${endpoint1}/${id}`;
143
+ let _regionType = overrideRegionType || regionType;
144
+ let payload = getUpdatePayload(_regionType, data);
145
+ const postData = {
146
+ scope: {
147
+ target: overrideRegionTargetType || regionTargetType,
148
+ action: "",
149
+ },
150
+ payload
151
+ };
152
+ const response = await makeCall({
153
+ url,
154
+ method: "put",
155
+ payload: postData
156
+ });
157
+ return response;
158
+ };
159
+ const remove = async ({ ids, regionTargetType: overrideRegionTargetType }) => {
160
+ let url = `${endpoint2}/delete`;
161
+ const postData = {
162
+ scope: {
163
+ target: overrideRegionTargetType || regionTargetType,
164
+ },
165
+ payload: {
166
+ ids
167
+ }
168
+ };
169
+ const response = await makeCall({
170
+ url,
171
+ method: "post",
172
+ payload: postData
173
+ });
174
+ return response;
175
+ };
176
+ const getDataTypes = async ({ regionType: overrideRegionType }) => {
177
+ let url = `${endpoint1}/data_types/${overrideRegionType || regionType}`;
178
+ const response = await makeCall({
179
+ url,
180
+ method: "get",
181
+ });
182
+ return response;
183
+ };
184
+ return {
185
+ list,
186
+ get,
187
+ create,
188
+ update,
189
+ remove,
190
+ getDataTypes
191
+ };
192
+ };
193
+ exports.RegionService = RegionService;