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,381 @@
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 branchUserTypes = {
12
+ customer: "customer",
13
+ retailer: "retailer",
14
+ } as const
15
+
16
+ export const branchUserTargetTypes = {
17
+ customer: "customer",
18
+ retailer: "retailer",
19
+ } as const
20
+
21
+ export type BranchUserType = typeof branchUserTypes[keyof typeof branchUserTypes]
22
+ export type BranchUserTargetType = typeof branchUserTargetTypes[keyof typeof branchUserTargetTypes]
23
+ export type BranchUserTargetKey = keyof typeof branchUserTargetTypes
24
+
25
+ export type BranchUserServiceProps = ApiServiceType & {
26
+ branchUserTargetType?: BranchUserTargetType
27
+ branchUserType?: BranchUserType
28
+ };
29
+
30
+ export type ListBranchUserProps = BuildApiListParamsProps & {
31
+ branchUserType?: BranchUserType
32
+ }
33
+
34
+ export type GetBranchUserProps = BuildApiGetParamsProps & {
35
+ id: number | string
36
+ branchUserType: BranchUserType
37
+ }
38
+
39
+ type BranchUserCredential = {
40
+ username: string
41
+ password: string
42
+ // userType: UserTargetType
43
+ firstname: string
44
+ lastname: string
45
+ contact: string
46
+ email: string
47
+ status: boolean
48
+ address: string
49
+ }
50
+
51
+ // type BranchUserCustomer = {
52
+ // credential: BranchUserCredential,
53
+ // branchUser: {
54
+ // parentUserId: string | number
55
+ // }
56
+ // props?: {
57
+ // branchId: number[]
58
+ // }
59
+ // }
60
+
61
+ // type BranchUserRetailer = {
62
+ // credential: BranchUserCredential,
63
+ // branch_user: {
64
+ // parent_user_id: string | number
65
+ // }
66
+ // props?: {
67
+ // branch_id: number[]
68
+ // }
69
+ // }
70
+
71
+ export type CreateBranchUserProps = {
72
+ branchUserTargetType?: BranchUserTargetType
73
+ branchUserType?: BranchUserType
74
+ // data: BranchUserCustomer | BranchUserRetailer
75
+ data:
76
+ // customer
77
+ {
78
+ customer: {
79
+ credential: BranchUserCredential,
80
+ branchUser: {
81
+ parentUserId: string | number
82
+ }
83
+ props?: {
84
+ branchId: number[]
85
+ }
86
+ }
87
+ } |
88
+ // retailer
89
+ {
90
+ retailer: {
91
+ credential: BranchUserCredential,
92
+ branchUser: {
93
+ parentUserId: string | number
94
+ }
95
+ props?: {
96
+ branchId: number[]
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ export type UpdateBranchUserProps = {
103
+ id: number
104
+ branchUserTargetType?: BranchUserTargetType
105
+ branchUserType?: BranchUserType
106
+ data:
107
+ // customer
108
+ {
109
+ customer: {
110
+ credential: Omit<BranchUserCredential, "username" | "password"> & { password?: string },
111
+ branchUser: {
112
+ parentUserId: string | number
113
+ }
114
+ props?: {
115
+ branchId: number[]
116
+ }
117
+ }
118
+ } |
119
+ // retailer
120
+ {
121
+ retailer: {
122
+ credential: Omit<BranchUserCredential, "username" | "password"> & { password?: string },
123
+ branchUser: {
124
+ parentUserId: string | number
125
+ }
126
+ props?: {
127
+ branchId: number[]
128
+ }
129
+ }
130
+ }
131
+ }
132
+
133
+ export type RemoveBranchUserProps = {
134
+ branchUserTargetType?: BranchUserTargetType
135
+ ids: number[]
136
+ }
137
+
138
+ export type GetDataTypeBranchUserProps = {
139
+ branchUserType?: BranchUserType
140
+ }
141
+
142
+ const getCreatePayload = (branchUserType: BranchUserType, data: CreateBranchUserProps["data"]) => {
143
+
144
+ if (branchUserType === "customer" && "customer" in data) {
145
+
146
+ return {
147
+ credential: {
148
+ username: data.customer.credential.username,
149
+ password: data.customer.credential.password,
150
+ firstname: data.customer.credential.firstname,
151
+ lastname: data.customer.credential.lastname,
152
+ contact: data.customer.credential.contact,
153
+ email: data.customer.credential.email,
154
+ status: (data.customer.credential.status === true) ? 1 : 0,
155
+ address: data.customer.credential.address
156
+ },
157
+ branchUser: {
158
+ parent_user_id: data.customer.branchUser.parentUserId
159
+ },
160
+ props: {
161
+ branch_id: data.customer.props?.branchId ? data.customer.props?.branchId : []
162
+ }
163
+ }
164
+
165
+ }
166
+
167
+ if (branchUserType === "retailer" && "retailer" in data) {
168
+
169
+ return {
170
+ credential: {
171
+ username: data.retailer.credential.username,
172
+ password: data.retailer.credential.password,
173
+ firstname: data.retailer.credential.firstname,
174
+ lastname: data.retailer.credential.lastname,
175
+ contact: data.retailer.credential.contact,
176
+ email: data.retailer.credential.email,
177
+ status: (data.retailer.credential.status === true) ? 1 : 0,
178
+ address: data.retailer.credential.address
179
+ },
180
+ branch_user: {
181
+ parent_user_id: data.retailer.branchUser.parentUserId
182
+ },
183
+ props: {
184
+ branch_id: data.retailer.props?.branchId ? data.retailer.props?.branchId : []
185
+ }
186
+ }
187
+ }
188
+
189
+ }
190
+
191
+ const getUpdatePayload = (branchUserType: BranchUserType, data: UpdateBranchUserProps["data"]) => {
192
+
193
+ if (branchUserType === "customer" && "customer" in data) {
194
+
195
+ return {
196
+ credential: {
197
+ ...(data.customer.credential.password ? { password: data.customer.credential.password } : {}),
198
+ firstname: data.customer.credential.firstname,
199
+ lastname: data.customer.credential.lastname,
200
+ contact: data.customer.credential.contact,
201
+ email: data.customer.credential.email,
202
+ status: (data.customer.credential.status === true) ? 1 : 0,
203
+ address: data.customer.credential.address
204
+ },
205
+ branch_user: {
206
+ parent_user_id: data.customer.branchUser.parentUserId
207
+ },
208
+ props: {
209
+ branch_id: data.customer.props?.branchId ? data.customer.props?.branchId : []
210
+ }
211
+ }
212
+ }
213
+
214
+ if (branchUserType === "retailer" && "retailer" in data) {
215
+
216
+ return {
217
+ credential: {
218
+ ...(data.retailer.credential.password ? { password: data.retailer.credential.password } : {}),
219
+ firstname: data.retailer.credential.firstname,
220
+ lastname: data.retailer.credential.lastname,
221
+ contact: data.retailer.credential.contact,
222
+ email: data.retailer.credential.email,
223
+ status: (data.retailer.credential.status === true) ? 1 : 0,
224
+ address: data.retailer.credential.address
225
+ },
226
+ branchUser: {
227
+ parent_user_id: data.retailer.branchUser.parentUserId
228
+ },
229
+ props: {
230
+ branch_id: data.retailer.props?.branchId ? data.retailer.props?.branchId : []
231
+ }
232
+ }
233
+ }
234
+
235
+ }
236
+
237
+ export const BranchUserService = (props?: BranchUserServiceProps) => {
238
+
239
+ const { branchUserType = "customer", branchUserTargetType, ...rest } = props ?? {};
240
+
241
+ const { makeCall } = ApiService(rest?.customToken ? { customToken: rest.customToken } : {})
242
+
243
+ const endpoint1 = "user/branch_user";
244
+ const endpoint2 = "user/branch_users"
245
+
246
+ const list = async (props: ListBranchUserProps) => {
247
+
248
+ const { branchUserType: overrideBranchUserType } = props;
249
+
250
+ const url = buildApiListUrl(
251
+ `${endpoint2}/${overrideBranchUserType || branchUserType}`,
252
+ props
253
+ );
254
+
255
+ const response = await makeCall({
256
+ url,
257
+ method: "get",
258
+ payload: {},
259
+ // configuration
260
+ });
261
+
262
+ return response;
263
+
264
+ }
265
+
266
+ const get = async (props: GetBranchUserProps) => {
267
+
268
+ const { id, branchUserType: overrideBranchUserType } = props;
269
+
270
+ const url = buildApiGetUrl(
271
+ `${endpoint1}/${overrideBranchUserType || branchUserType}/${id}`,
272
+ props
273
+ );
274
+
275
+ const response = await makeCall({
276
+ url,
277
+ method: "get",
278
+ payload: {},
279
+ // configuration
280
+ });
281
+
282
+ return response;
283
+
284
+ }
285
+
286
+ const create = async ({ data, branchUserType: overrideBranchUserType, branchUserTargetType: overrideBranchUserTargetType }: CreateBranchUserProps) => {
287
+
288
+ let _branchUserType = overrideBranchUserType || branchUserType
289
+
290
+ let payload: any = getCreatePayload(_branchUserType, data)
291
+ let url = `${endpoint1}`;
292
+
293
+ let postData = {
294
+ scope: {
295
+ target: overrideBranchUserTargetType || branchUserTargetType,
296
+ action: "",
297
+ },
298
+ payload
299
+ }
300
+
301
+ const response = await makeCall({
302
+ url,
303
+ method: "post",
304
+ payload: postData
305
+ });
306
+
307
+ return response;
308
+
309
+ }
310
+
311
+ const update = async ({ id, data, branchUserType: overrideBranchUserType, branchUserTargetType: overrideBranchUserTargetType }: UpdateBranchUserProps) => {
312
+
313
+ let url = `${endpoint1}/${id}`
314
+
315
+ let _branchUserType = overrideBranchUserType || branchUserType
316
+
317
+ let payload: any = getUpdatePayload(_branchUserType, data)
318
+
319
+ const postData = {
320
+ scope: {
321
+ target: overrideBranchUserTargetType || branchUserTargetType,
322
+ action: "",
323
+ },
324
+ payload
325
+ }
326
+
327
+ const response = await makeCall({
328
+ url,
329
+ method: "put",
330
+ payload: postData
331
+ });
332
+
333
+ return response;
334
+
335
+ }
336
+
337
+ const remove = async ({ ids, branchUserTargetType: overrideBranchUserTargetType }: RemoveBranchUserProps) => {
338
+
339
+ let url = `${endpoint2}/delete`
340
+
341
+ const postData = {
342
+ scope: {
343
+ target: overrideBranchUserTargetType || branchUserTargetType,
344
+ },
345
+ payload: {
346
+ ids
347
+ }
348
+ }
349
+
350
+ const response = await makeCall({
351
+ url,
352
+ method: "post",
353
+ payload: postData
354
+ });
355
+
356
+ return response;
357
+
358
+ }
359
+
360
+ const getDataTypes = async ({ branchUserType: overrideBranchUserType }: GetDataTypeBranchUserProps) => {
361
+
362
+ let url = `${endpoint2}/data_types/${overrideBranchUserType || branchUserType}`
363
+
364
+ const response = await makeCall({
365
+ url,
366
+ method: "get",
367
+ });
368
+
369
+ return response;
370
+
371
+ }
372
+
373
+ return {
374
+ list,
375
+ get,
376
+ create,
377
+ update,
378
+ remove,
379
+ getDataTypes
380
+ };
381
+ }
@@ -0,0 +1,342 @@
1
+ import { ApiService, ApiServiceType } from '@/lib';
2
+
3
+ import {
4
+ buildApiListUrl,
5
+ BuildApiListParamsProps,
6
+ buildApiGetUrl,
7
+ BuildApiGetParamsProps,
8
+ filterOperatorTypes
9
+ } from '@/lib';
10
+
11
+ import { PermissionService, permissionScopeTypes, permissionModuleTypes } from '@/services';
12
+
13
+ export const roleTypes = {
14
+ role: "role",
15
+ } as const
16
+
17
+ export const roleTargetTypes = {
18
+ role: "role",
19
+ } as const
20
+
21
+ export type RoleType = typeof roleTypes[keyof typeof roleTypes]
22
+ export type RoleTargetType = typeof roleTargetTypes[keyof typeof roleTargetTypes]
23
+ export type RoleTargetKey = keyof typeof roleTargetTypes
24
+
25
+ export type UserRoleServiceProps = ApiServiceType & {
26
+ roleTargetType?: RoleTargetType
27
+ roleType?: RoleType
28
+ };
29
+
30
+ export type ListRoleProps = BuildApiListParamsProps & {
31
+ roleType?: RoleType
32
+ }
33
+
34
+ export type GetRoleProps = BuildApiGetParamsProps & {
35
+ id: number | string
36
+ roleType?: RoleType
37
+ }
38
+
39
+ type AssignRoleType = "admin" | "retail" | "workstation"
40
+
41
+ type Role = {
42
+ roleName: string
43
+ assignRoleType: AssignRoleType
44
+ description: string
45
+ status: boolean
46
+ userIds: number[]
47
+ }
48
+
49
+ type Permission = {
50
+ scopeType: string
51
+ scopeName: string
52
+ permissionType: string
53
+ status: boolean
54
+ isCustom: boolean
55
+ }
56
+
57
+ export type CreateRoleProps = {
58
+ roleTargetType?: RoleTargetType
59
+ roleType?: RoleType
60
+ data: {
61
+ userRole: Role
62
+ }
63
+ }
64
+
65
+ export type UpdateRoleProps = {
66
+ id: number
67
+ roleTargetType?: RoleTargetType
68
+ roleType?: RoleType
69
+ data: {
70
+ userRole: Omit<Role, "assignRoleType">
71
+ }
72
+ }
73
+
74
+ export type UpdateRolePermissionProps = {
75
+ id: number
76
+ roleTargetType?: RoleTargetType
77
+ roleType?: RoleType
78
+ data: {
79
+ permissions: Permission[]
80
+ }
81
+ }
82
+
83
+ export type RemoveRoleProps = {
84
+ roleTargetType?: RoleTargetType
85
+ ids: number[]
86
+ }
87
+
88
+ export type GetDataTypeRoleProps = {
89
+ roleType?: RoleType
90
+ }
91
+
92
+ const getCreatePayload = (roleType: RoleType, data: CreateRoleProps["data"]) => {
93
+
94
+ if (roleType === "role" && "userRole" in data) {
95
+
96
+ return {
97
+ role: {
98
+ role_name: data.userRole.roleName,
99
+ role_type: data.userRole.assignRoleType,
100
+ description: data.userRole.description,
101
+ status: (data.userRole.status === true) ? 1 : 0
102
+ },
103
+ users: data.userRole.userIds
104
+ }
105
+ }
106
+
107
+ }
108
+
109
+ const getUpdatePayload = (roleType: RoleType, data: UpdateRoleProps["data"]) => {
110
+
111
+ if (roleType === "role" && "userRole" in data) {
112
+
113
+ return {
114
+ role: {
115
+ role_name: data.userRole.roleName,
116
+ description: data.userRole.description,
117
+ status: (data.userRole.status === true) ? 1 : 0
118
+ },
119
+ users: data.userRole.userIds
120
+ }
121
+ }
122
+ }
123
+
124
+ const getUpdateRolePermissionPayload = (roleType: RoleType, data: UpdateRolePermissionProps["data"]) => {
125
+
126
+ if (roleType === "role") {
127
+
128
+ return {
129
+ permissions: data.permissions.map(i => {
130
+
131
+ // console.log('i', i, permissionScopeTypes)
132
+ console.log('i', i, permissionModuleTypes)
133
+
134
+ let scopeType = ``
135
+ let moduleType = ``
136
+ // let functionType = ``
137
+
138
+ Object.entries(permissionScopeTypes).forEach(([key, item]) => {
139
+ if (key === i.scopeType) {
140
+ scopeType = item.postValue
141
+ }
142
+ })
143
+
144
+ Object.entries(permissionModuleTypes).forEach(([key, item]) => {
145
+ if (key === i.scopeType) {
146
+ console.log('sss ::: ', item, i.scopeName)
147
+ Object.entries(item).forEach(([key2, item2]) => {
148
+ if (key2 === i.scopeName) {
149
+ moduleType = item2.postValue
150
+ }
151
+ })
152
+ }
153
+ })
154
+
155
+ if (!scopeType) throw Error(`Invalid scopeType: ${i.scopeType}`)
156
+ if (!moduleType) throw Error(`Invalid moduleType: ${i.scopeName}`)
157
+
158
+ return {
159
+ scope_type: scopeType,
160
+ scope_name: moduleType,
161
+ permission_type: i.permissionType,
162
+ status: (i.status === true) ? 1 : 0,
163
+ isCustom: i.isCustom === true ? 1 : 0
164
+ }
165
+ })
166
+ }
167
+ }
168
+ }
169
+
170
+ export const UserRoleService = (props?: UserRoleServiceProps) => {
171
+
172
+ const { roleType = "role", roleTargetType, ...rest } = props ?? {};
173
+
174
+ const { makeCall } = ApiService(rest?.customToken ? { customToken: rest.customToken } : {})
175
+
176
+ const endpoint1 = "role";
177
+ const endpoint2 = "roles"
178
+
179
+ const list = async (props: ListRoleProps) => {
180
+
181
+ const { roleType: overrideRoleType } = props;
182
+
183
+ const url = buildApiListUrl(
184
+ `${endpoint2}/${overrideRoleType || roleType}`,
185
+ props
186
+ );
187
+
188
+ const response = await makeCall({
189
+ url,
190
+ method: "get",
191
+ payload: {},
192
+ // configuration
193
+ });
194
+
195
+ return response;
196
+
197
+ }
198
+
199
+ const get = async (props: GetRoleProps) => {
200
+
201
+ const { id, roleType: overrideRoleType } = props;
202
+
203
+ const url = buildApiGetUrl(
204
+ `${endpoint1}/${overrideRoleType || roleType}/${id}`,
205
+ props
206
+ );
207
+
208
+ const response = await makeCall({
209
+ url,
210
+ method: "get",
211
+ payload: {},
212
+ // configuration
213
+ });
214
+
215
+ return response;
216
+
217
+ }
218
+
219
+ const create = async ({ data, roleType: overrideRoleType, roleTargetType: overrideRoleTargetType }: CreateRoleProps) => {
220
+
221
+ let _roleType = overrideRoleType || roleType
222
+
223
+ let payload: any = getCreatePayload(_roleType, data)
224
+
225
+ let url = `${endpoint1}`;
226
+
227
+ let postData = {
228
+ scope: {
229
+ target: overrideRoleTargetType || roleTargetType,
230
+ action: "",
231
+ },
232
+ payload
233
+ }
234
+
235
+ const response = await makeCall({
236
+ url,
237
+ method: "post",
238
+ payload: postData
239
+ });
240
+
241
+ return response;
242
+
243
+ }
244
+
245
+ const update = async ({ id, data, roleType: overrideRoleType, roleTargetType: overrideRoleTargetType }: UpdateRoleProps) => {
246
+
247
+ let url = `${endpoint1}/${id}`
248
+
249
+ let _roleType = overrideRoleType || roleType
250
+
251
+ let payload: any = getUpdatePayload(_roleType, data)
252
+
253
+ const postData = {
254
+ scope: {
255
+ target: overrideRoleTargetType || roleTargetType,
256
+ action: "",
257
+ },
258
+ payload
259
+ }
260
+
261
+ const response = await makeCall({
262
+ url,
263
+ method: "put",
264
+ payload: postData
265
+ });
266
+
267
+ return response;
268
+
269
+ }
270
+
271
+ const remove = async ({ ids, roleTargetType: overrideRoleTargetType }: RemoveRoleProps) => {
272
+
273
+ let url = `${endpoint2}/delete`
274
+
275
+ const postData = {
276
+ scope: {
277
+ target: overrideRoleTargetType || roleTargetType,
278
+ },
279
+ payload: {
280
+ ids
281
+ }
282
+ }
283
+
284
+ const response = await makeCall({
285
+ url,
286
+ method: "post",
287
+ payload: postData
288
+ });
289
+
290
+ return response;
291
+
292
+ }
293
+
294
+ const getDataTypes = async ({ roleType: overrideRoleType }: GetDataTypeRoleProps) => {
295
+
296
+ let url = `${endpoint2}/data_types/${overrideRoleType || roleType}`
297
+
298
+ const response = await makeCall({
299
+ url,
300
+ method: "get",
301
+ });
302
+
303
+ return response;
304
+
305
+ }
306
+
307
+ const updateRolePermission = async ({ id, data, roleType: overrideRoleType, roleTargetType: overrideRoleTargetType }: UpdateRolePermissionProps) => {
308
+
309
+ let url = `${endpoint1}/change/${id}`
310
+
311
+ let _roleType = overrideRoleType || roleType
312
+
313
+ let payload: any = getUpdateRolePermissionPayload(_roleType, data)
314
+
315
+ const postData = {
316
+ scope: {
317
+ target: overrideRoleTargetType || roleTargetType,
318
+ action: "",
319
+ },
320
+ payload
321
+ }
322
+
323
+ const response = await makeCall({
324
+ url,
325
+ method: "put",
326
+ payload: postData
327
+ });
328
+
329
+ return response;
330
+
331
+ }
332
+
333
+ return {
334
+ list,
335
+ get,
336
+ create,
337
+ update,
338
+ remove,
339
+ getDataTypes,
340
+ updateRolePermission
341
+ };
342
+ }