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.
- package/.env +1 -0
- package/.vscode/launch.json +24 -0
- package/dist/config/config.d.ts +6 -0
- package/dist/config/config.js +13 -0
- package/dist/config/env.d.ts +7 -0
- package/dist/config/env.js +16 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.js +8 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +32 -0
- package/dist/lib/ApiService.d.ts +41 -0
- package/dist/lib/ApiService.js +143 -0
- package/dist/lib/index.d.ts +4 -0
- package/dist/lib/index.js +9 -0
- package/dist/lib/queryParams.d.ts +43 -0
- package/dist/lib/queryParams.js +99 -0
- package/dist/services/account/AccountService.d.ts +52 -0
- package/dist/services/account/AccountService.js +119 -0
- package/dist/services/auth/AuthService.d.ts +44 -0
- package/dist/services/auth/AuthService.js +76 -0
- package/dist/services/branch/BranchService.d.ts +124 -0
- package/dist/services/branch/BranchService.js +162 -0
- package/dist/services/business/BusinessService.d.ts +91 -0
- package/dist/services/business/BusinessService.js +153 -0
- package/dist/services/document/DocumentService.d.ts +578 -0
- package/dist/services/document/DocumentService.js +615 -0
- package/dist/services/index.d.ts +36 -0
- package/dist/services/index.js +97 -0
- package/dist/services/injection_field/InjectionFieldService.d.ts +113 -0
- package/dist/services/injection_field/InjectionFieldService.js +220 -0
- package/dist/services/inventory/InventoryService.d.ts +27 -0
- package/dist/services/inventory/InventoryService.js +231 -0
- package/dist/services/item/ItemService.d.ts +227 -0
- package/dist/services/item/ItemService.js +411 -0
- package/dist/services/location/LocationService.d.ts +154 -0
- package/dist/services/location/LocationService.js +256 -0
- package/dist/services/logistic/LogisticService.d.ts +104 -0
- package/dist/services/logistic/LogisticService.js +150 -0
- package/dist/services/permission/PermissionService.d.ts +296 -0
- package/dist/services/permission/PermissionService.js +576 -0
- package/dist/services/permission/config/custom/adminPermission.d.ts +4 -0
- package/dist/services/permission/config/custom/adminPermission.js +18 -0
- package/dist/services/permission/config/custom/config.d.ts +40 -0
- package/dist/services/permission/config/custom/config.js +23 -0
- package/dist/services/permission/config/default/adminPermission.d.ts +2 -0
- package/dist/services/permission/config/default/adminPermission.js +129 -0
- package/dist/services/permission/config/default/agentPermission.d.ts +2 -0
- package/dist/services/permission/config/default/agentPermission.js +43 -0
- package/dist/services/permission/config/default/customerPermission.d.ts +2 -0
- package/dist/services/permission/config/default/customerPermission.js +10 -0
- package/dist/services/permission/config/default/driverPermission.d.ts +2 -0
- package/dist/services/permission/config/default/driverPermission.js +4 -0
- package/dist/services/permission/config/default/workerPermission.d.ts +2 -0
- package/dist/services/permission/config/default/workerPermission.js +25 -0
- package/dist/services/rate/RateService.d.ts +201 -0
- package/dist/services/rate/RateService.js +303 -0
- package/dist/services/region/RegionService.d.ts +111 -0
- package/dist/services/region/RegionService.js +193 -0
- package/dist/services/repository/RepositoryService.d.ts +153 -0
- package/dist/services/repository/RepositoryService.js +243 -0
- package/dist/services/transaction/TransactionService.d.ts +153 -0
- package/dist/services/transaction/TransactionService.js +173 -0
- package/dist/services/user/BranchUserService.d.ts +129 -0
- package/dist/services/user/BranchUserService.js +193 -0
- package/dist/services/user/UserRoleService.d.ts +105 -0
- package/dist/services/user/UserRoleService.js +193 -0
- package/dist/services/user/UserService.d.ts +269 -0
- package/dist/services/user/UserService.js +477 -0
- package/dist/services/wallet/WalletService.d.ts +104 -0
- package/dist/services/wallet/WalletService.js +163 -0
- package/dist/utils/dateUtils.d.ts +6 -0
- package/dist/utils/dateUtils.js +28 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +13 -0
- package/package.json +27 -0
- package/src/config/config.ts +15 -0
- package/src/config/env.ts +18 -0
- package/src/config/index.ts +2 -0
- package/src/index.ts +41 -0
- package/src/lib/ApiService.ts +170 -0
- package/src/lib/index.ts +5 -0
- package/src/lib/queryParams.ts +162 -0
- package/src/services/account/AccountService.ts +232 -0
- package/src/services/auth/AuthService.ts +125 -0
- package/src/services/branch/BranchService.ts +330 -0
- package/src/services/business/BusinessService.ts +277 -0
- package/src/services/document/DocumentService.ts +1471 -0
- package/src/services/index.ts +73 -0
- package/src/services/injection_field/InjectionFieldService.ts +483 -0
- package/src/services/inventory/InventoryService.ts +314 -0
- package/src/services/item/ItemService.ts +707 -0
- package/src/services/location/LocationService.ts +505 -0
- package/src/services/logistic/LogisticService.ts +285 -0
- package/src/services/permission/PermissionService.ts +1069 -0
- package/src/services/permission/config/custom/adminPermission.ts +19 -0
- package/src/services/permission/config/custom/config.ts +39 -0
- package/src/services/permission/config/default/adminPermission.ts +129 -0
- package/src/services/permission/config/default/agentPermission.ts +42 -0
- package/src/services/permission/config/default/customerPermission.ts +9 -0
- package/src/services/permission/config/default/driverPermission.ts +4 -0
- package/src/services/permission/config/default/workerPermission.ts +25 -0
- package/src/services/rate/RateService.ts +570 -0
- package/src/services/region/RegionService.ts +353 -0
- package/src/services/repository/RepositoryService.ts +437 -0
- package/src/services/transaction/TransactionService.ts +404 -0
- package/src/services/user/BranchUserService.ts +381 -0
- package/src/services/user/UserRoleService.ts +342 -0
- package/src/services/user/UserService.ts +807 -0
- package/src/services/wallet/WalletService.ts +300 -0
- package/src/utils/dateUtils.ts +26 -0
- package/src/utils/index.ts +2 -0
- package/tsconfig.json +119 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { ApiServiceType } from '@/lib';
|
|
2
|
+
import { BuildApiListParamsProps, BuildApiGetParamsProps } from '@/lib';
|
|
3
|
+
export declare const repositoryTypes: {
|
|
4
|
+
readonly container: "container";
|
|
5
|
+
readonly package: "package";
|
|
6
|
+
};
|
|
7
|
+
export declare const repositoryTargetTypes: {
|
|
8
|
+
readonly container: "container";
|
|
9
|
+
readonly package: "package";
|
|
10
|
+
};
|
|
11
|
+
export type RepositoryType = typeof repositoryTypes[keyof typeof repositoryTypes];
|
|
12
|
+
export type RepositoryTargetType = typeof repositoryTargetTypes[keyof typeof repositoryTargetTypes];
|
|
13
|
+
export type RepositoryTargetKey = keyof typeof repositoryTargetTypes;
|
|
14
|
+
export type RepositoryServiceProps = ApiServiceType & {
|
|
15
|
+
repositoryTargetType?: RepositoryTargetType;
|
|
16
|
+
repositoryType?: RepositoryType;
|
|
17
|
+
};
|
|
18
|
+
export type ListRepositoryProps = BuildApiListParamsProps & {
|
|
19
|
+
repositoryType?: RepositoryType;
|
|
20
|
+
};
|
|
21
|
+
export type GetRepositoryProps = BuildApiGetParamsProps & {
|
|
22
|
+
id: number | string;
|
|
23
|
+
repositoryType?: RepositoryType;
|
|
24
|
+
};
|
|
25
|
+
type Item = {
|
|
26
|
+
itemId: number;
|
|
27
|
+
code: string;
|
|
28
|
+
name: string;
|
|
29
|
+
qty: number;
|
|
30
|
+
uomName: string;
|
|
31
|
+
uomId: number;
|
|
32
|
+
price: number;
|
|
33
|
+
description: string;
|
|
34
|
+
remark: string;
|
|
35
|
+
};
|
|
36
|
+
type Scheduler = {
|
|
37
|
+
integrationIds: string[];
|
|
38
|
+
dataTypes: string[];
|
|
39
|
+
};
|
|
40
|
+
export type CreateRepositoryProps = {
|
|
41
|
+
repositoryTargetType?: RepositoryTargetType;
|
|
42
|
+
repositoryType?: RepositoryType;
|
|
43
|
+
data: {
|
|
44
|
+
container: {
|
|
45
|
+
repoNumber: string;
|
|
46
|
+
numberAlternative: string;
|
|
47
|
+
repoDate: string;
|
|
48
|
+
remark: string;
|
|
49
|
+
locationId: number;
|
|
50
|
+
toLocationId: number;
|
|
51
|
+
numberSeal: string;
|
|
52
|
+
numberMarking: string;
|
|
53
|
+
loadDate: string;
|
|
54
|
+
etaDate: string;
|
|
55
|
+
person: string;
|
|
56
|
+
provider: string;
|
|
57
|
+
items: Item[];
|
|
58
|
+
scheduler?: Scheduler;
|
|
59
|
+
};
|
|
60
|
+
} | {
|
|
61
|
+
package: {
|
|
62
|
+
repoNumber: string;
|
|
63
|
+
numberAlternative: string;
|
|
64
|
+
repoDate: string;
|
|
65
|
+
remark: string;
|
|
66
|
+
locationId: number;
|
|
67
|
+
uomId: number;
|
|
68
|
+
uomName: string;
|
|
69
|
+
packingType: "new";
|
|
70
|
+
documentIds: number[];
|
|
71
|
+
items: Item[];
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
export type UpdateRepositoryProps = {
|
|
76
|
+
id: number;
|
|
77
|
+
repositoryTargetType?: RepositoryTargetType;
|
|
78
|
+
repositoryType?: RepositoryType;
|
|
79
|
+
data: {
|
|
80
|
+
container: {
|
|
81
|
+
repoNumber: string;
|
|
82
|
+
numberAlternative: string;
|
|
83
|
+
repoDate: string;
|
|
84
|
+
remark: string;
|
|
85
|
+
locationId: number;
|
|
86
|
+
toLocationId: number;
|
|
87
|
+
numberSeal: string;
|
|
88
|
+
numberMarking: string;
|
|
89
|
+
loadDate: string;
|
|
90
|
+
etaDate: string;
|
|
91
|
+
person: string;
|
|
92
|
+
provider: string;
|
|
93
|
+
items: (Item & {
|
|
94
|
+
repositoryItemId: number;
|
|
95
|
+
})[];
|
|
96
|
+
};
|
|
97
|
+
} | {
|
|
98
|
+
package: {
|
|
99
|
+
repoNumber: string;
|
|
100
|
+
numberAlternative: string;
|
|
101
|
+
repoDate: string;
|
|
102
|
+
remark: string;
|
|
103
|
+
locationId: number;
|
|
104
|
+
uomId: number;
|
|
105
|
+
uomName: string;
|
|
106
|
+
packingType: "new";
|
|
107
|
+
documentIds: number[];
|
|
108
|
+
items: (Item & {
|
|
109
|
+
documentItemId: number;
|
|
110
|
+
})[];
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
export type RemoveRepositoryProps = {
|
|
115
|
+
repositoryTargetType?: RepositoryTargetType;
|
|
116
|
+
ids: number[];
|
|
117
|
+
};
|
|
118
|
+
export type GetDataTypeRepositoryProps = {
|
|
119
|
+
repositoryType?: RepositoryType;
|
|
120
|
+
};
|
|
121
|
+
export declare const RepositoryService: (props?: RepositoryServiceProps) => {
|
|
122
|
+
list: (props: ListRepositoryProps) => Promise<{
|
|
123
|
+
status: boolean;
|
|
124
|
+
message: string;
|
|
125
|
+
data?: any;
|
|
126
|
+
}>;
|
|
127
|
+
get: (props: GetRepositoryProps) => Promise<{
|
|
128
|
+
status: boolean;
|
|
129
|
+
message: string;
|
|
130
|
+
data?: any;
|
|
131
|
+
}>;
|
|
132
|
+
create: ({ data, repositoryType: overrideRepositoryType, repositoryTargetType: overrideRepositoryTargetType }: CreateRepositoryProps) => Promise<{
|
|
133
|
+
status: boolean;
|
|
134
|
+
message: string;
|
|
135
|
+
data?: any;
|
|
136
|
+
}>;
|
|
137
|
+
update: ({ id, data, repositoryType: overrideRepositoryType, repositoryTargetType: overrideRepositoryTargetType }: UpdateRepositoryProps) => Promise<{
|
|
138
|
+
status: boolean;
|
|
139
|
+
message: string;
|
|
140
|
+
data?: any;
|
|
141
|
+
}>;
|
|
142
|
+
remove: ({ ids, repositoryTargetType: overrideRepositoryTargetType }: RemoveRepositoryProps) => Promise<{
|
|
143
|
+
status: boolean;
|
|
144
|
+
message: string;
|
|
145
|
+
data?: any;
|
|
146
|
+
}>;
|
|
147
|
+
getDataTypes: ({ repositoryType: overrideRepositoryType }: GetDataTypeRepositoryProps) => Promise<{
|
|
148
|
+
status: boolean;
|
|
149
|
+
message: string;
|
|
150
|
+
data?: any;
|
|
151
|
+
}>;
|
|
152
|
+
};
|
|
153
|
+
export {};
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RepositoryService = exports.repositoryTargetTypes = exports.repositoryTypes = void 0;
|
|
4
|
+
const lib_1 = require("@/lib");
|
|
5
|
+
const lib_2 = require("@/lib");
|
|
6
|
+
exports.repositoryTypes = {
|
|
7
|
+
container: "container",
|
|
8
|
+
package: "package"
|
|
9
|
+
};
|
|
10
|
+
exports.repositoryTargetTypes = {
|
|
11
|
+
container: "container",
|
|
12
|
+
package: "package"
|
|
13
|
+
};
|
|
14
|
+
const getCreatePayload = (repositoryType, data) => {
|
|
15
|
+
if (repositoryType === "container" && "container" in data) {
|
|
16
|
+
return {
|
|
17
|
+
repository: {
|
|
18
|
+
repo_number: data.container.repoNumber,
|
|
19
|
+
number_alternative: data.container.numberAlternative,
|
|
20
|
+
repo_date: data.container.repoDate,
|
|
21
|
+
remark: data.container.remark,
|
|
22
|
+
},
|
|
23
|
+
props: {
|
|
24
|
+
location_id: data.container.locationId,
|
|
25
|
+
to_location_id: data.container.toLocationId,
|
|
26
|
+
number_seal: data.container.numberSeal,
|
|
27
|
+
number_marking: data.container.numberMarking,
|
|
28
|
+
load_date: data.container.loadDate,
|
|
29
|
+
eta_date: data.container.etaDate,
|
|
30
|
+
person: data.container.person,
|
|
31
|
+
provider: data.container.provider
|
|
32
|
+
},
|
|
33
|
+
scheduler: {
|
|
34
|
+
...(data.container?.scheduler?.integrationIds ? { integration_ids: data.container.scheduler.integrationIds } : {}),
|
|
35
|
+
...(data.container?.scheduler?.dataTypes ? { data_types: data.container.scheduler.dataTypes } : {}),
|
|
36
|
+
},
|
|
37
|
+
items: data.container.items.map(i => ({
|
|
38
|
+
id: i.itemId,
|
|
39
|
+
code: i.code,
|
|
40
|
+
name: i.name,
|
|
41
|
+
qty: i.qty,
|
|
42
|
+
uom_lbl: i.uomName,
|
|
43
|
+
uom: i.uomId,
|
|
44
|
+
price: i.price,
|
|
45
|
+
description: i.description,
|
|
46
|
+
remark: i.remark
|
|
47
|
+
}))
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (repositoryType === "package" && "package" in data) {
|
|
51
|
+
return {
|
|
52
|
+
repository: {
|
|
53
|
+
repo_number: data.package.repoNumber,
|
|
54
|
+
number_alternative: data.package.numberAlternative,
|
|
55
|
+
repo_date: data.package.repoDate,
|
|
56
|
+
remark: data.package.remark,
|
|
57
|
+
},
|
|
58
|
+
props: {
|
|
59
|
+
location_id: data.package.locationId,
|
|
60
|
+
uom_id: data.package.uomId,
|
|
61
|
+
uom_lbl: data.package.uomName,
|
|
62
|
+
packing_type: data.package.packingType,
|
|
63
|
+
document_id: data.package.documentIds
|
|
64
|
+
},
|
|
65
|
+
items: data.package.items.map(i => ({
|
|
66
|
+
id: i.itemId,
|
|
67
|
+
code: i.code,
|
|
68
|
+
name: i.name,
|
|
69
|
+
qty: i.qty,
|
|
70
|
+
uom_lbl: i.uomName,
|
|
71
|
+
uom: i.uomId,
|
|
72
|
+
price: i.price,
|
|
73
|
+
description: i.description,
|
|
74
|
+
remark: i.remark
|
|
75
|
+
}))
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const getUpdatePayload = (repositoryType, data) => {
|
|
80
|
+
if (repositoryType === "container" && "container" in data) {
|
|
81
|
+
return {
|
|
82
|
+
repository: {
|
|
83
|
+
repo_number: data.container.repoNumber,
|
|
84
|
+
number_alternative: data.container.numberAlternative,
|
|
85
|
+
repo_date: data.container.repoDate,
|
|
86
|
+
remark: data.container.remark,
|
|
87
|
+
},
|
|
88
|
+
props: {
|
|
89
|
+
location_id: data.container.locationId,
|
|
90
|
+
to_location_id: data.container.toLocationId,
|
|
91
|
+
number_seal: data.container.numberSeal,
|
|
92
|
+
number_marking: data.container.numberMarking,
|
|
93
|
+
load_date: data.container.loadDate,
|
|
94
|
+
eta_date: data.container.etaDate,
|
|
95
|
+
person: data.container.person,
|
|
96
|
+
provider: data.container.provider
|
|
97
|
+
},
|
|
98
|
+
// scheduler: {
|
|
99
|
+
// ...(data.container?.scheduler?.integrationIds ? { integration_ids: data.container.scheduler.integrationIds } : {}),
|
|
100
|
+
// ...(data.container?.scheduler?.dataTypes ? { data_types: data.container.scheduler.dataTypes } : {}),
|
|
101
|
+
// },
|
|
102
|
+
items: data.container.items.map(i => ({
|
|
103
|
+
id: i.itemId,
|
|
104
|
+
repository_item_id: i.repositoryItemId,
|
|
105
|
+
code: i.code,
|
|
106
|
+
name: i.name,
|
|
107
|
+
qty: i.qty,
|
|
108
|
+
uom_lbl: i.uomName,
|
|
109
|
+
uom: i.uomId,
|
|
110
|
+
price: i.price,
|
|
111
|
+
description: i.description,
|
|
112
|
+
remark: i.remark
|
|
113
|
+
}))
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
if (repositoryType === "package" && "package" in data) {
|
|
117
|
+
return {
|
|
118
|
+
repository: {
|
|
119
|
+
repo_number: data.package.repoNumber,
|
|
120
|
+
number_alternative: data.package.numberAlternative,
|
|
121
|
+
repo_date: data.package.repoDate,
|
|
122
|
+
remark: data.package.remark,
|
|
123
|
+
},
|
|
124
|
+
props: {
|
|
125
|
+
location_id: data.package.locationId,
|
|
126
|
+
uom_id: data.package.uomId,
|
|
127
|
+
uom_lbl: data.package.uomName,
|
|
128
|
+
packing_type: data.package.packingType,
|
|
129
|
+
document_id: data.package.documentIds
|
|
130
|
+
},
|
|
131
|
+
items: data.package.items.map(i => ({
|
|
132
|
+
id: i.itemId,
|
|
133
|
+
code: i.code,
|
|
134
|
+
name: i.name,
|
|
135
|
+
qty: i.qty,
|
|
136
|
+
uom_lbl: i.uomName,
|
|
137
|
+
uom: i.uomId,
|
|
138
|
+
price: i.price,
|
|
139
|
+
description: i.description,
|
|
140
|
+
remark: i.remark,
|
|
141
|
+
props: i.documentItemId ? { document_item_id: i.documentItemId } : {}
|
|
142
|
+
}))
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
const RepositoryService = (props) => {
|
|
147
|
+
const { repositoryType = "container", repositoryTargetType, ...rest } = props ?? {};
|
|
148
|
+
const { makeCall } = (0, lib_1.ApiService)(rest?.customToken ? { customToken: rest.customToken } : {});
|
|
149
|
+
const endpoint1 = "repository";
|
|
150
|
+
const endpoint2 = "repositories";
|
|
151
|
+
const list = async (props) => {
|
|
152
|
+
const { repositoryType: overrideRepositoryType } = props;
|
|
153
|
+
const url = (0, lib_2.buildApiListUrl)(`${endpoint2}/${overrideRepositoryType || repositoryType}`, props);
|
|
154
|
+
const response = await makeCall({
|
|
155
|
+
url,
|
|
156
|
+
method: "get",
|
|
157
|
+
payload: {},
|
|
158
|
+
// configuration
|
|
159
|
+
});
|
|
160
|
+
return response;
|
|
161
|
+
};
|
|
162
|
+
const get = async (props) => {
|
|
163
|
+
const { id, repositoryType: overrideRepositoryType } = props;
|
|
164
|
+
const url = (0, lib_2.buildApiGetUrl)(`${endpoint1}/${overrideRepositoryType || repositoryType}/${id}`, props);
|
|
165
|
+
const response = await makeCall({
|
|
166
|
+
url,
|
|
167
|
+
method: "get",
|
|
168
|
+
payload: {},
|
|
169
|
+
// configuration
|
|
170
|
+
});
|
|
171
|
+
return response;
|
|
172
|
+
};
|
|
173
|
+
const create = async ({ data, repositoryType: overrideRepositoryType, repositoryTargetType: overrideRepositoryTargetType }) => {
|
|
174
|
+
let _repositoryType = overrideRepositoryType || repositoryType;
|
|
175
|
+
let payload = getCreatePayload(_repositoryType, data);
|
|
176
|
+
let url = `${endpoint1}`;
|
|
177
|
+
let postData = {
|
|
178
|
+
scope: {
|
|
179
|
+
target: overrideRepositoryTargetType || repositoryTargetType,
|
|
180
|
+
action: "",
|
|
181
|
+
},
|
|
182
|
+
payload
|
|
183
|
+
};
|
|
184
|
+
const response = await makeCall({
|
|
185
|
+
url,
|
|
186
|
+
method: "post",
|
|
187
|
+
payload: postData
|
|
188
|
+
});
|
|
189
|
+
return response;
|
|
190
|
+
};
|
|
191
|
+
const update = async ({ id, data, repositoryType: overrideRepositoryType, repositoryTargetType: overrideRepositoryTargetType }) => {
|
|
192
|
+
let url = `${endpoint1}/${id}`;
|
|
193
|
+
let _repositoryType = overrideRepositoryType || repositoryType;
|
|
194
|
+
let payload = getUpdatePayload(_repositoryType, data);
|
|
195
|
+
const postData = {
|
|
196
|
+
scope: {
|
|
197
|
+
target: overrideRepositoryTargetType || repositoryTargetType,
|
|
198
|
+
action: "",
|
|
199
|
+
},
|
|
200
|
+
payload
|
|
201
|
+
};
|
|
202
|
+
const response = await makeCall({
|
|
203
|
+
url,
|
|
204
|
+
method: "put",
|
|
205
|
+
payload: postData
|
|
206
|
+
});
|
|
207
|
+
return response;
|
|
208
|
+
};
|
|
209
|
+
const remove = async ({ ids, repositoryTargetType: overrideRepositoryTargetType }) => {
|
|
210
|
+
let url = `${endpoint2}/delete`;
|
|
211
|
+
const postData = {
|
|
212
|
+
scope: {
|
|
213
|
+
target: overrideRepositoryTargetType || repositoryTargetType,
|
|
214
|
+
},
|
|
215
|
+
payload: {
|
|
216
|
+
ids
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
const response = await makeCall({
|
|
220
|
+
url,
|
|
221
|
+
method: "post",
|
|
222
|
+
payload: postData
|
|
223
|
+
});
|
|
224
|
+
return response;
|
|
225
|
+
};
|
|
226
|
+
const getDataTypes = async ({ repositoryType: overrideRepositoryType }) => {
|
|
227
|
+
let url = `${endpoint2}/data_types/${overrideRepositoryType || repositoryType}`;
|
|
228
|
+
const response = await makeCall({
|
|
229
|
+
url,
|
|
230
|
+
method: "get",
|
|
231
|
+
});
|
|
232
|
+
return response;
|
|
233
|
+
};
|
|
234
|
+
return {
|
|
235
|
+
list,
|
|
236
|
+
get,
|
|
237
|
+
create,
|
|
238
|
+
update,
|
|
239
|
+
remove,
|
|
240
|
+
getDataTypes
|
|
241
|
+
};
|
|
242
|
+
};
|
|
243
|
+
exports.RepositoryService = RepositoryService;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { ApiServiceType } from '@/lib';
|
|
2
|
+
import { BuildApiListParamsProps, BuildApiGetParamsProps } from '@/lib';
|
|
3
|
+
export declare const transactionTypes: {
|
|
4
|
+
readonly request: "request";
|
|
5
|
+
readonly wallet: "wallet";
|
|
6
|
+
};
|
|
7
|
+
export declare const transactionActionTypes: {
|
|
8
|
+
readonly requestTransfer: "wallet_transfer";
|
|
9
|
+
readonly requestTopup: "wallet_topup";
|
|
10
|
+
readonly requestWithdraw: "wallet_withdraw";
|
|
11
|
+
readonly walletTransfer: "transfer";
|
|
12
|
+
readonly walletTopup: "topup";
|
|
13
|
+
readonly walletWithdraw: "withdraw";
|
|
14
|
+
readonly walletPayment: "payment";
|
|
15
|
+
};
|
|
16
|
+
export declare const transactionTargetTypes: {
|
|
17
|
+
readonly request: "request";
|
|
18
|
+
readonly wallet: "wallet";
|
|
19
|
+
};
|
|
20
|
+
export type TransactionType = typeof transactionTypes[keyof typeof transactionTypes];
|
|
21
|
+
export type TransactionTargetType = typeof transactionTargetTypes[keyof typeof transactionTargetTypes];
|
|
22
|
+
export type TransactionTargetKey = keyof typeof transactionTargetTypes;
|
|
23
|
+
export type TransactionActionType = typeof transactionActionTypes[keyof typeof transactionActionTypes];
|
|
24
|
+
export type TransactionServiceProps = ApiServiceType & {
|
|
25
|
+
transactionTargetType?: TransactionTargetType;
|
|
26
|
+
transactionType?: TransactionType;
|
|
27
|
+
};
|
|
28
|
+
export type ListTransactionProps = BuildApiListParamsProps & {
|
|
29
|
+
transactionType?: TransactionType;
|
|
30
|
+
};
|
|
31
|
+
export type GetTransactionProps = BuildApiGetParamsProps & {
|
|
32
|
+
id: number | string;
|
|
33
|
+
transactionType?: TransactionType;
|
|
34
|
+
};
|
|
35
|
+
type TransactionSource = {
|
|
36
|
+
sourceTarget: "wallet";
|
|
37
|
+
sourceModule: "wallet_user";
|
|
38
|
+
transactionRef: "wallet_user";
|
|
39
|
+
sourceRefFieldName: "wallet_user_id";
|
|
40
|
+
};
|
|
41
|
+
export type CreateTransactionProps = {
|
|
42
|
+
transactionTargetType?: TransactionTargetType;
|
|
43
|
+
transactionActionType?: TransactionActionType;
|
|
44
|
+
data: {
|
|
45
|
+
requestTransfer: {
|
|
46
|
+
source: {
|
|
47
|
+
action: "wallet_transfer";
|
|
48
|
+
refId: number;
|
|
49
|
+
} & TransactionSource;
|
|
50
|
+
destination: {
|
|
51
|
+
action: "wallet_transfer";
|
|
52
|
+
refId: number;
|
|
53
|
+
} & TransactionSource;
|
|
54
|
+
};
|
|
55
|
+
} | {
|
|
56
|
+
requestTopup: {
|
|
57
|
+
source: {
|
|
58
|
+
action: "wallet_topup";
|
|
59
|
+
refId: number;
|
|
60
|
+
} & TransactionSource;
|
|
61
|
+
};
|
|
62
|
+
} | {
|
|
63
|
+
requestWithdraw: {
|
|
64
|
+
source: {
|
|
65
|
+
action: "wallet_withdraw";
|
|
66
|
+
refId: number;
|
|
67
|
+
} & TransactionSource;
|
|
68
|
+
};
|
|
69
|
+
} | {
|
|
70
|
+
walletTransfer: {
|
|
71
|
+
source: {
|
|
72
|
+
action: "transfer";
|
|
73
|
+
refId: number;
|
|
74
|
+
} & TransactionSource;
|
|
75
|
+
destination: {
|
|
76
|
+
action: "transfer";
|
|
77
|
+
refId: number;
|
|
78
|
+
} & TransactionSource;
|
|
79
|
+
};
|
|
80
|
+
} | {
|
|
81
|
+
walletTopup: {
|
|
82
|
+
source: {
|
|
83
|
+
action: "topup";
|
|
84
|
+
refId: number;
|
|
85
|
+
} & TransactionSource;
|
|
86
|
+
};
|
|
87
|
+
} | {
|
|
88
|
+
walletWithdraw: {
|
|
89
|
+
source: {
|
|
90
|
+
action: "withdraw";
|
|
91
|
+
refId: number;
|
|
92
|
+
} & TransactionSource;
|
|
93
|
+
destination: {
|
|
94
|
+
action: "withdraw";
|
|
95
|
+
} & TransactionSource;
|
|
96
|
+
};
|
|
97
|
+
} | {
|
|
98
|
+
walletPayment: {
|
|
99
|
+
source: {
|
|
100
|
+
action: "payment";
|
|
101
|
+
refId: number;
|
|
102
|
+
} & TransactionSource;
|
|
103
|
+
destination: {
|
|
104
|
+
action: "payment";
|
|
105
|
+
} & TransactionSource;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
export type UpdateStatusTransactionProps = {
|
|
110
|
+
id: number;
|
|
111
|
+
transactionTargetType?: TransactionTargetType;
|
|
112
|
+
data: {
|
|
113
|
+
status: "approved" | "cancelled"; /** approved, cancelled */
|
|
114
|
+
transactionDate: string;
|
|
115
|
+
internalReferenceNo: string;
|
|
116
|
+
internalRemark: string;
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
export type RemoveTransactionProps = {
|
|
120
|
+
transactionTargetType?: TransactionTargetType;
|
|
121
|
+
ids: number[];
|
|
122
|
+
};
|
|
123
|
+
export type GetDataTypeTransactionProps = {
|
|
124
|
+
transactionType?: TransactionTargetType;
|
|
125
|
+
};
|
|
126
|
+
export declare const TransactionService: (props?: TransactionServiceProps) => {
|
|
127
|
+
list: (props: ListTransactionProps) => Promise<{
|
|
128
|
+
status: boolean;
|
|
129
|
+
message: string;
|
|
130
|
+
data?: any;
|
|
131
|
+
}>;
|
|
132
|
+
get: (props: GetTransactionProps) => Promise<{
|
|
133
|
+
status: boolean;
|
|
134
|
+
message: string;
|
|
135
|
+
data?: any;
|
|
136
|
+
}>;
|
|
137
|
+
create: ({ data, transactionActionType, transactionTargetType: overrideTransactionTargetType }: CreateTransactionProps) => Promise<{
|
|
138
|
+
status: boolean;
|
|
139
|
+
message: string;
|
|
140
|
+
data?: any;
|
|
141
|
+
}>;
|
|
142
|
+
updateStatus: ({ id, data, transactionTargetType: overrideTransactionTargetType }: UpdateStatusTransactionProps) => Promise<{
|
|
143
|
+
status: boolean;
|
|
144
|
+
message: string;
|
|
145
|
+
data?: any;
|
|
146
|
+
}>;
|
|
147
|
+
getDataTypes: ({ transactionType: overrideTransactionType }: GetDataTypeTransactionProps) => Promise<{
|
|
148
|
+
status: boolean;
|
|
149
|
+
message: string;
|
|
150
|
+
data?: any;
|
|
151
|
+
}>;
|
|
152
|
+
};
|
|
153
|
+
export {};
|