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,296 @@
1
+ import { ApiServiceType } from '@/lib';
2
+ export type AppRouteId = "operator" | "administrator" | "retail" | "workstation" | "customer" | "member" | "public" | "driver";
3
+ /** Load Custom Configs */
4
+ import { CustomPermissionMap, CustomModuleTypesMap } from './config/custom/config';
5
+ export declare const permissionTypes: {
6
+ readonly role: "role";
7
+ };
8
+ export declare const targetPermissionTypes: {
9
+ readonly role: "role";
10
+ };
11
+ export type PermissionType = keyof typeof permissionTypes;
12
+ export type PermissionTargetType = typeof targetPermissionTypes[keyof typeof targetPermissionTypes];
13
+ export type PermissionTargetKey = keyof typeof targetPermissionTypes;
14
+ export type PermissionFunctionType = 'pageList' | 'pageNew' | 'pageView' | 'pageUpdate' | 'pageStockPost' | 'pageVerifyOut' | 'pageVerifyIn' | 'pageVerifyTransferIn' | 'pageExecute' | 'pagePack' | 'pageImages' | 'pageSettings' | 'pageChildrenNew' | 'pageChildrenUpdate' | 'remove' | 'removeChildren' | 'cancel' | 'verifyOutLogs' | 'verifyOutUndo' | 'verifyOutNew' | 'verifyInLogs' | 'verifyInUndo' | 'verifyInNew' | 'verifyTransferInLogs' | 'verifyTransferInUndo' | 'verifyTransferInNew';
15
+ export type FunctionTypeMeta = {
16
+ id: PermissionFunctionType;
17
+ label: string;
18
+ type: PermissionFunctionActionType;
19
+ description?: string;
20
+ };
21
+ export type FunctionTypeMap = {
22
+ [key in PermissionFunctionType]: FunctionTypeMeta;
23
+ };
24
+ export type PermissionFunctionActionType = keyof typeof permissionFunctionActionTypes;
25
+ export declare const permissionFunctionActionTypes: {
26
+ readonly pageAccess: "pageAccess";
27
+ readonly callAction: "callAction";
28
+ };
29
+ export declare const permissionFunctionTypes: FunctionTypeMap;
30
+ declare const _permissionScopeTypes: readonly ["product", "document", "repository", "logistic", "operation", "user", "userRole", "userBranches", "branchUsers", "group", "region", "business", "customField", "injectionField", "report", "scheduler", "rate", "audit", "wallet", "transaction", "userApiKey", "customSettings"];
31
+ export type PermissionScopeType = typeof _permissionScopeTypes[number];
32
+ export type ScopeTypeMeta = {
33
+ id: PermissionScopeType;
34
+ label: string;
35
+ postValue: string;
36
+ description: string;
37
+ };
38
+ export type ScopeTypeMap = {
39
+ [key in PermissionScopeType]: ScopeTypeMeta;
40
+ };
41
+ export declare const permissionScopeTypes: ScopeTypeMap;
42
+ type ModuleProduct = "product" | "item" | "brand" | "category" | "uom";
43
+ type ModuleDocument = "salesOrder" | "proformaSales" | "cashSales" | "retailCashSales" | "deliveryOrder" | "replacementDelivery" | "salesDebitNote" | "salesCreditNote" | "salesInvoice" | "purchaseOrder" | "purchaseReturn" | "purchaseInvoice" | "itemReceive" | "itemTransfer" | "itemRelocate" | "itemTransform" | "itemIssue" | "itemAdjustment" | "stockTake" | "transferReturn" | "transferRequisition" | "tripOrder" | "pickOrder" | "retailPrescription";
44
+ type ModuleRepository = "container" | "package";
45
+ type ModuleLogistic = "transporter";
46
+ type ModuleOperation = "examineInventory" | "itemRelocateThreshold" | "itemReorderThreshold";
47
+ type ModuleUser = "administrator" | "customer" | "driver" | "member" | "retail" | "supplier" | "worker";
48
+ type ModuleUserRole = "role" | "permission";
49
+ type ModuleUserBranches = "customer" | "retail";
50
+ type ModuleBranchUsers = "customer" | "retail";
51
+ type ModuleGroup = "administrator" | "customer" | "supplier";
52
+ type ModuleRegion = "country" | "area";
53
+ type ModuleBusiness = "business";
54
+ type ModuleCustomField = "customField";
55
+ type ModuleInjectionField = "injectionField";
56
+ type ModuleReport = "productItem" | "salesOrder" | "salesOrderItem" | "deliveryOrder" | "deliveryOrderItem" | "itemReceive" | "itemReceiveItem" | "itemTransfer" | "itemTransferItem";
57
+ type ModuleScheduler = "schedulerTask" | "schedulerLog" | "schedulerRequest" | "schedulerConsole";
58
+ type ModuleRate = "shippingRate" | "shippingRule" | "taxRate";
59
+ type ModuleAudit = "auditTrail" | "auditTrailTag";
60
+ type ModuleWallet = "wallet" | "walletUser";
61
+ type ModuleTransaction = "request" | "wallet";
62
+ type ModuleUserApiKey = "apiKey";
63
+ export type ModuleTypeMetaScoped<T extends string> = {
64
+ id: T;
65
+ label: string;
66
+ postValue: string;
67
+ description?: string;
68
+ };
69
+ export type ModuleTypesMap = {
70
+ product: {
71
+ [key in ModuleProduct]: ModuleTypeMetaScoped<key>;
72
+ };
73
+ document: {
74
+ [key in ModuleDocument]: ModuleTypeMetaScoped<key>;
75
+ };
76
+ repository: {
77
+ [key in ModuleRepository]: ModuleTypeMetaScoped<key>;
78
+ };
79
+ logistic: {
80
+ [key in ModuleLogistic]: ModuleTypeMetaScoped<key>;
81
+ };
82
+ operation: {
83
+ [key in ModuleOperation]: ModuleTypeMetaScoped<key>;
84
+ };
85
+ user: {
86
+ [key in ModuleUser]: ModuleTypeMetaScoped<key>;
87
+ };
88
+ userRole: {
89
+ [key in ModuleUserRole]: ModuleTypeMetaScoped<key>;
90
+ };
91
+ userBranches: {
92
+ [key in ModuleUserBranches]: ModuleTypeMetaScoped<key>;
93
+ };
94
+ branchUsers: {
95
+ [key in ModuleBranchUsers]: ModuleTypeMetaScoped<key>;
96
+ };
97
+ group: {
98
+ [key in ModuleGroup]: ModuleTypeMetaScoped<key>;
99
+ };
100
+ region: {
101
+ [key in ModuleRegion]: ModuleTypeMetaScoped<key>;
102
+ };
103
+ business: {
104
+ [key in ModuleBusiness]: ModuleTypeMetaScoped<key>;
105
+ };
106
+ customField: {
107
+ [key in ModuleCustomField]: ModuleTypeMetaScoped<key>;
108
+ };
109
+ injectionField: {
110
+ [key in ModuleInjectionField]: ModuleTypeMetaScoped<key>;
111
+ };
112
+ report: {
113
+ [key in ModuleReport]: ModuleTypeMetaScoped<key>;
114
+ };
115
+ scheduler: {
116
+ [key in ModuleScheduler]: ModuleTypeMetaScoped<key>;
117
+ };
118
+ rate: {
119
+ [key in ModuleRate]: ModuleTypeMetaScoped<key>;
120
+ };
121
+ audit: {
122
+ [key in ModuleAudit]: ModuleTypeMetaScoped<key>;
123
+ };
124
+ wallet: {
125
+ [key in ModuleWallet]: ModuleTypeMetaScoped<key>;
126
+ };
127
+ transaction: {
128
+ [key in ModuleTransaction]: ModuleTypeMetaScoped<key>;
129
+ };
130
+ userApiKey: {
131
+ [key in ModuleUserApiKey]: ModuleTypeMetaScoped<key>;
132
+ };
133
+ } & CustomModuleTypesMap;
134
+ export declare const permissionModuleTypes: ModuleTypesMap;
135
+ export type Scope = "product" | "document" | "wallet";
136
+ export type Permission = {
137
+ [key in PermissionFunctionType]?: boolean;
138
+ };
139
+ export type PermissionProduct = {
140
+ [module in ModuleProduct]?: Permission;
141
+ };
142
+ export type PermissionDocument = {
143
+ [module in ModuleDocument]?: Permission;
144
+ };
145
+ export type PermissionRepository = {
146
+ [module in ModuleRepository]?: Permission;
147
+ };
148
+ export type PermissionLogistic = {
149
+ [module in ModuleLogistic]?: Permission;
150
+ };
151
+ export type PermissionOperation = {
152
+ [module in ModuleOperation]?: Permission;
153
+ };
154
+ export type PermissionUser = {
155
+ [module in ModuleUser]?: Permission;
156
+ };
157
+ export type PermissionUserRole = {
158
+ [module in ModuleUserRole]?: Permission;
159
+ };
160
+ export type PermissionUserBranches = {
161
+ [module in ModuleUserBranches]?: Permission;
162
+ };
163
+ export type PermissionBranchUsers = {
164
+ [module in ModuleBranchUsers]?: Permission;
165
+ };
166
+ export type PermissionGroup = {
167
+ [module in ModuleGroup]?: Permission;
168
+ };
169
+ export type PermissionRegion = {
170
+ [module in ModuleRegion]?: Permission;
171
+ };
172
+ export type PermissionBusiness = {
173
+ [module in ModuleBusiness]?: Permission;
174
+ };
175
+ export type PermissionCustomField = {
176
+ [module in ModuleCustomField]?: Permission;
177
+ };
178
+ export type PermissionInjectionField = {
179
+ [module in ModuleInjectionField]?: Permission;
180
+ };
181
+ export type PermissionReport = {
182
+ [module in ModuleReport]?: Permission;
183
+ };
184
+ export type PermissionScheduler = {
185
+ [module in ModuleScheduler]?: Permission;
186
+ };
187
+ export type PermissionRate = {
188
+ [module in ModuleRate]?: Permission;
189
+ };
190
+ export type PermissionAudit = {
191
+ [module in ModuleAudit]?: Permission;
192
+ };
193
+ export type PermissionWallet = {
194
+ [module in ModuleWallet]?: Permission;
195
+ };
196
+ export type PermissionTransaction = {
197
+ [module in ModuleTransaction]?: Permission;
198
+ };
199
+ export type PermissionUserApiKey = {
200
+ [module in ModuleUserApiKey]?: Permission;
201
+ };
202
+ export type PermissionMap = {
203
+ product: PermissionProduct;
204
+ document: PermissionDocument;
205
+ repository: PermissionRepository;
206
+ logistic: PermissionLogistic;
207
+ operation: PermissionOperation;
208
+ user: PermissionUser;
209
+ userRole: PermissionUserRole;
210
+ userBranches: PermissionUserBranches;
211
+ branchUsers: PermissionBranchUsers;
212
+ group: PermissionGroup;
213
+ region: PermissionRegion;
214
+ business: PermissionBusiness;
215
+ customField: PermissionCustomField;
216
+ injectionField: PermissionInjectionField;
217
+ report: PermissionReport;
218
+ scheduler: PermissionScheduler;
219
+ rate: PermissionRate;
220
+ audit: PermissionAudit;
221
+ wallet: PermissionWallet;
222
+ transaction: PermissionTransaction;
223
+ userApiKey: PermissionUserApiKey;
224
+ } & CustomPermissionMap;
225
+ export type PermissionConfig = Partial<{
226
+ [K in PermissionScopeType]: PermissionMap[K];
227
+ }>;
228
+ export type PermissionServiceProps = ApiServiceType & {
229
+ isOwnerUser: boolean;
230
+ userPermissions: any;
231
+ permissionTargetType?: PermissionTargetType;
232
+ permissionType?: PermissionType;
233
+ routeType?: AppRouteId;
234
+ scopeType?: PermissionScopeType;
235
+ moduleType?: AllModuleKeys;
236
+ permissionRouteType?: string;
237
+ };
238
+ export type ChangePermissionProps = {
239
+ id: number;
240
+ permissionTargetType?: PermissionTargetType;
241
+ permissionType?: PermissionType;
242
+ data: {
243
+ userRoles: {
244
+ scopeType: PermissionScopeType;
245
+ moduleType: ModuleBusiness;
246
+ functionType: PermissionFunctionType;
247
+ status: boolean;
248
+ isCustomScope: boolean;
249
+ }[];
250
+ };
251
+ };
252
+ type AllModuleKeys = {
253
+ [Scope in keyof ModuleTypesMap]: keyof ModuleTypesMap[Scope];
254
+ }[keyof ModuleTypesMap];
255
+ export type CheckPermissionAllowProps = {
256
+ routeType?: AppRouteId;
257
+ scopeType?: keyof typeof permissionScopeTypes;
258
+ moduleType?: AllModuleKeys;
259
+ functionType: PermissionFunctionType;
260
+ };
261
+ export declare const PermissionService: (props?: PermissionServiceProps) => {
262
+ getPermissionConfig: (routeType: AppRouteId) => Partial<{
263
+ document: PermissionDocument;
264
+ user: PermissionUser;
265
+ userRole: PermissionUserRole;
266
+ product: PermissionProduct;
267
+ repository: PermissionRepository;
268
+ logistic: PermissionLogistic;
269
+ operation: PermissionOperation;
270
+ userBranches: PermissionUserBranches;
271
+ branchUsers: PermissionBranchUsers;
272
+ group: PermissionGroup;
273
+ region: PermissionRegion;
274
+ business: PermissionBusiness;
275
+ customField: PermissionCustomField;
276
+ injectionField: PermissionInjectionField;
277
+ report: PermissionReport;
278
+ scheduler: PermissionScheduler;
279
+ rate: PermissionRate;
280
+ audit: PermissionAudit;
281
+ wallet: PermissionWallet;
282
+ transaction: PermissionTransaction;
283
+ userApiKey: PermissionUserApiKey;
284
+ customSettings: {
285
+ transportType?: Permission | undefined;
286
+ transportService?: Permission | undefined;
287
+ };
288
+ }>;
289
+ checkPermissionAllow: ({ routeType: overrideRouteType, scopeType: overrideScopeType, moduleType: overrideModuleType, functionType }: CheckPermissionAllowProps) => boolean;
290
+ changePermission: ({ id, data, permissionType: overridePermissionType, permissionTargetType: overridePermissionTargetType }: ChangePermissionProps) => Promise<{
291
+ status: boolean;
292
+ message: string;
293
+ data?: any;
294
+ }>;
295
+ };
296
+ export {};