storemw-core-client 1.0.25 → 1.0.27

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.
@@ -11,6 +11,8 @@ type AxiosInstanceParams = {
11
11
  export type ApiServiceProps = {
12
12
  apiBaseUrl: string;
13
13
  customToken?: string;
14
+ customAccessKey?: string;
15
+ enableDebug?: boolean;
14
16
  };
15
17
  export type DefaultServiceProps = {
16
18
  apiService: ApiServiceReturnType;
@@ -20,11 +22,13 @@ type ApiMakeCallProps = {
20
22
  payload?: any;
21
23
  method: 'get' | 'post' | 'put' | 'delete';
22
24
  sessionAuthentication?: boolean;
25
+ enableDebug?: boolean;
23
26
  };
24
27
  export type ApiServiceReturnType = {
25
28
  customToken: string;
26
29
  createAxiosInstance: (endpointUrl: string) => AxiosInstanceParams;
27
- getAuthorization: () => string;
30
+ getJWTAuthorizationHeader: (accessToken: string) => Record<string, string>;
31
+ getAccessKeyHeader: (accessKey: string) => Record<string, string>;
28
32
  setToken: (token: string) => void;
29
33
  makeCall: <T = any>(params: ApiMakeCallProps) => Promise<ApiResponse<T>>;
30
34
  parseResponse: <T = any>(response: AxiosResponse<ApiResponse<T>>) => ApiResponse<T>;
@@ -54,6 +54,8 @@ const createAxiosInstance = (endpointUrl) => {
54
54
  };
55
55
  const ApiService = (props) => {
56
56
  const customToken = props?.customToken ?? "";
57
+ const customAccessKey = props?.customAccessKey ?? "";
58
+ const enableDebug = props?.enableDebug ? true : false;
57
59
  // const { baseURL } = getApiConfig()
58
60
  const baseURL = props?.apiBaseUrl ?? "";
59
61
  const { axiosClient,
@@ -62,10 +64,17 @@ const ApiService = (props) => {
62
64
  const setToken = (token) => {
63
65
  accessToken = token;
64
66
  };
65
- const getAuthorization = () => {
67
+ const getAuthorization = (accessToken) => {
66
68
  return accessToken ? `Bearer ${accessToken}` : '';
67
69
  };
68
- const makeCall = async ({ url, payload, method, sessionAuthentication = true }) => {
70
+ const getJWTAuthorizationHeader = (accessToken) => {
71
+ return accessToken ? { Authorization: getAuthorization(accessToken) } : {};
72
+ };
73
+ const getAccessKeyHeader = (accessKey) => {
74
+ return accessKey ? { 'x-access-key': accessKey } : {};
75
+ };
76
+ const makeCall = async ({ url, payload, method, sessionAuthentication = true, enableDebug: overrideEnableDebug = false }) => {
77
+ const _enableDebug = overrideEnableDebug ? overrideEnableDebug : enableDebug;
69
78
  if (customToken) { // if option to use customToken
70
79
  setToken(customToken);
71
80
  }
@@ -83,7 +92,8 @@ const ApiService = (props) => {
83
92
  // console.log('accessToken', accessToken)
84
93
  const headers = {
85
94
  'Content-Type': 'application/json',
86
- ...(accessToken ? { Authorization: getAuthorization() } : {}),
95
+ ...(getJWTAuthorizationHeader(accessToken)),
96
+ ...(getAccessKeyHeader(customAccessKey))
87
97
  };
88
98
  const config = {
89
99
  method,
@@ -93,6 +103,15 @@ const ApiService = (props) => {
93
103
  };
94
104
  // console.log('[Axios Call]', baseURL, url, method, JSON.stringify(payload));
95
105
  try {
106
+ if (_enableDebug) {
107
+ console.log('[Axios Call] BaseURL:', baseURL);
108
+ console.log('[Axios Call] URL:', url);
109
+ console.log('[Axios Call] Method:', method);
110
+ console.log('[Axios Call] Headers:', headers);
111
+ if (method.toLowerCase() !== 'get') {
112
+ console.log('[Axios Call] Payload:', payload);
113
+ }
114
+ }
96
115
  const response = await client.request(config);
97
116
  return parseResponse(response);
98
117
  }
@@ -134,7 +153,8 @@ const ApiService = (props) => {
134
153
  return {
135
154
  customToken,
136
155
  createAxiosInstance,
137
- getAuthorization,
156
+ getJWTAuthorizationHeader,
157
+ getAccessKeyHeader,
138
158
  setToken,
139
159
  makeCall,
140
160
  parseResponse,
@@ -1 +1 @@
1
- {"version":3,"file":"ApiService.js","sourceRoot":"","sources":["../../src/lib/ApiService.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, { isAxiosError } from \"axios\";\nimport type { AxiosResponse, AxiosInstance, AxiosRequestConfig } from \"axios\";\n\n// import { EnvService, /* SessionService */ } from '.'; // Adjust path as needed\n\n// import { getApiConfig } from \"@/config\";\n\ntype ApiResponse<T = any> = {\n status: boolean;\n message: string;\n data?: T;\n};\n\ntype ApiError = {\n message: string;\n exception?: string\n}\n\ntype AxiosInstanceParams = {\n axiosClient: AxiosInstance,\n cancelToken: any\n}\n\nexport type ApiServiceProps = {\n apiBaseUrl: string // api base Url\n customToken?: string, // custom jwt token\n}\n\nexport type DefaultServiceProps = {\n apiService: ApiServiceReturnType\n}\n\ntype ApiMakeCallProps = {\n url: string;\n payload?: any;\n method: 'get' | 'post' | 'put' | 'delete';\n sessionAuthentication?: boolean; // skip to check the session for headers\n}\n\nexport type ApiServiceReturnType = {\n customToken: string;\n createAxiosInstance: (endpointUrl: string) => AxiosInstanceParams;\n getAuthorization: () => string;\n setToken: (token: string) => void;\n makeCall: <T = any>(params: ApiMakeCallProps) => Promise<ApiResponse<T>>;\n parseResponse: <T = any>(response: AxiosResponse<ApiResponse<T>>) => ApiResponse<T>;\n isRequestSuccess: (response: AxiosResponse) => boolean;\n isResultSuccess: (response: AxiosResponse<ApiResponse>) => boolean;\n getError: (status: boolean, message?: string) => ApiResponse;\n getSuccess: <T = any>(status: boolean, message?: string, data?: T) => ApiResponse<T>;\n};\n\n// You can inject token later if needed (via a setter or directly)\nlet accessToken: string = '';\n\nconst createAxiosInstance = (endpointUrl: string): AxiosInstanceParams => {\n // return axios.create({\n // baseURL: endpointUrl,\n // timeout: 30000,\n // });\n\n let axiosClient = axios.create({\n baseURL: endpointUrl,\n timeout: 30000,\n });\n\n let cancelToken = axios.CancelToken\n\n return {\n axiosClient,\n cancelToken\n }\n}\n\nexport const ApiService = (props: ApiServiceProps): ApiServiceReturnType => {\n\n const customToken = props?.customToken ?? \"\"\n\n // const { baseURL } = getApiConfig()\n const baseURL = props?.apiBaseUrl ?? \"\"\n\n const {\n axiosClient,\n // cancelToken,\n } = createAxiosInstance(baseURL)\n\n const setToken = (token: string) => {\n accessToken = token;\n }\n\n const getAuthorization = (): string => {\n return accessToken ? `Bearer ${accessToken}` : '';\n }\n\n const makeCall = async <T = any>({\n url,\n payload,\n method,\n sessionAuthentication = true\n }: ApiMakeCallProps): Promise<ApiResponse<T>> => {\n\n if (customToken) { // if option to use customToken\n setToken(customToken)\n } else {\n if (sessionAuthentication) {\n // const { getSession } = SessionService()\n\n // const session = await getSession()\n\n // if (session?.token) {\n // setToken(session?.token)\n // }\n }\n }\n\n\n // const client = createAxiosInstance(baseURL);\n const client = axiosClient\n\n // console.log('accessToken', accessToken)\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n ...(accessToken ? { Authorization: getAuthorization() } : {}),\n };\n\n const config: AxiosRequestConfig = {\n method,\n url,\n headers,\n ...(method.toLowerCase() !== 'get' ? { data: payload } : {}),\n };\n\n // console.log('[Axios Call]', baseURL, url, method, JSON.stringify(payload));\n\n try {\n const response = await client.request<ApiResponse>(config);\n return parseResponse(response);\n } catch (error: unknown) {\n if (isAxiosError<ApiError>(error)) {\n\n const { message, exception = \"\" } = error.response?.data ?? {};\n\n const errorMessage =\n [message, exception]\n .filter(Boolean)\n .join(\" - \")\n || error.message\n || 'Network error';\n\n // console.log('error', error)\n throw getError(false, errorMessage);\n }\n throw getError(false, `${(error as any)?.message || 'Unknown error'}`);\n }\n }\n\n const parseResponse = (response: AxiosResponse<ApiResponse>) => {\n if (!isRequestSuccess(response)) {\n throw getError(false, 'Server failed to respond properly');\n }\n\n if (!isResultSuccess(response)) {\n throw getError(false, response?.data?.message || 'API returned an error');\n }\n\n const { status, message, data } = response.data;\n return getSuccess(status, message, data);\n }\n\n const isRequestSuccess = (response: AxiosResponse): boolean => response.status === 200\n\n const isResultSuccess = (response: AxiosResponse<ApiResponse>): boolean =>\n Boolean(response?.data?.status)\n\n const getError = (status: boolean, message = '') => ({\n status,\n message,\n })\n\n const getSuccess = (status: boolean, message = '', data?: any) => ({\n status,\n message,\n data,\n })\n\n return {\n customToken,\n createAxiosInstance,\n getAuthorization,\n setToken,\n makeCall,\n parseResponse,\n isRequestSuccess,\n isResultSuccess,\n getError,\n getSuccess\n }\n};\n"]}
1
+ {"version":3,"file":"ApiService.js","sourceRoot":"","sources":["../../src/lib/ApiService.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, { isAxiosError } from \"axios\";\nimport type { AxiosResponse, AxiosInstance, AxiosRequestConfig } from \"axios\";\n\n// import { EnvService, /* SessionService */ } from '.'; // Adjust path as needed\n\n// import { getApiConfig } from \"@/config\";\n\ntype ApiResponse<T = any> = {\n status: boolean;\n message: string;\n data?: T;\n};\n\ntype ApiError = {\n message: string;\n exception?: string\n}\n\ntype AxiosInstanceParams = {\n axiosClient: AxiosInstance,\n cancelToken: any\n}\n\nexport type ApiServiceProps = {\n apiBaseUrl: string // api base Url\n customToken?: string, // custom jwt token\n customAccessKey?: string, // custom access key for header\n enableDebug?: boolean // enable debug logs for API calls\n}\n\nexport type DefaultServiceProps = {\n apiService: ApiServiceReturnType\n}\n\ntype ApiMakeCallProps = {\n url: string;\n payload?: any;\n method: 'get' | 'post' | 'put' | 'delete';\n sessionAuthentication?: boolean; // skip to check the session for headers\n enableDebug?: boolean\n}\n\nexport type ApiServiceReturnType = {\n customToken: string;\n createAxiosInstance: (endpointUrl: string) => AxiosInstanceParams;\n getJWTAuthorizationHeader: (accessToken: string) => Record<string, string>;\n getAccessKeyHeader: (accessKey: string) => Record<string, string>;\n setToken: (token: string) => void;\n makeCall: <T = any>(params: ApiMakeCallProps) => Promise<ApiResponse<T>>;\n parseResponse: <T = any>(response: AxiosResponse<ApiResponse<T>>) => ApiResponse<T>;\n isRequestSuccess: (response: AxiosResponse) => boolean;\n isResultSuccess: (response: AxiosResponse<ApiResponse>) => boolean;\n getError: (status: boolean, message?: string) => ApiResponse;\n getSuccess: <T = any>(status: boolean, message?: string, data?: T) => ApiResponse<T>;\n};\n\n// You can inject token later if needed (via a setter or directly)\nlet accessToken: string = '';\n\nconst createAxiosInstance = (endpointUrl: string): AxiosInstanceParams => {\n // return axios.create({\n // baseURL: endpointUrl,\n // timeout: 30000,\n // });\n\n let axiosClient = axios.create({\n baseURL: endpointUrl,\n timeout: 30000,\n });\n\n let cancelToken = axios.CancelToken\n\n return {\n axiosClient,\n cancelToken\n }\n}\n\nexport const ApiService = (props: ApiServiceProps): ApiServiceReturnType => {\n\n const customToken = props?.customToken ?? \"\"\n const customAccessKey = props?.customAccessKey ?? \"\"\n const enableDebug = props?.enableDebug ? true : false\n\n // const { baseURL } = getApiConfig()\n const baseURL = props?.apiBaseUrl ?? \"\"\n\n const {\n axiosClient,\n // cancelToken,\n } = createAxiosInstance(baseURL)\n\n const setToken = (token: string) => {\n accessToken = token;\n }\n\n const getAuthorization = (accessToken: string): string => {\n return accessToken ? `Bearer ${accessToken}` : '';\n }\n\n const getJWTAuthorizationHeader = (accessToken: string): Record<string, string> => {\n return accessToken ? { Authorization: getAuthorization(accessToken) } : {}\n }\n\n const getAccessKeyHeader = (accessKey: string): Record<string, string> => {\n return accessKey ? { 'x-access-key': accessKey } : {}\n }\n\n const makeCall = async <T = any>({\n url,\n payload,\n method,\n sessionAuthentication = true,\n enableDebug: overrideEnableDebug = false\n }: ApiMakeCallProps): Promise<ApiResponse<T>> => {\n\n const _enableDebug = overrideEnableDebug ? overrideEnableDebug : enableDebug\n\n if (customToken) { // if option to use customToken\n setToken(customToken)\n } else {\n if (sessionAuthentication) {\n // const { getSession } = SessionService()\n\n // const session = await getSession()\n\n // if (session?.token) {\n // setToken(session?.token)\n // }\n }\n }\n\n\n // const client = createAxiosInstance(baseURL);\n const client = axiosClient\n\n // console.log('accessToken', accessToken)\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n ...(getJWTAuthorizationHeader(accessToken)),\n ...(getAccessKeyHeader(customAccessKey))\n };\n\n const config: AxiosRequestConfig = {\n method,\n url,\n headers,\n ...(method.toLowerCase() !== 'get' ? { data: payload } : {}),\n };\n\n // console.log('[Axios Call]', baseURL, url, method, JSON.stringify(payload));\n\n try {\n\n if (_enableDebug) {\n console.log('[Axios Call] BaseURL:', baseURL);\n console.log('[Axios Call] URL:', url);\n console.log('[Axios Call] Method:', method);\n console.log('[Axios Call] Headers:', headers);\n if (method.toLowerCase() !== 'get') {\n console.log('[Axios Call] Payload:', payload);\n }\n }\n\n const response = await client.request<ApiResponse>(config);\n return parseResponse(response);\n } catch (error: unknown) {\n if (isAxiosError<ApiError>(error)) {\n\n const { message, exception = \"\" } = error.response?.data ?? {};\n\n const errorMessage =\n [message, exception]\n .filter(Boolean)\n .join(\" - \")\n || error.message\n || 'Network error';\n\n // console.log('error', error)\n throw getError(false, errorMessage);\n }\n throw getError(false, `${(error as any)?.message || 'Unknown error'}`);\n }\n }\n\n const parseResponse = (response: AxiosResponse<ApiResponse>) => {\n if (!isRequestSuccess(response)) {\n throw getError(false, 'Server failed to respond properly');\n }\n\n if (!isResultSuccess(response)) {\n throw getError(false, response?.data?.message || 'API returned an error');\n }\n\n const { status, message, data } = response.data;\n return getSuccess(status, message, data);\n }\n\n const isRequestSuccess = (response: AxiosResponse): boolean => response.status === 200\n\n const isResultSuccess = (response: AxiosResponse<ApiResponse>): boolean =>\n Boolean(response?.data?.status)\n\n const getError = (status: boolean, message = '') => ({\n status,\n message,\n })\n\n const getSuccess = (status: boolean, message = '', data?: any) => ({\n status,\n message,\n data,\n })\n\n return {\n customToken,\n createAxiosInstance,\n getJWTAuthorizationHeader,\n getAccessKeyHeader,\n setToken,\n makeCall,\n parseResponse,\n isRequestSuccess,\n isResultSuccess,\n getError,\n getSuccess\n }\n};\n"]}
@@ -28,9 +28,9 @@ export type FilterItem = {
28
28
  group?: string;
29
29
  };
30
30
  export type BuildApiListParamsProps = {
31
- limit?: number;
32
- offset?: number;
33
- filterValue?: FilterItem[];
31
+ limit: number;
32
+ offset: number;
33
+ filters?: FilterItem[];
34
34
  sortField?: string;
35
35
  sortOrder?: "asc" | "desc";
36
36
  dataTypes?: string[];
@@ -30,12 +30,12 @@ exports.filterOperatorTypes = Object.keys(exports._operatorSymbols).reduce((acc,
30
30
  }, {});
31
31
  function buildApiListUrl(endpoint, props) {
32
32
  let filters = [];
33
- const { limit, offset, filterValue,
33
+ const { limit, offset, filters: overrideFilters,
34
34
  // sortInfo,
35
35
  sortField, sortOrder, dataTypes = [], extraFilters = [], } = props;
36
36
  // Process filters
37
- if (filterValue) {
38
- for (const filter of filterValue) {
37
+ if (overrideFilters) {
38
+ for (const filter of overrideFilters) {
39
39
  if (filter.value !== undefined ||
40
40
  filter.operator === "isNull" ||
41
41
  filter.operator === "isNotNull" ||
@@ -73,7 +73,7 @@ function buildApiGetUrl(endpoint, props) {
73
73
  const {
74
74
  // limit,
75
75
  // offset,
76
- // filterValue,
76
+ // filters,
77
77
  // // sortInfo,
78
78
  // sortField,
79
79
  // sortOrder,
@@ -1 +1 @@
1
- {"version":3,"file":"queryParams.js","sourceRoot":"","sources":["../../src/lib/queryParams.ts"],"names":[],"mappings":"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","sourcesContent":["export const _operatorSymbols = {\n eq: \"=\",\n startsWith: \"_%\",\n endsWith: \"%_\",\n contains: \"%\",\n containsOr: \"%||\",\n anyOf: \"where_in\",\n anyOfOr: \"or_where_in\",\n excludeOf: \"where_not_in\",\n excludeOfOr: \"or_where_not_in\",\n moreThanEq: \">=\",\n moreThanEqOr: \">=||\",\n lessThanEq: \"<=\",\n lessThanEqOr: \"<=||\",\n notEq: \"!=\",\n eqOr: \"=||\",\n havingInOr: \"or_having_in\",\n isNull: \"null\",\n isNotNull: \"null!=\",\n isNullOr: \"null||\",\n} as const;\n\nexport const filterOperatorTypes = Object.keys(_operatorSymbols).reduce((acc, key) => {\n acc[key] = key;\n return acc;\n}, {} as Record<string, string>);\n\nexport type FilterOperator = keyof typeof filterOperatorTypes;\n\nexport type FilterItem = {\n name: string;\n // operator: keyof typeof _operatorSymbols;\n operator: FilterOperator,\n value?: any;\n group?: string;\n}\n\n// export type SortInfo = {\n// id: string;\n// dir: 1 | -1;\n// }\n\nexport type BuildApiListParamsProps = {\n limit?: number;\n offset?: number;\n filterValue?: FilterItem[];\n // sortInfo?: SortInfo;\n sortField?: string;\n sortOrder?: \"asc\" | \"desc\";\n dataTypes?: string[];\n extraFilters?: any[]; // e.g. location filters\n}\n\nexport type BuildApiGetParamsProps = {\n dataTypes?: string[];\n}\n\nexport function buildApiListUrl(\n endpoint: string,\n props: BuildApiListParamsProps,\n // operatorSymbols: Record<string, string>\n): string {\n\n let filters: any[] = [];\n\n const {\n limit,\n offset,\n filterValue,\n // sortInfo,\n sortField,\n sortOrder,\n dataTypes = [],\n extraFilters = [],\n } = props;\n\n // Process filters\n if (filterValue) {\n for (const filter of filterValue) {\n if (\n filter.value !== undefined ||\n filter.operator === \"isNull\" ||\n filter.operator === \"isNotNull\" ||\n filter.operator === \"isNullOr\"\n ) {\n const line: any = {\n field: filter.name,\n operator: _operatorSymbols[filter.operator as keyof typeof _operatorSymbols],\n value: filter.value,\n };\n\n if (filter.group) line.group = filter.group;\n\n filters.push(line);\n }\n }\n }\n\n // Add any extra filters passed in\n filters = [...filters, ...extraFilters];\n\n // Sorting\n let sortfield = sortField ?? \"id\";\n let sortorder = sortOrder ?? \"desc\";\n\n // if (sortInfo?.id) {\n // sortfield = sortInfo.id;\n // sortorder = sortInfo.dir === -1 ? \"desc\" : \"asc\";\n // }\n\n // Build URL\n let url = `${endpoint}?limit=${limit}&offset=${offset}&sortfield=${sortfield}&sortorder=${sortorder}`;\n url += `&filters=${JSON.stringify(filters.length > 0 ? filters : [])}`;\n\n if (dataTypes.length > 0) {\n url += `&datatypes=${JSON.stringify(dataTypes)}`;\n }\n\n return url;\n}\n\nexport function buildApiGetUrl(\n endpoint: string,\n props: BuildApiGetParamsProps,\n // operatorSymbols: Record<string, string>\n): string {\n\n // let filters: any[] = [];\n\n const {\n // limit,\n // offset,\n // filterValue,\n // // sortInfo,\n // sortField,\n // sortOrder,\n dataTypes = [],\n // extraFilters = [],\n } = props;\n\n // Add any extra filters passed in\n // filters = [...filters, ...extraFilters];\n\n // Sorting\n // let sortfield = sortField ?? \"id\";\n // let sortorder = sortOrder ?? \"desc\";\n\n // if (sortInfo?.id) {\n // sortfield = sortInfo.id;\n // sortorder = sortInfo.dir === -1 ? \"desc\" : \"asc\";\n // }\n\n // Build URL\n let url = `${endpoint}?`;\n // url += `&filters=${JSON.stringify(filters.length > 0 ? filters : [])}`;\n\n if (dataTypes.length > 0) {\n url += `datatypes=${JSON.stringify(dataTypes)}`;\n }\n\n return url;\n}\n"]}
1
+ {"version":3,"file":"queryParams.js","sourceRoot":"","sources":["../../src/lib/queryParams.ts"],"names":[],"mappings":"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","sourcesContent":["export const _operatorSymbols = {\n eq: \"=\",\n startsWith: \"_%\",\n endsWith: \"%_\",\n contains: \"%\",\n containsOr: \"%||\",\n anyOf: \"where_in\",\n anyOfOr: \"or_where_in\",\n excludeOf: \"where_not_in\",\n excludeOfOr: \"or_where_not_in\",\n moreThanEq: \">=\",\n moreThanEqOr: \">=||\",\n lessThanEq: \"<=\",\n lessThanEqOr: \"<=||\",\n notEq: \"!=\",\n eqOr: \"=||\",\n havingInOr: \"or_having_in\",\n isNull: \"null\",\n isNotNull: \"null!=\",\n isNullOr: \"null||\",\n} as const;\n\nexport const filterOperatorTypes = Object.keys(_operatorSymbols).reduce((acc, key) => {\n acc[key] = key;\n return acc;\n}, {} as Record<string, string>);\n\nexport type FilterOperator = keyof typeof filterOperatorTypes;\n\nexport type FilterItem = {\n name: string;\n // operator: keyof typeof _operatorSymbols;\n operator: FilterOperator,\n value?: any;\n group?: string;\n}\n\n// export type SortInfo = {\n// id: string;\n// dir: 1 | -1;\n// }\n\nexport type BuildApiListParamsProps = {\n limit: number;\n offset: number;\n filters?: FilterItem[];\n // sortInfo?: SortInfo;\n sortField?: string;\n sortOrder?: \"asc\" | \"desc\";\n dataTypes?: string[];\n extraFilters?: any[]; // e.g. location filters\n}\n\nexport type BuildApiGetParamsProps = {\n dataTypes?: string[];\n}\n\nexport function buildApiListUrl(\n endpoint: string,\n props: BuildApiListParamsProps,\n // operatorSymbols: Record<string, string>\n): string {\n\n let filters: any[] = [];\n\n const {\n limit,\n offset,\n filters: overrideFilters,\n // sortInfo,\n sortField,\n sortOrder,\n dataTypes = [],\n extraFilters = [],\n } = props;\n\n // Process filters\n if (overrideFilters) {\n for (const filter of overrideFilters) {\n if (\n filter.value !== undefined ||\n filter.operator === \"isNull\" ||\n filter.operator === \"isNotNull\" ||\n filter.operator === \"isNullOr\"\n ) {\n const line: any = {\n field: filter.name,\n operator: _operatorSymbols[filter.operator as keyof typeof _operatorSymbols],\n value: filter.value,\n };\n\n if (filter.group) line.group = filter.group;\n\n filters.push(line);\n }\n }\n }\n\n // Add any extra filters passed in\n filters = [...filters, ...extraFilters];\n\n // Sorting\n let sortfield = sortField ?? \"id\";\n let sortorder = sortOrder ?? \"desc\";\n\n // if (sortInfo?.id) {\n // sortfield = sortInfo.id;\n // sortorder = sortInfo.dir === -1 ? \"desc\" : \"asc\";\n // }\n\n // Build URL\n let url = `${endpoint}?limit=${limit}&offset=${offset}&sortfield=${sortfield}&sortorder=${sortorder}`;\n url += `&filters=${JSON.stringify(filters.length > 0 ? filters : [])}`;\n\n if (dataTypes.length > 0) {\n url += `&datatypes=${JSON.stringify(dataTypes)}`;\n }\n\n return url;\n}\n\nexport function buildApiGetUrl(\n endpoint: string,\n props: BuildApiGetParamsProps,\n // operatorSymbols: Record<string, string>\n): string {\n\n // let filters: any[] = [];\n\n const {\n // limit,\n // offset,\n // filters,\n // // sortInfo,\n // sortField,\n // sortOrder,\n dataTypes = [],\n // extraFilters = [],\n } = props;\n\n // Add any extra filters passed in\n // filters = [...filters, ...extraFilters];\n\n // Sorting\n // let sortfield = sortField ?? \"id\";\n // let sortorder = sortOrder ?? \"desc\";\n\n // if (sortInfo?.id) {\n // sortfield = sortInfo.id;\n // sortorder = sortInfo.dir === -1 ? \"desc\" : \"asc\";\n // }\n\n // Build URL\n let url = `${endpoint}?`;\n // url += `&filters=${JSON.stringify(filters.length > 0 ? filters : [])}`;\n\n if (dataTypes.length > 0) {\n url += `datatypes=${JSON.stringify(dataTypes)}`;\n }\n\n return url;\n}\n"]}
@@ -8,6 +8,8 @@ export declare const userTypes: {
8
8
  readonly driver: "driver";
9
9
  readonly retailer: "retailer";
10
10
  readonly member: "member";
11
+ readonly operator: "operator";
12
+ readonly agent: "agent";
11
13
  };
12
14
  export declare const userTargetTypes: {
13
15
  readonly administrator: "administrator";
@@ -17,6 +19,7 @@ export declare const userTargetTypes: {
17
19
  readonly driver: "driver";
18
20
  readonly retailer: "retailer";
19
21
  readonly member: "member";
22
+ readonly agent: "agent";
20
23
  };
21
24
  export type UserType = typeof userTypes[keyof typeof userTypes];
22
25
  export type UserTargetType = typeof userTargetTypes[keyof typeof userTargetTypes];
@@ -10,6 +10,8 @@ exports.userTypes = {
10
10
  driver: "driver",
11
11
  retailer: "retailer",
12
12
  member: "member",
13
+ operator: "operator",
14
+ agent: "agent",
13
15
  };
14
16
  exports.userTargetTypes = {
15
17
  administrator: "administrator",
@@ -19,6 +21,7 @@ exports.userTargetTypes = {
19
21
  driver: "driver",
20
22
  retailer: "retailer",
21
23
  member: "member",
24
+ agent: "agent",
22
25
  };
23
26
  const getCreatePayload = (userType, data) => {
24
27
  if (userType === "administrator" && "administrator" in data) {
@@ -1 +1 @@
1
- {"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../../src/services/user/UserService.ts"],"names":[],"mappings":"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","sourcesContent":["import { DefaultServiceProps } from '@/lib';\n\nimport {\n buildApiListUrl,\n BuildApiListParamsProps,\n buildApiGetUrl,\n BuildApiGetParamsProps,\n filterOperatorTypes\n} from '@/lib';\n\nexport const userTypes = {\n administrator: \"administrator\",\n worker: \"worker\",\n supplier: \"supplier\",\n customer: \"customer\",\n driver: \"driver\",\n retailer: \"retailer\",\n member: \"member\",\n} as const\n\nexport const userTargetTypes = {\n administrator: \"administrator\",\n worker: \"worker\",\n supplier: \"supplier\",\n customer: \"customer\",\n driver: \"driver\",\n retailer: \"retailer\",\n member: \"member\",\n} as const\n\nexport type UserType = typeof userTypes[keyof typeof userTypes]\nexport type UserTargetType = typeof userTargetTypes[keyof typeof userTargetTypes]\nexport type UserTargetKey = keyof typeof userTargetTypes\n\nexport type UserServiceProps = DefaultServiceProps & {\n userTargetType?: UserTargetType\n userType?: UserType\n};\n\nexport type ListUserProps = BuildApiListParamsProps & {\n userType?: UserType\n}\n\nexport type GetUserProps = BuildApiGetParamsProps & {\n id: number | string\n userType?: UserType\n}\n\ntype Gender = \"male\" | \"female\"\ntype AssignSupplierType = \"admin\" | \"retail\"\n\ntype UserCredential = {\n username: string\n password: string\n // userType: UserTargetType\n firstname: string\n lastname: string\n contact: string\n email: string\n status: boolean\n address: string\n}\n\nexport type CreateUserProps = {\n userTargetType?: UserTargetType\n userType?: UserType\n data:\n // administrator\n {\n administrator: {\n credential: UserCredential,\n locationIds: number[]\n }\n } |\n // customer\n {\n customer: {\n credential: UserCredential,\n code: string\n accountCode: string\n companyName: string\n regNo: string\n secondaryRegNo: string\n taxIdentificationNo: string,\n taxRegistrationNo: string,\n remark: string\n salesperson: string\n excludeTaxRate: number[]\n }\n } |\n // retailer\n {\n retailer: {\n credential: UserCredential,\n code: string\n accountCode: string\n companyName: string\n regNo: string\n remark: string\n isDifferentBusiness: boolean\n businessId: number\n }\n } |\n // worker\n {\n worker: {\n credential: UserCredential,\n remark: string\n locationIds: number[]\n }\n } |\n // driver\n {\n driver: {\n credential: UserCredential,\n companyName: string\n remark: string\n locationIds: number[]\n }\n } |\n // supplier\n {\n supplier: {\n credential: UserCredential,\n // supplier: {\n type: AssignSupplierType\n companyName: string\n contact: string\n code: string\n regNo: string\n remark: string\n address1: string\n address2: string\n postcode: string\n countryId: number\n stateId: number\n areaId: number\n bankName: string\n bankAcc: string\n itemIds: number[],\n retailerId?: number /* Optional */\n }\n } &\n // member\n {\n member: {\n credential: UserCredential,\n ownerUserId: number | 0 /* retailer_user_id or empty if global */\n companyName: string\n identityNo: string\n gender: Gender,\n dob: string\n address1: string\n address2: string\n countryId: number\n stateId: number\n areaId: number\n postcode: string\n remark: string\n }\n }\n}\n\nexport type UpdateUserProps = {\n id: number\n userTargetType?: UserTargetType\n userType?: UserType\n data:\n // administatrator\n {\n administrator: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n locationIds: number[]\n }\n } |\n // customer\n {\n customer: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n code: string\n accountCode: string\n companyName: string\n regNo: string\n secondaryRegNo: string\n taxIdentificationNo: string,\n taxRegistrationNo: string,\n remark: string\n salesperson: string\n excludeTaxRate: number[]\n }\n } |\n // retailer\n {\n retailer: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n code: string\n accountCode: string\n companyName: string\n regNo: string\n remark: string\n isDifferentBusiness: boolean\n businessId: number\n }\n } |\n // worker\n {\n worker: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n remark: string\n locationIds: number[]\n }\n } |\n // driver\n {\n driver: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n companyName: string\n remark: string\n locationIds: number[]\n }\n } |\n // supplier\n {\n supplier: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n type: AssignSupplierType\n companyName: string\n contact: string\n code: string\n regNo: string\n remark: string\n address1: string\n address2: string\n postcode: string\n countryId: number\n stateId: number\n areaId: number\n bankName: string\n bankAcc: string\n itemIds: number[],\n retailerId?: number /* Optional */\n }\n } |\n // member\n {\n member: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n ownerUserId: number /* retailer_user_id or empty if global */\n companyName: string\n identityNo: string\n gender: Gender,\n dob: string\n address1: string\n address2: string\n countryId: number\n stateId: number\n areaId: number\n postcode: string\n remark: string\n }\n }\n}\n\nexport type RemoveUserProps = {\n userTargetType?: UserTargetType\n ids: number[]\n}\n\nexport type GetDataTypeUserProps = {\n userType?: UserType\n}\n\nconst getCreatePayload = (userType: UserType, data: CreateUserProps[\"data\"]) => {\n\n if (userType === \"administrator\" && \"administrator\" in data) {\n\n return {\n credential: {\n username: data.administrator.credential.username,\n password: data.administrator.credential.password,\n user_type: userType,\n firstname: data.administrator.credential.firstname,\n lastname: data.administrator.credential.lastname,\n contact: data.administrator.credential.contact,\n email: data.administrator.credential.email,\n status: (data.administrator.credential.status === true) ? 1 : 0,\n address: data.administrator.credential.address\n },\n administrator: [],\n props: {\n location_id: data.administrator.locationIds\n }\n }\n }\n\n if (userType === \"customer\" && \"customer\" in data) {\n\n return {\n credential: {\n username: data.customer.credential.username,\n password: data.customer.credential.password,\n user_type: userType,\n firstname: data.customer.credential.firstname,\n lastname: data.customer.credential.lastname,\n contact: data.customer.credential.contact,\n email: data.customer.credential.email,\n status: (data.customer.credential.status === true) ? 1 : 0,\n address: data.customer.credential.address\n },\n customer: {\n code: data.customer.code,\n account_code: data.customer.accountCode,\n company_name: data.customer.companyName,\n reg_no: data.customer.regNo,\n secondary_reg_no: data.customer.secondaryRegNo,\n remark: data.customer.remark,\n tax_identification_no: data.customer.taxIdentificationNo,\n tax_registration_no: data.customer.taxRegistrationNo,\n },\n props: {\n salesperson: data.customer.salesperson,\n exclude_tax_rate: data.customer.excludeTaxRate\n }\n }\n }\n\n if (userType === \"retailer\" && \"retailer\" in data) {\n\n return {\n credential: {\n username: data.retailer.credential.username,\n password: data.retailer.credential.password,\n user_type: userType,\n firstname: data.retailer.credential.firstname,\n lastname: data.retailer.credential.lastname,\n contact: data.retailer.credential.contact,\n email: data.retailer.credential.email,\n status: (data.retailer.credential.status === true) ? 1 : 0,\n address: data.retailer.credential.address\n },\n retailer: {\n code: data.retailer.code,\n account_code: data.retailer.accountCode,\n company_name: data.retailer.companyName,\n reg_no: data.retailer.regNo,\n remark: data.retailer.remark\n },\n props: {\n business_id: data.retailer.businessId\n },\n status: {\n is_different_business: (data.retailer.isDifferentBusiness === true) ? 1 : 0\n }\n }\n }\n\n if (userType === \"worker\" && \"worker\" in data) {\n\n return {\n credential: {\n username: data.worker.credential.username,\n password: data.worker.credential.password,\n user_type: userType,\n firstname: data.worker.credential.firstname,\n lastname: data.worker.credential.lastname,\n contact: data.worker.credential.contact,\n email: data.worker.credential.email,\n status: (data.worker.credential.status === true) ? 1 : 0,\n address: data.worker.credential.address\n },\n worker: {\n remark: data.worker.remark\n },\n props: {\n location_id: data.worker.locationIds\n }\n }\n }\n\n if (userType === \"driver\" && \"driver\" in data) {\n\n return {\n credential: {\n username: data.driver.credential.username,\n password: data.driver.credential.password,\n user_type: userType,\n firstname: data.driver.credential.firstname,\n lastname: data.driver.credential.lastname,\n contact: data.driver.credential.contact,\n email: data.driver.credential.email,\n status: (data.driver.credential.status === true) ? 1 : 0,\n address: data.driver.credential.address\n },\n driver: {\n company_name: data.driver.companyName,\n remark: data.driver.remark\n },\n props: {\n location_id: data.driver.locationIds\n }\n }\n }\n\n if (userType === \"supplier\" && \"supplier\" in data) {\n\n return {\n credential: {\n username: data.supplier.credential.username,\n password: data.supplier.credential.password,\n user_type: userType,\n firstname: data.supplier.credential.firstname,\n lastname: data.supplier.credential.lastname,\n contact: data.supplier.credential.contact,\n email: data.supplier.credential.email,\n status: (data.supplier.credential.status === true) ? 1 : 0,\n address: data.supplier.credential.address\n },\n supplier: {\n type: data.supplier.type,\n company_name: data.supplier.companyName,\n contact: data.supplier.contact,\n code: data.supplier.code,\n reg_no: data.supplier.regNo,\n remark: data.supplier.remark,\n address_1: data.supplier.address1,\n address_2: data.supplier.address2,\n postcode: data.supplier.postcode,\n country_id: data.supplier.countryId,\n state_id: data.supplier.stateId,\n area_id: data.supplier.areaId,\n bank_name: data.supplier.bankName,\n bank_acc: data.supplier.bankAcc\n },\n props: {\n item_id: data.supplier.itemIds,\n retailer_id: data.supplier.retailerId\n }\n }\n }\n\n if (userType === \"member\" && \"member\" in data) {\n\n return {\n credential: {\n username: data.member.credential.username,\n password: data.member.credential.password,\n user_type: userType,\n firstname: data.member.credential.firstname,\n lastname: data.member.credential.lastname,\n contact: data.member.credential.contact,\n email: data.member.credential.email,\n status: (data.member.credential.status === true) ? 1 : 0,\n address: data.member.credential.address\n },\n member: {\n owner_user_id: (data.member.ownerUserId === 0) ? \"\" : data.member.ownerUserId, /* retailer_user_id or empty if global */\n company_name: data.member.companyName,\n identity_no: data.member.identityNo,\n gender: data.member.gender,\n dob: data.member.dob,\n address_1: data.member.address1,\n address_2: data.member.address2,\n country_id: data.member.countryId,\n state_id: data.member.stateId,\n area_id: data.member.areaId,\n postcode: data.member.postcode,\n remark: data.member.remark\n }\n }\n }\n}\n\nconst getUpdatePayload = (userType: UserType, data: UpdateUserProps[\"data\"]) => {\n\n if (userType === \"administrator\" && \"administrator\" in data) {\n\n return {\n credential: {\n ...(data.administrator.credential.password ? { password: data.administrator.credential.password } : {}),\n firstname: data.administrator.credential.firstname,\n lastname: data.administrator.credential.lastname,\n contact: data.administrator.credential.contact,\n email: data.administrator.credential.email,\n status: (data.administrator.credential.status === true) ? 1 : 0,\n address: data.administrator.credential.address\n },\n administrator: [],\n props: {\n location_id: data.administrator.locationIds\n }\n }\n }\n\n if (userType === \"customer\" && \"customer\" in data) {\n\n return {\n credential: {\n ...(data.customer.credential.password ? { password: data.customer.credential.password } : {}),\n firstname: data.customer.credential.firstname,\n lastname: data.customer.credential.lastname,\n contact: data.customer.credential.contact,\n email: data.customer.credential.email,\n status: (data.customer.credential.status === true) ? 1 : 0,\n address: data.customer.credential.address\n },\n customer: {\n code: data.customer.code,\n account_code: data.customer.accountCode,\n company_name: data.customer.companyName,\n reg_no: data.customer.regNo,\n secondary_reg_no: data.customer.secondaryRegNo,\n remark: data.customer.remark,\n tax_identification_no: data.customer.taxIdentificationNo,\n tax_registration_no: data.customer.taxRegistrationNo,\n },\n props: {\n salesperson: data.customer.salesperson,\n exclude_tax_rate: data.customer.excludeTaxRate\n }\n }\n\n }\n\n if (userType === \"retailer\" && \"retailer\" in data) {\n\n return {\n credential: {\n ...(data.retailer.credential.password ? { password: data.retailer.credential.password } : {}),\n firstname: data.retailer.credential.firstname,\n lastname: data.retailer.credential.lastname,\n contact: data.retailer.credential.contact,\n email: data.retailer.credential.email,\n status: (data.retailer.credential.status === true) ? 1 : 0,\n address: data.retailer.credential.address\n },\n retailer: {\n code: data.retailer.code,\n account_code: data.retailer.accountCode,\n company_name: data.retailer.companyName,\n reg_no: data.retailer.regNo,\n remark: data.retailer.remark\n },\n props: {\n business_id: data.retailer.businessId\n },\n status: {\n is_different_business: (data.retailer.isDifferentBusiness === true) ? 1 : 0\n }\n }\n }\n\n if (userType === \"worker\" && \"worker\" in data) {\n\n return {\n credential: {\n ...(data.worker.credential.password ? { password: data.worker.credential.password } : {}),\n firstname: data.worker.credential.firstname,\n lastname: data.worker.credential.lastname,\n contact: data.worker.credential.contact,\n email: data.worker.credential.email,\n status: (data.worker.credential.status === true) ? 1 : 0,\n address: data.worker.credential.address\n },\n worker: {\n remark: data.worker.remark\n },\n props: {\n location_id: data.worker.locationIds\n }\n }\n }\n\n if (userType === \"driver\" && \"driver\" in data) {\n\n return {\n credential: {\n ...(data.driver.credential.password ? { password: data.driver.credential.password } : {}),\n firstname: data.driver.credential.firstname,\n lastname: data.driver.credential.lastname,\n contact: data.driver.credential.contact,\n email: data.driver.credential.email,\n status: (data.driver.credential.status === true) ? 1 : 0,\n address: data.driver.credential.address\n },\n driver: {\n company_name: data.driver.companyName,\n remark: data.driver.remark\n },\n props: {\n location_id: data.driver.locationIds\n }\n }\n }\n\n if (userType === \"supplier\" && \"supplier\" in data) {\n\n return {\n credential: {\n ...(data.supplier.credential.password ? { password: data.supplier.credential.password } : {}),\n firstname: data.supplier.credential.firstname,\n lastname: data.supplier.credential.lastname,\n contact: data.supplier.credential.contact,\n email: data.supplier.credential.email,\n status: (data.supplier.credential.status === true) ? 1 : 0,\n address: data.supplier.credential.address\n },\n supplier: {\n type: data.supplier.type,\n company_name: data.supplier.companyName,\n contact: data.supplier.contact,\n code: data.supplier.code,\n reg_no: data.supplier.regNo,\n remark: data.supplier.remark,\n address_1: data.supplier.address1,\n address_2: data.supplier.address2,\n postcode: data.supplier.postcode,\n country_id: data.supplier.countryId,\n state_id: data.supplier.stateId,\n area_id: data.supplier.areaId,\n bank_name: data.supplier.bankName,\n bank_acc: data.supplier.bankAcc\n },\n props: {\n item_id: data.supplier.itemIds,\n retailer_id: data.supplier.retailerId\n }\n }\n }\n\n if (userType === \"member\" && \"member\" in data) {\n\n return {\n credential: {\n ...(data.member.credential.password ? { password: data.member.credential.password } : {}),\n firstname: data.member.credential.firstname,\n lastname: data.member.credential.lastname,\n contact: data.member.credential.contact,\n email: data.member.credential.email,\n status: (data.member.credential.status === true) ? 1 : 0,\n address: data.member.credential.address\n },\n member: {\n owner_user_id: (data.member.ownerUserId === 0) ? \"\" : data.member.ownerUserId, /* retailer_user_id or empty if global */\n company_name: data.member.companyName,\n identity_no: data.member.identityNo,\n gender: data.member.gender,\n dob: data.member.dob,\n address_1: data.member.address1,\n address_2: data.member.address2,\n country_id: data.member.countryId,\n state_id: data.member.stateId,\n area_id: data.member.areaId,\n postcode: data.member.postcode,\n remark: data.member.remark\n }\n }\n }\n\n}\n\nexport const UserService = (props: UserServiceProps) => {\n\n const { userType = \"administrator\", userTargetType, ...rest } = props ?? {};\n\n // const { makeCall } = ApiService(rest?.customToken ? { customToken: rest.customToken } : {})\n\n const { makeCall } = props.apiService\n\n const endpoint1 = \"user\";\n const endpoint2 = \"users\"\n\n const list = async (props: ListUserProps) => {\n\n const { userType: overrideUserType } = props;\n\n const url = buildApiListUrl(\n `${endpoint2}/${overrideUserType || userType}`,\n props\n );\n\n const response = await makeCall({\n url,\n method: \"get\",\n payload: {},\n // configuration\n });\n\n return response;\n\n }\n\n const get = async (props: GetUserProps) => {\n\n const { id, userType: overrideUserType } = props;\n\n const url = buildApiGetUrl(\n `${endpoint1}/${overrideUserType || userType}/${id}`,\n props\n );\n\n const response = await makeCall({\n url,\n method: \"get\",\n payload: {},\n // configuration\n });\n\n return response;\n\n }\n\n const create = async ({ data, userType: overrideUserType, userTargetType: overrideUserTargetType }: CreateUserProps) => {\n\n let _userType = overrideUserType || userType\n\n let payload: any = getCreatePayload(_userType, data)\n\n let url = `${endpoint1}`;\n\n let postData = {\n scope: {\n target: overrideUserTargetType || userTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"post\",\n payload: postData\n });\n\n return response;\n\n }\n\n const update = async ({ id, data, userType: overrideUserType, userTargetType: overrideUserTargetType }: UpdateUserProps) => {\n\n let url = `${endpoint1}/${id}`\n\n let _userType = overrideUserType || userType\n\n let payload: any = getUpdatePayload(_userType, data)\n\n\n const postData = {\n scope: {\n target: overrideUserTargetType || userTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"put\",\n payload: postData\n });\n\n return response;\n\n }\n\n const remove = async ({ ids, userTargetType: overrideUserTargetType }: RemoveUserProps) => {\n\n let url = `${endpoint2}/delete`\n\n const postData = {\n scope: {\n target: overrideUserTargetType || userTargetType,\n },\n payload: {\n ids\n }\n }\n\n const response = await makeCall({\n url,\n method: \"post\",\n payload: postData\n });\n\n return response;\n\n }\n\n const getDataTypes = async ({ userType: overrideUserType }: GetDataTypeUserProps) => {\n\n let url = `${endpoint2}/data_types/${overrideUserType || userType}`\n\n const response = await makeCall({\n url,\n method: \"get\",\n });\n\n return response;\n\n }\n\n return {\n list,\n get,\n create,\n update,\n remove,\n getDataTypes\n };\n}\n"]}
1
+ {"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../../src/services/user/UserService.ts"],"names":[],"mappings":"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","sourcesContent":["import { DefaultServiceProps } from '@/lib';\n\nimport {\n buildApiListUrl,\n BuildApiListParamsProps,\n buildApiGetUrl,\n BuildApiGetParamsProps,\n filterOperatorTypes\n} from '@/lib';\n\nexport const userTypes = {\n administrator: \"administrator\",\n worker: \"worker\",\n supplier: \"supplier\",\n customer: \"customer\",\n driver: \"driver\",\n retailer: \"retailer\",\n member: \"member\",\n operator: \"operator\",\n agent: \"agent\",\n} as const\n\nexport const userTargetTypes = {\n administrator: \"administrator\",\n worker: \"worker\",\n supplier: \"supplier\",\n customer: \"customer\",\n driver: \"driver\",\n retailer: \"retailer\",\n member: \"member\",\n agent: \"agent\",\n} as const\n\nexport type UserType = typeof userTypes[keyof typeof userTypes]\nexport type UserTargetType = typeof userTargetTypes[keyof typeof userTargetTypes]\nexport type UserTargetKey = keyof typeof userTargetTypes\n\nexport type UserServiceProps = DefaultServiceProps & {\n userTargetType?: UserTargetType\n userType?: UserType\n};\n\nexport type ListUserProps = BuildApiListParamsProps & {\n userType?: UserType\n}\n\nexport type GetUserProps = BuildApiGetParamsProps & {\n id: number | string\n userType?: UserType\n}\n\ntype Gender = \"male\" | \"female\"\ntype AssignSupplierType = \"admin\" | \"retail\"\n\ntype UserCredential = {\n username: string\n password: string\n // userType: UserTargetType\n firstname: string\n lastname: string\n contact: string\n email: string\n status: boolean\n address: string\n}\n\nexport type CreateUserProps = {\n userTargetType?: UserTargetType\n userType?: UserType\n data:\n // administrator\n {\n administrator: {\n credential: UserCredential,\n locationIds: number[]\n }\n } |\n // customer\n {\n customer: {\n credential: UserCredential,\n code: string\n accountCode: string\n companyName: string\n regNo: string\n secondaryRegNo: string\n taxIdentificationNo: string,\n taxRegistrationNo: string,\n remark: string\n salesperson: string\n excludeTaxRate: number[]\n }\n } |\n // retailer\n {\n retailer: {\n credential: UserCredential,\n code: string\n accountCode: string\n companyName: string\n regNo: string\n remark: string\n isDifferentBusiness: boolean\n businessId: number\n }\n } |\n // worker\n {\n worker: {\n credential: UserCredential,\n remark: string\n locationIds: number[]\n }\n } |\n // driver\n {\n driver: {\n credential: UserCredential,\n companyName: string\n remark: string\n locationIds: number[]\n }\n } |\n // supplier\n {\n supplier: {\n credential: UserCredential,\n // supplier: {\n type: AssignSupplierType\n companyName: string\n contact: string\n code: string\n regNo: string\n remark: string\n address1: string\n address2: string\n postcode: string\n countryId: number\n stateId: number\n areaId: number\n bankName: string\n bankAcc: string\n itemIds: number[],\n retailerId?: number /* Optional */\n }\n } &\n // member\n {\n member: {\n credential: UserCredential,\n ownerUserId: number | 0 /* retailer_user_id or empty if global */\n companyName: string\n identityNo: string\n gender: Gender,\n dob: string\n address1: string\n address2: string\n countryId: number\n stateId: number\n areaId: number\n postcode: string\n remark: string\n }\n }\n}\n\nexport type UpdateUserProps = {\n id: number\n userTargetType?: UserTargetType\n userType?: UserType\n data:\n // administatrator\n {\n administrator: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n locationIds: number[]\n }\n } |\n // customer\n {\n customer: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n code: string\n accountCode: string\n companyName: string\n regNo: string\n secondaryRegNo: string\n taxIdentificationNo: string,\n taxRegistrationNo: string,\n remark: string\n salesperson: string\n excludeTaxRate: number[]\n }\n } |\n // retailer\n {\n retailer: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n code: string\n accountCode: string\n companyName: string\n regNo: string\n remark: string\n isDifferentBusiness: boolean\n businessId: number\n }\n } |\n // worker\n {\n worker: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n remark: string\n locationIds: number[]\n }\n } |\n // driver\n {\n driver: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n companyName: string\n remark: string\n locationIds: number[]\n }\n } |\n // supplier\n {\n supplier: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n type: AssignSupplierType\n companyName: string\n contact: string\n code: string\n regNo: string\n remark: string\n address1: string\n address2: string\n postcode: string\n countryId: number\n stateId: number\n areaId: number\n bankName: string\n bankAcc: string\n itemIds: number[],\n retailerId?: number /* Optional */\n }\n } |\n // member\n {\n member: {\n credential: Omit<UserCredential, \"username\" | \"password\"> & { password?: string },\n ownerUserId: number /* retailer_user_id or empty if global */\n companyName: string\n identityNo: string\n gender: Gender,\n dob: string\n address1: string\n address2: string\n countryId: number\n stateId: number\n areaId: number\n postcode: string\n remark: string\n }\n }\n}\n\nexport type RemoveUserProps = {\n userTargetType?: UserTargetType\n ids: number[]\n}\n\nexport type GetDataTypeUserProps = {\n userType?: UserType\n}\n\nconst getCreatePayload = (userType: UserType, data: CreateUserProps[\"data\"]) => {\n\n if (userType === \"administrator\" && \"administrator\" in data) {\n\n return {\n credential: {\n username: data.administrator.credential.username,\n password: data.administrator.credential.password,\n user_type: userType,\n firstname: data.administrator.credential.firstname,\n lastname: data.administrator.credential.lastname,\n contact: data.administrator.credential.contact,\n email: data.administrator.credential.email,\n status: (data.administrator.credential.status === true) ? 1 : 0,\n address: data.administrator.credential.address\n },\n administrator: [],\n props: {\n location_id: data.administrator.locationIds\n }\n }\n }\n\n if (userType === \"customer\" && \"customer\" in data) {\n\n return {\n credential: {\n username: data.customer.credential.username,\n password: data.customer.credential.password,\n user_type: userType,\n firstname: data.customer.credential.firstname,\n lastname: data.customer.credential.lastname,\n contact: data.customer.credential.contact,\n email: data.customer.credential.email,\n status: (data.customer.credential.status === true) ? 1 : 0,\n address: data.customer.credential.address\n },\n customer: {\n code: data.customer.code,\n account_code: data.customer.accountCode,\n company_name: data.customer.companyName,\n reg_no: data.customer.regNo,\n secondary_reg_no: data.customer.secondaryRegNo,\n remark: data.customer.remark,\n tax_identification_no: data.customer.taxIdentificationNo,\n tax_registration_no: data.customer.taxRegistrationNo,\n },\n props: {\n salesperson: data.customer.salesperson,\n exclude_tax_rate: data.customer.excludeTaxRate\n }\n }\n }\n\n if (userType === \"retailer\" && \"retailer\" in data) {\n\n return {\n credential: {\n username: data.retailer.credential.username,\n password: data.retailer.credential.password,\n user_type: userType,\n firstname: data.retailer.credential.firstname,\n lastname: data.retailer.credential.lastname,\n contact: data.retailer.credential.contact,\n email: data.retailer.credential.email,\n status: (data.retailer.credential.status === true) ? 1 : 0,\n address: data.retailer.credential.address\n },\n retailer: {\n code: data.retailer.code,\n account_code: data.retailer.accountCode,\n company_name: data.retailer.companyName,\n reg_no: data.retailer.regNo,\n remark: data.retailer.remark\n },\n props: {\n business_id: data.retailer.businessId\n },\n status: {\n is_different_business: (data.retailer.isDifferentBusiness === true) ? 1 : 0\n }\n }\n }\n\n if (userType === \"worker\" && \"worker\" in data) {\n\n return {\n credential: {\n username: data.worker.credential.username,\n password: data.worker.credential.password,\n user_type: userType,\n firstname: data.worker.credential.firstname,\n lastname: data.worker.credential.lastname,\n contact: data.worker.credential.contact,\n email: data.worker.credential.email,\n status: (data.worker.credential.status === true) ? 1 : 0,\n address: data.worker.credential.address\n },\n worker: {\n remark: data.worker.remark\n },\n props: {\n location_id: data.worker.locationIds\n }\n }\n }\n\n if (userType === \"driver\" && \"driver\" in data) {\n\n return {\n credential: {\n username: data.driver.credential.username,\n password: data.driver.credential.password,\n user_type: userType,\n firstname: data.driver.credential.firstname,\n lastname: data.driver.credential.lastname,\n contact: data.driver.credential.contact,\n email: data.driver.credential.email,\n status: (data.driver.credential.status === true) ? 1 : 0,\n address: data.driver.credential.address\n },\n driver: {\n company_name: data.driver.companyName,\n remark: data.driver.remark\n },\n props: {\n location_id: data.driver.locationIds\n }\n }\n }\n\n if (userType === \"supplier\" && \"supplier\" in data) {\n\n return {\n credential: {\n username: data.supplier.credential.username,\n password: data.supplier.credential.password,\n user_type: userType,\n firstname: data.supplier.credential.firstname,\n lastname: data.supplier.credential.lastname,\n contact: data.supplier.credential.contact,\n email: data.supplier.credential.email,\n status: (data.supplier.credential.status === true) ? 1 : 0,\n address: data.supplier.credential.address\n },\n supplier: {\n type: data.supplier.type,\n company_name: data.supplier.companyName,\n contact: data.supplier.contact,\n code: data.supplier.code,\n reg_no: data.supplier.regNo,\n remark: data.supplier.remark,\n address_1: data.supplier.address1,\n address_2: data.supplier.address2,\n postcode: data.supplier.postcode,\n country_id: data.supplier.countryId,\n state_id: data.supplier.stateId,\n area_id: data.supplier.areaId,\n bank_name: data.supplier.bankName,\n bank_acc: data.supplier.bankAcc\n },\n props: {\n item_id: data.supplier.itemIds,\n retailer_id: data.supplier.retailerId\n }\n }\n }\n\n if (userType === \"member\" && \"member\" in data) {\n\n return {\n credential: {\n username: data.member.credential.username,\n password: data.member.credential.password,\n user_type: userType,\n firstname: data.member.credential.firstname,\n lastname: data.member.credential.lastname,\n contact: data.member.credential.contact,\n email: data.member.credential.email,\n status: (data.member.credential.status === true) ? 1 : 0,\n address: data.member.credential.address\n },\n member: {\n owner_user_id: (data.member.ownerUserId === 0) ? \"\" : data.member.ownerUserId, /* retailer_user_id or empty if global */\n company_name: data.member.companyName,\n identity_no: data.member.identityNo,\n gender: data.member.gender,\n dob: data.member.dob,\n address_1: data.member.address1,\n address_2: data.member.address2,\n country_id: data.member.countryId,\n state_id: data.member.stateId,\n area_id: data.member.areaId,\n postcode: data.member.postcode,\n remark: data.member.remark\n }\n }\n }\n}\n\nconst getUpdatePayload = (userType: UserType, data: UpdateUserProps[\"data\"]) => {\n\n if (userType === \"administrator\" && \"administrator\" in data) {\n\n return {\n credential: {\n ...(data.administrator.credential.password ? { password: data.administrator.credential.password } : {}),\n firstname: data.administrator.credential.firstname,\n lastname: data.administrator.credential.lastname,\n contact: data.administrator.credential.contact,\n email: data.administrator.credential.email,\n status: (data.administrator.credential.status === true) ? 1 : 0,\n address: data.administrator.credential.address\n },\n administrator: [],\n props: {\n location_id: data.administrator.locationIds\n }\n }\n }\n\n if (userType === \"customer\" && \"customer\" in data) {\n\n return {\n credential: {\n ...(data.customer.credential.password ? { password: data.customer.credential.password } : {}),\n firstname: data.customer.credential.firstname,\n lastname: data.customer.credential.lastname,\n contact: data.customer.credential.contact,\n email: data.customer.credential.email,\n status: (data.customer.credential.status === true) ? 1 : 0,\n address: data.customer.credential.address\n },\n customer: {\n code: data.customer.code,\n account_code: data.customer.accountCode,\n company_name: data.customer.companyName,\n reg_no: data.customer.regNo,\n secondary_reg_no: data.customer.secondaryRegNo,\n remark: data.customer.remark,\n tax_identification_no: data.customer.taxIdentificationNo,\n tax_registration_no: data.customer.taxRegistrationNo,\n },\n props: {\n salesperson: data.customer.salesperson,\n exclude_tax_rate: data.customer.excludeTaxRate\n }\n }\n\n }\n\n if (userType === \"retailer\" && \"retailer\" in data) {\n\n return {\n credential: {\n ...(data.retailer.credential.password ? { password: data.retailer.credential.password } : {}),\n firstname: data.retailer.credential.firstname,\n lastname: data.retailer.credential.lastname,\n contact: data.retailer.credential.contact,\n email: data.retailer.credential.email,\n status: (data.retailer.credential.status === true) ? 1 : 0,\n address: data.retailer.credential.address\n },\n retailer: {\n code: data.retailer.code,\n account_code: data.retailer.accountCode,\n company_name: data.retailer.companyName,\n reg_no: data.retailer.regNo,\n remark: data.retailer.remark\n },\n props: {\n business_id: data.retailer.businessId\n },\n status: {\n is_different_business: (data.retailer.isDifferentBusiness === true) ? 1 : 0\n }\n }\n }\n\n if (userType === \"worker\" && \"worker\" in data) {\n\n return {\n credential: {\n ...(data.worker.credential.password ? { password: data.worker.credential.password } : {}),\n firstname: data.worker.credential.firstname,\n lastname: data.worker.credential.lastname,\n contact: data.worker.credential.contact,\n email: data.worker.credential.email,\n status: (data.worker.credential.status === true) ? 1 : 0,\n address: data.worker.credential.address\n },\n worker: {\n remark: data.worker.remark\n },\n props: {\n location_id: data.worker.locationIds\n }\n }\n }\n\n if (userType === \"driver\" && \"driver\" in data) {\n\n return {\n credential: {\n ...(data.driver.credential.password ? { password: data.driver.credential.password } : {}),\n firstname: data.driver.credential.firstname,\n lastname: data.driver.credential.lastname,\n contact: data.driver.credential.contact,\n email: data.driver.credential.email,\n status: (data.driver.credential.status === true) ? 1 : 0,\n address: data.driver.credential.address\n },\n driver: {\n company_name: data.driver.companyName,\n remark: data.driver.remark\n },\n props: {\n location_id: data.driver.locationIds\n }\n }\n }\n\n if (userType === \"supplier\" && \"supplier\" in data) {\n\n return {\n credential: {\n ...(data.supplier.credential.password ? { password: data.supplier.credential.password } : {}),\n firstname: data.supplier.credential.firstname,\n lastname: data.supplier.credential.lastname,\n contact: data.supplier.credential.contact,\n email: data.supplier.credential.email,\n status: (data.supplier.credential.status === true) ? 1 : 0,\n address: data.supplier.credential.address\n },\n supplier: {\n type: data.supplier.type,\n company_name: data.supplier.companyName,\n contact: data.supplier.contact,\n code: data.supplier.code,\n reg_no: data.supplier.regNo,\n remark: data.supplier.remark,\n address_1: data.supplier.address1,\n address_2: data.supplier.address2,\n postcode: data.supplier.postcode,\n country_id: data.supplier.countryId,\n state_id: data.supplier.stateId,\n area_id: data.supplier.areaId,\n bank_name: data.supplier.bankName,\n bank_acc: data.supplier.bankAcc\n },\n props: {\n item_id: data.supplier.itemIds,\n retailer_id: data.supplier.retailerId\n }\n }\n }\n\n if (userType === \"member\" && \"member\" in data) {\n\n return {\n credential: {\n ...(data.member.credential.password ? { password: data.member.credential.password } : {}),\n firstname: data.member.credential.firstname,\n lastname: data.member.credential.lastname,\n contact: data.member.credential.contact,\n email: data.member.credential.email,\n status: (data.member.credential.status === true) ? 1 : 0,\n address: data.member.credential.address\n },\n member: {\n owner_user_id: (data.member.ownerUserId === 0) ? \"\" : data.member.ownerUserId, /* retailer_user_id or empty if global */\n company_name: data.member.companyName,\n identity_no: data.member.identityNo,\n gender: data.member.gender,\n dob: data.member.dob,\n address_1: data.member.address1,\n address_2: data.member.address2,\n country_id: data.member.countryId,\n state_id: data.member.stateId,\n area_id: data.member.areaId,\n postcode: data.member.postcode,\n remark: data.member.remark\n }\n }\n }\n\n}\n\nexport const UserService = (props: UserServiceProps) => {\n\n const { userType = \"administrator\", userTargetType, ...rest } = props ?? {};\n\n // const { makeCall } = ApiService(rest?.customToken ? { customToken: rest.customToken } : {})\n\n const { makeCall } = props.apiService\n\n const endpoint1 = \"user\";\n const endpoint2 = \"users\"\n\n const list = async (props: ListUserProps) => {\n\n const { userType: overrideUserType } = props;\n\n const url = buildApiListUrl(\n `${endpoint2}/${overrideUserType || userType}`,\n props\n );\n\n const response = await makeCall({\n url,\n method: \"get\",\n payload: {},\n // configuration\n });\n\n return response;\n\n }\n\n const get = async (props: GetUserProps) => {\n\n const { id, userType: overrideUserType } = props;\n\n const url = buildApiGetUrl(\n `${endpoint1}/${overrideUserType || userType}/${id}`,\n props\n );\n\n const response = await makeCall({\n url,\n method: \"get\",\n payload: {},\n // configuration\n });\n\n return response;\n\n }\n\n const create = async ({ data, userType: overrideUserType, userTargetType: overrideUserTargetType }: CreateUserProps) => {\n\n let _userType = overrideUserType || userType\n\n let payload: any = getCreatePayload(_userType, data)\n\n let url = `${endpoint1}`;\n\n let postData = {\n scope: {\n target: overrideUserTargetType || userTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"post\",\n payload: postData\n });\n\n return response;\n\n }\n\n const update = async ({ id, data, userType: overrideUserType, userTargetType: overrideUserTargetType }: UpdateUserProps) => {\n\n let url = `${endpoint1}/${id}`\n\n let _userType = overrideUserType || userType\n\n let payload: any = getUpdatePayload(_userType, data)\n\n\n const postData = {\n scope: {\n target: overrideUserTargetType || userTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"put\",\n payload: postData\n });\n\n return response;\n\n }\n\n const remove = async ({ ids, userTargetType: overrideUserTargetType }: RemoveUserProps) => {\n\n let url = `${endpoint2}/delete`\n\n const postData = {\n scope: {\n target: overrideUserTargetType || userTargetType,\n },\n payload: {\n ids\n }\n }\n\n const response = await makeCall({\n url,\n method: \"post\",\n payload: postData\n });\n\n return response;\n\n }\n\n const getDataTypes = async ({ userType: overrideUserType }: GetDataTypeUserProps) => {\n\n let url = `${endpoint2}/data_types/${overrideUserType || userType}`\n\n const response = await makeCall({\n url,\n method: \"get\",\n });\n\n return response;\n\n }\n\n return {\n list,\n get,\n create,\n update,\n remove,\n getDataTypes\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storemw-core-client",
3
- "version": "1.0.25",
3
+ "version": "1.0.27",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -52,9 +52,11 @@
52
52
  "tsconfig-paths": "^4.2.0",
53
53
  "typescript": "^5.0.0"
54
54
  },
55
+ "peerDependencies": {
56
+ "axios": "^1.13.1"
57
+ },
55
58
  "dependencies": {
56
- "axios": "^1.13.1",
57
59
  "dayjs": "^1.11.18",
58
60
  "lodash": "^4.17.21"
59
61
  }
60
- }
62
+ }