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
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,6 @@
1
+ export interface ApiConfig {
2
+ baseURL: string;
3
+ token?: string;
4
+ }
5
+ export declare const setApiConfig: (newConfig: ApiConfig) => void;
6
+ export declare const getApiConfig: () => ApiConfig;
@@ -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,7 @@
1
+ import "dotenv/config";
2
+ export declare const env: {
3
+ NODE_ENV: string;
4
+ API_BASE_URL: string;
5
+ API_TOKEN: string;
6
+ DEBUG: boolean;
7
+ };
@@ -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,2 @@
1
+ export { env } from "./env";
2
+ export { getApiConfig, setApiConfig } from "./config";
@@ -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; } });
@@ -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;