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
package/.env
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
API_BASE_URL=http://103.47.154.104:1759
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"configurations": [
|
|
4
|
+
{
|
|
5
|
+
"type": "node",
|
|
6
|
+
"request": "launch",
|
|
7
|
+
"name": "Run Storemw-Core Client",
|
|
8
|
+
"runtimeArgs": [
|
|
9
|
+
"-r",
|
|
10
|
+
"ts-node/register",
|
|
11
|
+
"-r",
|
|
12
|
+
"tsconfig-paths/register"
|
|
13
|
+
],
|
|
14
|
+
"args": [
|
|
15
|
+
"${workspaceFolder}/src/index.ts"
|
|
16
|
+
],
|
|
17
|
+
"cwd": "${workspaceFolder}",
|
|
18
|
+
"skipFiles": [
|
|
19
|
+
"<node_internals>/**"
|
|
20
|
+
],
|
|
21
|
+
"outputCapture": "std"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getApiConfig = exports.setApiConfig = void 0;
|
|
4
|
+
// Shared default config (global runtime memory)
|
|
5
|
+
let defaultConfig = {
|
|
6
|
+
baseURL: "",
|
|
7
|
+
};
|
|
8
|
+
const setApiConfig = (newConfig) => {
|
|
9
|
+
defaultConfig = { ...defaultConfig, ...newConfig };
|
|
10
|
+
};
|
|
11
|
+
exports.setApiConfig = setApiConfig;
|
|
12
|
+
const getApiConfig = () => defaultConfig;
|
|
13
|
+
exports.getApiConfig = getApiConfig;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.env = void 0;
|
|
4
|
+
require("dotenv/config");
|
|
5
|
+
exports.env = {
|
|
6
|
+
NODE_ENV: process.env.NODE_ENV ?? "development",
|
|
7
|
+
// 👇 the API endpoint
|
|
8
|
+
API_BASE_URL: process.env.NEXT_PUBLIC_API_BASE_URL ??
|
|
9
|
+
process.env.VITE_API_BASE_URL ??
|
|
10
|
+
process.env.API_BASE_URL ??
|
|
11
|
+
"",
|
|
12
|
+
// 👇 optional auth token
|
|
13
|
+
API_TOKEN: process.env.API_TOKEN ?? "",
|
|
14
|
+
// 👇 you can add more if needed later
|
|
15
|
+
DEBUG: process.env.DEBUG === "true",
|
|
16
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setApiConfig = exports.getApiConfig = exports.env = void 0;
|
|
4
|
+
var env_1 = require("./env");
|
|
5
|
+
Object.defineProperty(exports, "env", { enumerable: true, get: function () { return env_1.env; } });
|
|
6
|
+
var config_1 = require("./config");
|
|
7
|
+
Object.defineProperty(exports, "getApiConfig", { enumerable: true, get: function () { return config_1.getApiConfig; } });
|
|
8
|
+
Object.defineProperty(exports, "setApiConfig", { enumerable: true, get: function () { return config_1.setApiConfig; } });
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const services_1 = require("@/services");
|
|
4
|
+
const config_1 = require("@/config");
|
|
5
|
+
// set the api config from env
|
|
6
|
+
(0, config_1.setApiConfig)({
|
|
7
|
+
baseURL: config_1.env.API_BASE_URL,
|
|
8
|
+
token: ""
|
|
9
|
+
});
|
|
10
|
+
const testAuthToken = async () => {
|
|
11
|
+
const authService = (0, services_1.AuthService)({ authTargetType: "administrator" });
|
|
12
|
+
const response = await authService.authLogin({
|
|
13
|
+
username: "masteradmin2",
|
|
14
|
+
password: "abc12345"
|
|
15
|
+
});
|
|
16
|
+
return response;
|
|
17
|
+
};
|
|
18
|
+
// const testLocation = async () => {
|
|
19
|
+
// const locationService = LocationService({ customToken: "sdfdsfds" })
|
|
20
|
+
// await locationService.get({ id: 23432, dataTypes: [], locationType: "location" })
|
|
21
|
+
//
|
|
22
|
+
// }
|
|
23
|
+
(async () => {
|
|
24
|
+
try {
|
|
25
|
+
// await testLocation();
|
|
26
|
+
const response = await testAuthToken();
|
|
27
|
+
console.log('response', response);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error(`error`, error);
|
|
31
|
+
}
|
|
32
|
+
})();
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { AxiosResponse, AxiosInstance } from "axios";
|
|
2
|
+
type ApiResponse = {
|
|
3
|
+
status: boolean;
|
|
4
|
+
message: string;
|
|
5
|
+
data?: any;
|
|
6
|
+
};
|
|
7
|
+
type AxiosInstanceParams = {
|
|
8
|
+
axiosClient: AxiosInstance;
|
|
9
|
+
cancelToken: any;
|
|
10
|
+
};
|
|
11
|
+
export type ApiServiceType = {
|
|
12
|
+
customToken?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const ApiService: (props?: ApiServiceType) => {
|
|
15
|
+
createAxiosInstance: (endpointUrl: string) => AxiosInstanceParams;
|
|
16
|
+
getAuthorization: () => string;
|
|
17
|
+
setToken: (token: string) => void;
|
|
18
|
+
makeCall: ({ url, payload, method, sessionAuthentication }: {
|
|
19
|
+
url: string;
|
|
20
|
+
payload?: any;
|
|
21
|
+
method: "get" | "post" | "put" | "delete";
|
|
22
|
+
sessionAuthentication?: boolean;
|
|
23
|
+
}) => Promise<ApiResponse>;
|
|
24
|
+
parseResponse: (response: AxiosResponse<ApiResponse>) => {
|
|
25
|
+
status: boolean;
|
|
26
|
+
message: string;
|
|
27
|
+
data: any;
|
|
28
|
+
};
|
|
29
|
+
isRequestSuccess: (response: AxiosResponse) => boolean;
|
|
30
|
+
isResultSuccess: (response: AxiosResponse<ApiResponse>) => boolean;
|
|
31
|
+
getError: (status: boolean, message?: string) => {
|
|
32
|
+
status: boolean;
|
|
33
|
+
message: string;
|
|
34
|
+
};
|
|
35
|
+
getSuccess: (status: boolean, message?: string, data?: any) => {
|
|
36
|
+
status: boolean;
|
|
37
|
+
message: string;
|
|
38
|
+
data: any;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ApiService = void 0;
|
|
37
|
+
const axios_1 = __importStar(require("axios"));
|
|
38
|
+
// import { EnvService, /* SessionService */ } from '.'; // Adjust path as needed
|
|
39
|
+
const config_1 = require("@/config");
|
|
40
|
+
// You can inject token later if needed (via a setter or directly)
|
|
41
|
+
let accessToken = '';
|
|
42
|
+
const createAxiosInstance = (endpointUrl) => {
|
|
43
|
+
// return axios.create({
|
|
44
|
+
// baseURL: endpointUrl,
|
|
45
|
+
// timeout: 30000,
|
|
46
|
+
// });
|
|
47
|
+
let axiosClient = axios_1.default.create({
|
|
48
|
+
baseURL: endpointUrl,
|
|
49
|
+
timeout: 30000,
|
|
50
|
+
});
|
|
51
|
+
let cancelToken = axios_1.default.CancelToken;
|
|
52
|
+
return {
|
|
53
|
+
axiosClient,
|
|
54
|
+
cancelToken
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
const ApiService = (props) => {
|
|
58
|
+
const customToken = props?.customToken;
|
|
59
|
+
// const { baseURL } = EnvService(); // always read fresh env if needed
|
|
60
|
+
const { baseURL } = (0, config_1.getApiConfig)();
|
|
61
|
+
const { axiosClient,
|
|
62
|
+
// cancelToken,
|
|
63
|
+
} = createAxiosInstance(baseURL);
|
|
64
|
+
const setToken = (token) => {
|
|
65
|
+
accessToken = token;
|
|
66
|
+
};
|
|
67
|
+
const getAuthorization = () => {
|
|
68
|
+
return accessToken ? `Bearer ${accessToken}` : '';
|
|
69
|
+
};
|
|
70
|
+
const makeCall = async ({ url, payload, method, sessionAuthentication = true }) => {
|
|
71
|
+
if (customToken) { // if option to use customToken
|
|
72
|
+
setToken(customToken);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
if (sessionAuthentication) {
|
|
76
|
+
// const { getSession } = SessionService()
|
|
77
|
+
// const session = await getSession()
|
|
78
|
+
// if (session?.token) {
|
|
79
|
+
// setToken(session?.token)
|
|
80
|
+
// }
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// const client = createAxiosInstance(baseURL);
|
|
84
|
+
const client = axiosClient;
|
|
85
|
+
// console.log('accessToken', accessToken)
|
|
86
|
+
const headers = {
|
|
87
|
+
'Content-Type': 'application/json',
|
|
88
|
+
...(accessToken ? { Authorization: getAuthorization() } : {}),
|
|
89
|
+
};
|
|
90
|
+
const config = {
|
|
91
|
+
method,
|
|
92
|
+
url,
|
|
93
|
+
headers,
|
|
94
|
+
...(method.toLowerCase() !== 'get' ? { data: payload } : {}),
|
|
95
|
+
};
|
|
96
|
+
// console.log('[Axios Call]', baseURL, url, method, JSON.stringify(payload));
|
|
97
|
+
try {
|
|
98
|
+
const response = await client.request(config);
|
|
99
|
+
return parseResponse(response);
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
if ((0, axios_1.isAxiosError)(error)) {
|
|
103
|
+
const message = error.response?.data?.message || error.message || 'Network error';
|
|
104
|
+
// console.log('error', error)
|
|
105
|
+
throw getError(false, message);
|
|
106
|
+
}
|
|
107
|
+
throw getError(false, `${error?.message || 'Unknown error'}`);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const parseResponse = (response) => {
|
|
111
|
+
if (!isRequestSuccess(response)) {
|
|
112
|
+
throw getError(false, 'Server failed to respond properly');
|
|
113
|
+
}
|
|
114
|
+
if (!isResultSuccess(response)) {
|
|
115
|
+
throw getError(false, response?.data?.message || 'API returned an error');
|
|
116
|
+
}
|
|
117
|
+
const { status, message, data } = response.data;
|
|
118
|
+
return getSuccess(status, message, data);
|
|
119
|
+
};
|
|
120
|
+
const isRequestSuccess = (response) => response.status === 200;
|
|
121
|
+
const isResultSuccess = (response) => Boolean(response?.data?.status);
|
|
122
|
+
const getError = (status, message = '') => ({
|
|
123
|
+
status,
|
|
124
|
+
message,
|
|
125
|
+
});
|
|
126
|
+
const getSuccess = (status, message = '', data) => ({
|
|
127
|
+
status,
|
|
128
|
+
message,
|
|
129
|
+
data,
|
|
130
|
+
});
|
|
131
|
+
return {
|
|
132
|
+
createAxiosInstance,
|
|
133
|
+
getAuthorization,
|
|
134
|
+
setToken,
|
|
135
|
+
makeCall,
|
|
136
|
+
parseResponse,
|
|
137
|
+
isRequestSuccess,
|
|
138
|
+
isResultSuccess,
|
|
139
|
+
getError,
|
|
140
|
+
getSuccess
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
exports.ApiService = ApiService;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ApiService } from './ApiService';
|
|
2
|
+
export type { ApiServiceType } from "./ApiService";
|
|
3
|
+
export { filterOperatorTypes, buildApiGetUrl, buildApiListUrl, BuildApiListParamsProps, BuildApiGetParamsProps } from './queryParams';
|
|
4
|
+
export type { FilterItem } from './queryParams';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildApiListUrl = exports.buildApiGetUrl = exports.filterOperatorTypes = exports.ApiService = void 0;
|
|
4
|
+
var ApiService_1 = require("./ApiService");
|
|
5
|
+
Object.defineProperty(exports, "ApiService", { enumerable: true, get: function () { return ApiService_1.ApiService; } });
|
|
6
|
+
var queryParams_1 = require("./queryParams");
|
|
7
|
+
Object.defineProperty(exports, "filterOperatorTypes", { enumerable: true, get: function () { return queryParams_1.filterOperatorTypes; } });
|
|
8
|
+
Object.defineProperty(exports, "buildApiGetUrl", { enumerable: true, get: function () { return queryParams_1.buildApiGetUrl; } });
|
|
9
|
+
Object.defineProperty(exports, "buildApiListUrl", { enumerable: true, get: function () { return queryParams_1.buildApiListUrl; } });
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare const _operatorSymbols: {
|
|
2
|
+
readonly eq: "=";
|
|
3
|
+
readonly startsWith: "_%";
|
|
4
|
+
readonly endsWith: "%_";
|
|
5
|
+
readonly contains: "%";
|
|
6
|
+
readonly containsOr: "%||";
|
|
7
|
+
readonly anyOf: "where_in";
|
|
8
|
+
readonly anyOfOr: "or_where_in";
|
|
9
|
+
readonly excludeOf: "where_not_in";
|
|
10
|
+
readonly excludeOfOr: "or_where_not_in";
|
|
11
|
+
readonly moreThanEq: ">=";
|
|
12
|
+
readonly moreThanEqOr: ">=||";
|
|
13
|
+
readonly lessThanEq: "<=";
|
|
14
|
+
readonly lessThanEqOr: "<=||";
|
|
15
|
+
readonly notEq: "!=";
|
|
16
|
+
readonly eqOr: "=||";
|
|
17
|
+
readonly havingInOr: "or_having_in";
|
|
18
|
+
readonly isNull: "null";
|
|
19
|
+
readonly isNotNull: "null!=";
|
|
20
|
+
readonly isNullOr: "null||";
|
|
21
|
+
};
|
|
22
|
+
export declare const filterOperatorTypes: Record<string, string>;
|
|
23
|
+
export type FilterOperator = keyof typeof filterOperatorTypes;
|
|
24
|
+
export type FilterItem = {
|
|
25
|
+
name: string;
|
|
26
|
+
operator: FilterOperator;
|
|
27
|
+
value?: any;
|
|
28
|
+
group?: string;
|
|
29
|
+
};
|
|
30
|
+
export type BuildApiListParamsProps = {
|
|
31
|
+
limit?: number;
|
|
32
|
+
offset?: number;
|
|
33
|
+
filterValue?: FilterItem[];
|
|
34
|
+
sortField?: string;
|
|
35
|
+
sortOrder?: "asc" | "desc";
|
|
36
|
+
dataTypes?: string[];
|
|
37
|
+
extraFilters?: any[];
|
|
38
|
+
};
|
|
39
|
+
export type BuildApiGetParamsProps = {
|
|
40
|
+
dataTypes?: string[];
|
|
41
|
+
};
|
|
42
|
+
export declare function buildApiListUrl(endpoint: string, props: BuildApiListParamsProps): string;
|
|
43
|
+
export declare function buildApiGetUrl(endpoint: string, props: BuildApiGetParamsProps): string;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterOperatorTypes = exports._operatorSymbols = void 0;
|
|
4
|
+
exports.buildApiListUrl = buildApiListUrl;
|
|
5
|
+
exports.buildApiGetUrl = buildApiGetUrl;
|
|
6
|
+
exports._operatorSymbols = {
|
|
7
|
+
eq: "=",
|
|
8
|
+
startsWith: "_%",
|
|
9
|
+
endsWith: "%_",
|
|
10
|
+
contains: "%",
|
|
11
|
+
containsOr: "%||",
|
|
12
|
+
anyOf: "where_in",
|
|
13
|
+
anyOfOr: "or_where_in",
|
|
14
|
+
excludeOf: "where_not_in",
|
|
15
|
+
excludeOfOr: "or_where_not_in",
|
|
16
|
+
moreThanEq: ">=",
|
|
17
|
+
moreThanEqOr: ">=||",
|
|
18
|
+
lessThanEq: "<=",
|
|
19
|
+
lessThanEqOr: "<=||",
|
|
20
|
+
notEq: "!=",
|
|
21
|
+
eqOr: "=||",
|
|
22
|
+
havingInOr: "or_having_in",
|
|
23
|
+
isNull: "null",
|
|
24
|
+
isNotNull: "null!=",
|
|
25
|
+
isNullOr: "null||",
|
|
26
|
+
};
|
|
27
|
+
exports.filterOperatorTypes = Object.keys(exports._operatorSymbols).reduce((acc, key) => {
|
|
28
|
+
acc[key] = key;
|
|
29
|
+
return acc;
|
|
30
|
+
}, {});
|
|
31
|
+
function buildApiListUrl(endpoint, props) {
|
|
32
|
+
let filters = [];
|
|
33
|
+
const { limit, offset, filterValue,
|
|
34
|
+
// sortInfo,
|
|
35
|
+
sortField, sortOrder, dataTypes = [], extraFilters = [], } = props;
|
|
36
|
+
// Process filters
|
|
37
|
+
if (filterValue) {
|
|
38
|
+
for (const filter of filterValue) {
|
|
39
|
+
if (filter.value !== undefined ||
|
|
40
|
+
filter.operator === "isNull" ||
|
|
41
|
+
filter.operator === "isNotNull" ||
|
|
42
|
+
filter.operator === "isNullOr") {
|
|
43
|
+
const line = {
|
|
44
|
+
field: filter.name,
|
|
45
|
+
operator: exports._operatorSymbols[filter.operator],
|
|
46
|
+
value: filter.value,
|
|
47
|
+
};
|
|
48
|
+
if (filter.group)
|
|
49
|
+
line.group = filter.group;
|
|
50
|
+
filters.push(line);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Add any extra filters passed in
|
|
55
|
+
filters = [...filters, ...extraFilters];
|
|
56
|
+
// Sorting
|
|
57
|
+
let sortfield = sortField ?? "id";
|
|
58
|
+
let sortorder = sortOrder ?? "desc";
|
|
59
|
+
// if (sortInfo?.id) {
|
|
60
|
+
// sortfield = sortInfo.id;
|
|
61
|
+
// sortorder = sortInfo.dir === -1 ? "desc" : "asc";
|
|
62
|
+
// }
|
|
63
|
+
// Build URL
|
|
64
|
+
let url = `${endpoint}?limit=${limit}&offset=${offset}&sortfield=${sortfield}&sortorder=${sortorder}`;
|
|
65
|
+
url += `&filters=${JSON.stringify(filters.length > 0 ? filters : [])}`;
|
|
66
|
+
if (dataTypes.length > 0) {
|
|
67
|
+
url += `&datatypes=${JSON.stringify(dataTypes)}`;
|
|
68
|
+
}
|
|
69
|
+
return url;
|
|
70
|
+
}
|
|
71
|
+
function buildApiGetUrl(endpoint, props) {
|
|
72
|
+
// let filters: any[] = [];
|
|
73
|
+
const {
|
|
74
|
+
// limit,
|
|
75
|
+
// offset,
|
|
76
|
+
// filterValue,
|
|
77
|
+
// // sortInfo,
|
|
78
|
+
// sortField,
|
|
79
|
+
// sortOrder,
|
|
80
|
+
dataTypes = [],
|
|
81
|
+
// extraFilters = [],
|
|
82
|
+
} = props;
|
|
83
|
+
// Add any extra filters passed in
|
|
84
|
+
// filters = [...filters, ...extraFilters];
|
|
85
|
+
// Sorting
|
|
86
|
+
// let sortfield = sortField ?? "id";
|
|
87
|
+
// let sortorder = sortOrder ?? "desc";
|
|
88
|
+
// if (sortInfo?.id) {
|
|
89
|
+
// sortfield = sortInfo.id;
|
|
90
|
+
// sortorder = sortInfo.dir === -1 ? "desc" : "asc";
|
|
91
|
+
// }
|
|
92
|
+
// Build URL
|
|
93
|
+
let url = `${endpoint}?`;
|
|
94
|
+
// url += `&filters=${JSON.stringify(filters.length > 0 ? filters : [])}`;
|
|
95
|
+
if (dataTypes.length > 0) {
|
|
96
|
+
url += `datatypes=${JSON.stringify(dataTypes)}`;
|
|
97
|
+
}
|
|
98
|
+
return url;
|
|
99
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ApiServiceType } from '@/lib';
|
|
2
|
+
import { BuildApiListParamsProps, BuildApiGetParamsProps } from '@/lib';
|
|
3
|
+
export declare const accountTypes: {
|
|
4
|
+
readonly account: "account";
|
|
5
|
+
};
|
|
6
|
+
export declare const accountTargetTypes: {
|
|
7
|
+
readonly account: "account";
|
|
8
|
+
};
|
|
9
|
+
export type AccountType = typeof accountTypes[keyof typeof accountTypes];
|
|
10
|
+
export type AccountTargetType = typeof accountTargetTypes[keyof typeof accountTargetTypes];
|
|
11
|
+
export type AccountTargetKey = keyof typeof accountTargetTypes;
|
|
12
|
+
export type AccountServiceProps = ApiServiceType & {
|
|
13
|
+
accountTargetType?: AccountTargetType;
|
|
14
|
+
accountType?: AccountType;
|
|
15
|
+
};
|
|
16
|
+
export type ListAccountProps = BuildApiListParamsProps & {
|
|
17
|
+
accountType?: AccountType;
|
|
18
|
+
};
|
|
19
|
+
export type GetAccountProps = BuildApiGetParamsProps & {
|
|
20
|
+
id: number | string;
|
|
21
|
+
accountType?: AccountType;
|
|
22
|
+
};
|
|
23
|
+
export type UpdateAccountProps = {
|
|
24
|
+
id: number;
|
|
25
|
+
accountTargetType?: AccountTargetType;
|
|
26
|
+
accountType?: AccountType;
|
|
27
|
+
data: {
|
|
28
|
+
account: {
|
|
29
|
+
name: string;
|
|
30
|
+
businessId: number;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export type RemoveAccountProps = {
|
|
35
|
+
accountTargetType?: AccountTargetType;
|
|
36
|
+
ids: number[];
|
|
37
|
+
};
|
|
38
|
+
export type GetDataTypeAccountProps = {
|
|
39
|
+
accountType?: AccountType;
|
|
40
|
+
};
|
|
41
|
+
export declare const AccountService: (props?: AccountServiceProps) => {
|
|
42
|
+
get: (props: GetAccountProps) => Promise<{
|
|
43
|
+
status: boolean;
|
|
44
|
+
message: string;
|
|
45
|
+
data?: any;
|
|
46
|
+
}>;
|
|
47
|
+
update: ({ id, data, accountType: overrideAccountType, accountTargetType: overrideAccountTargetType }: UpdateAccountProps) => Promise<{
|
|
48
|
+
status: boolean;
|
|
49
|
+
message: string;
|
|
50
|
+
data?: any;
|
|
51
|
+
}>;
|
|
52
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountService = exports.accountTargetTypes = exports.accountTypes = void 0;
|
|
4
|
+
const lib_1 = require("@/lib");
|
|
5
|
+
const lib_2 = require("@/lib");
|
|
6
|
+
exports.accountTypes = {
|
|
7
|
+
account: "account",
|
|
8
|
+
};
|
|
9
|
+
exports.accountTargetTypes = {
|
|
10
|
+
account: "account",
|
|
11
|
+
};
|
|
12
|
+
// const getCreatePayload = (accountType: AccountType, data: CreateAccountProps["data"]) => {
|
|
13
|
+
// if (accountType === "account") {
|
|
14
|
+
// return {
|
|
15
|
+
// }
|
|
16
|
+
// }
|
|
17
|
+
// }
|
|
18
|
+
const getUpdatePayload = (accountType, data) => {
|
|
19
|
+
if (accountType === "account" && "account" in data) {
|
|
20
|
+
return {
|
|
21
|
+
account: {
|
|
22
|
+
name: data.account.name,
|
|
23
|
+
business_id: data.account.businessId
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const AccountService = (props) => {
|
|
29
|
+
const { accountType = "account", accountTargetType, ...rest } = props ?? {};
|
|
30
|
+
const { makeCall } = (0, lib_1.ApiService)(rest?.customToken ? { customToken: rest.customToken } : {});
|
|
31
|
+
const endpoint1 = "account";
|
|
32
|
+
const get = async (props) => {
|
|
33
|
+
const { id, accountType: overrideAccountType } = props;
|
|
34
|
+
const url = (0, lib_2.buildApiGetUrl)(`${endpoint1}/${overrideAccountType || accountType}/${id}`, props);
|
|
35
|
+
const response = await makeCall({
|
|
36
|
+
url,
|
|
37
|
+
method: "get",
|
|
38
|
+
payload: {},
|
|
39
|
+
// configuration
|
|
40
|
+
});
|
|
41
|
+
return response;
|
|
42
|
+
};
|
|
43
|
+
// const create = async ({ data, accountType: overrideAccountType, accountTargetType: overrideAccountTargetType }: CreateAccountProps) => {
|
|
44
|
+
// let payload: any = {}
|
|
45
|
+
// if (overrideAccountType) {
|
|
46
|
+
// payload = getCreatePayload(overrideAccountType, data)
|
|
47
|
+
// }
|
|
48
|
+
// let url = `${endpoint1}`;
|
|
49
|
+
// let postData = {
|
|
50
|
+
// scope: {
|
|
51
|
+
// target: overrideAccountTargetType || accountTargetType,
|
|
52
|
+
// action: "",
|
|
53
|
+
// },
|
|
54
|
+
// payload
|
|
55
|
+
// }
|
|
56
|
+
// const response = await makeCall({
|
|
57
|
+
// url,
|
|
58
|
+
// method: "post",
|
|
59
|
+
// payload: postData
|
|
60
|
+
// });
|
|
61
|
+
// return response;
|
|
62
|
+
// }
|
|
63
|
+
const update = async ({ id, data, accountType: overrideAccountType, accountTargetType: overrideAccountTargetType }) => {
|
|
64
|
+
let url = `${endpoint1}/${id}`;
|
|
65
|
+
// let payload: any = {}
|
|
66
|
+
// if (overrideAccountType) {
|
|
67
|
+
// payload = getUpdatePayload(overrideAccountType, data)
|
|
68
|
+
// }
|
|
69
|
+
let _accountType = overrideAccountType || accountType;
|
|
70
|
+
let payload = getUpdatePayload(_accountType, data);
|
|
71
|
+
const postData = {
|
|
72
|
+
scope: {
|
|
73
|
+
target: overrideAccountTargetType || accountTargetType,
|
|
74
|
+
action: "",
|
|
75
|
+
},
|
|
76
|
+
payload
|
|
77
|
+
};
|
|
78
|
+
const response = await makeCall({
|
|
79
|
+
url,
|
|
80
|
+
method: "put",
|
|
81
|
+
payload: postData
|
|
82
|
+
});
|
|
83
|
+
return response;
|
|
84
|
+
};
|
|
85
|
+
// const remove = async ({ ids, accountTargetType: overrideAccountTargetType }: RemoveAccountProps) => {
|
|
86
|
+
// let url = `${endpoint2}/delete`
|
|
87
|
+
// const postData = {
|
|
88
|
+
// scope: {
|
|
89
|
+
// target: overrideAccountTargetType || accountTargetType,
|
|
90
|
+
// },
|
|
91
|
+
// payload: {
|
|
92
|
+
// ids
|
|
93
|
+
// }
|
|
94
|
+
// }
|
|
95
|
+
// const response = await makeCall({
|
|
96
|
+
// url,
|
|
97
|
+
// method: "post",
|
|
98
|
+
// payload: postData
|
|
99
|
+
// });
|
|
100
|
+
// return response;
|
|
101
|
+
// }
|
|
102
|
+
// const getDataTypes = async ({ accountType: overrideAccountType }: GetDataTypeAccountProps) => {
|
|
103
|
+
// let url = `${endpoint1}/data_types/${overrideAccountType || accountType}`
|
|
104
|
+
// const response = await makeCall({
|
|
105
|
+
// url,
|
|
106
|
+
// method: "get",
|
|
107
|
+
// });
|
|
108
|
+
// return response;
|
|
109
|
+
// }
|
|
110
|
+
return {
|
|
111
|
+
// list,
|
|
112
|
+
get,
|
|
113
|
+
// create,
|
|
114
|
+
update,
|
|
115
|
+
// remove,
|
|
116
|
+
// getDataTypes
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
exports.AccountService = AccountService;
|