storemw-core-client 1.0.30 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/auth/AuthService.d.ts +4 -14
- package/dist/services/auth/AuthService.js +15 -16
- package/dist/services/auth/AuthService.js.map +1 -1
- package/dist/services/business/BusinessService.js +2 -2
- package/dist/services/business/BusinessService.js.map +1 -1
- package/dist/services/user/UserService.js +10 -5
- package/dist/services/user/UserService.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,23 +1,13 @@
|
|
|
1
1
|
import { DefaultServiceProps } from '../../lib';
|
|
2
|
-
export declare const routeTypes: {
|
|
3
|
-
readonly admin: "admin";
|
|
4
|
-
readonly retail: "retail";
|
|
5
|
-
readonly workstation: "workstation";
|
|
6
|
-
readonly customer: "customer";
|
|
7
|
-
readonly member: "member";
|
|
8
|
-
readonly public: "public";
|
|
9
|
-
readonly driver: "driver";
|
|
10
|
-
readonly console: "console";
|
|
11
|
-
};
|
|
12
2
|
export declare const authTargetTypes: {
|
|
13
|
-
readonly
|
|
14
|
-
readonly retailer: "
|
|
15
|
-
readonly
|
|
3
|
+
readonly administrator: "administrator";
|
|
4
|
+
readonly retailer: "retailer";
|
|
5
|
+
readonly worker: "worker";
|
|
16
6
|
readonly customer: "customer";
|
|
17
7
|
readonly member: "member";
|
|
18
8
|
readonly public: "public";
|
|
19
9
|
readonly driver: "driver";
|
|
20
|
-
readonly
|
|
10
|
+
readonly operator: "operator";
|
|
21
11
|
};
|
|
22
12
|
export type AuthTargetType = typeof authTargetTypes[keyof typeof authTargetTypes];
|
|
23
13
|
export type AuthServiceProps = DefaultServiceProps & {
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AuthService = exports.authTargetTypes =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
3
|
+
exports.AuthService = exports.authTargetTypes = void 0;
|
|
4
|
+
// export const routeTypes = {
|
|
5
|
+
// admin: "admin",
|
|
6
|
+
// retail: "retail", // retail
|
|
7
|
+
// workstation: "workstation",
|
|
8
|
+
// customer: "customer",
|
|
9
|
+
// member: "member",
|
|
10
|
+
// public: "public",
|
|
11
|
+
// driver: "driver",
|
|
12
|
+
// console: "console"
|
|
13
|
+
// } as const
|
|
14
14
|
exports.authTargetTypes = {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
workstation: "workstation", // worker
|
|
15
|
+
administrator: "administrator",
|
|
16
|
+
retailer: "retailer",
|
|
17
|
+
worker: "worker",
|
|
19
18
|
customer: "customer",
|
|
20
19
|
member: "member",
|
|
21
20
|
public: "public",
|
|
22
21
|
driver: "driver",
|
|
23
|
-
|
|
22
|
+
operator: "operator"
|
|
24
23
|
};
|
|
25
24
|
const AuthService = (props) => {
|
|
26
25
|
const { authTargetType } = props ?? {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../../src/services/auth/AuthService.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../../src/services/auth/AuthService.ts"],"names":[],"mappings":";;;AAEA,8BAA8B;AAC9B,sBAAsB;AACtB,kCAAkC;AAClC,kCAAkC;AAClC,4BAA4B;AAC5B,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,yBAAyB;AACzB,aAAa;AAEA,QAAA,eAAe,GAAG;IAC3B,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACd,CAAA;AAoCH,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IAEnD,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,IAAI,EAAE,CAAA;IAEtC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,UAAU,CAAA;IAErC,MAAM,SAAS,GAAG,MAAM,CAAC;IAEzB,MAAM,SAAS,GAAG,KAAK,EAAE,KAAqB,EAAE,EAAE;QAE9C,MAAM,EACF,cAAc,EAAE,sBAAsB,EACtC,QAAQ,EACR,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,WAAW,GAAG,EAAE,EACnB,GAAG,KAAK,CAAA;QAET,MAAM,GAAG,GAAG,GAAG,SAAS,QAAQ,CAAC;QAEjC,MAAM,QAAQ,GAAG;YACb,KAAK,EAAE;gBACH,MAAM,EAAE,sBAAsB,IAAI,cAAc;gBAChD,MAAM,EAAE,EAAE;aACb;YACD,OAAO,EAAE;gBACL,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,QAAQ;gBACR,QAAQ;aACX;SACJ,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC5B,GAAG;YACH,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAEpB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAwB,EAAE,EAAE;QAGlF,MAAM,GAAG,GAAG,GAAG,SAAS,kBAAkB,CAAC;QAE3C,MAAM,QAAQ,GAAG;YACb,KAAK,EAAE;gBACH,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,EAAE;aACb;YACD,OAAO,EAAE;gBACL,gBAAgB,EAAE,OAAO;gBACzB,YAAY,EAAE,QAAQ;gBACtB,gBAAgB,EAAE,OAAO;aAC5B;SACJ,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC5B,GAAG;YACH,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAA;IAEnB,CAAC,CAAA;IAED,OAAO;QACH,SAAS;QACT,cAAc;KACjB,CAAC;AACN,CAAC,CAAA;AA1EY,QAAA,WAAW,eA0EvB","sourcesContent":["import { DefaultServiceProps } from '@/lib';\n\n// export const routeTypes = {\n// admin: \"admin\",\n// retail: \"retail\", // retail\n// workstation: \"workstation\",\n// customer: \"customer\",\n// member: \"member\",\n// public: \"public\",\n// driver: \"driver\",\n// console: \"console\"\n// } as const\n\nexport const authTargetTypes = {\n administrator: \"administrator\",\n retailer: \"retailer\",\n worker: \"worker\",\n customer: \"customer\",\n member: \"member\",\n public: \"public\",\n driver: \"driver\",\n operator: \"operator\"\n} as const\n\n// Step 2: Infer the value type (e.g., \"administrator\" | \"retailer\" | ...)\nexport type AuthTargetType = typeof authTargetTypes[keyof typeof authTargetTypes]\n\n// Optional: keyof helper to get \"admin\" | \"retail\" | ...\n// export type AuthTargetKey = keyof typeof authTargetTypes\n\n// Step 3: Define route mapping\n// export const authTargetSystemRouteTypes: Record<AuthTargetType, string> = {\n// [authTargetTypes.admin]: routeTypes.admin,\n// [authTargetTypes.retail]: routeTypes.retail,\n// [authTargetTypes.workstation]: routeTypes.workstation,\n// [authTargetTypes.customer]: routeTypes.customer,\n// [authTargetTypes.member]: routeTypes.member,\n// [authTargetTypes.driver]: routeTypes.driver,\n// }\n\nexport type AuthServiceProps = DefaultServiceProps & {\n authTargetType: AuthTargetType\n}\n\nexport type AuthLoginProps = {\n authTargetType?: AuthTargetType,\n accountId?: string\n accountCode?: string\n username: string\n password: string\n};\n\ntype confirmPasswordProps = {\n current: string\n password: string\n confirm: string\n}\n\nexport const AuthService = (props: AuthServiceProps) => {\n\n const { authTargetType } = props ?? {}\n\n const { makeCall } = props.apiService\n\n const endpoint1 = \"auth\";\n\n const authLogin = async (props: AuthLoginProps) => {\n\n const {\n authTargetType: overrideAuthTargetType,\n username,\n password,\n accountId = \"\",\n accountCode = \"\"\n } = props\n\n const url = `${endpoint1}/token`;\n\n const postData = {\n scope: {\n target: overrideAuthTargetType || authTargetType,\n action: \"\",\n },\n payload: {\n ...(accountId ? { account_id: accountId } : {}),\n ...(accountCode ? { account_code: accountCode } : {}),\n username,\n password\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 changePassword = async ({ current, password, confirm }: confirmPasswordProps) => {\n\n\n const url = `${endpoint1}/change_password`;\n\n const postData = {\n scope: {\n target: \"change_password\",\n action: \"\"\n },\n payload: {\n current_password: current,\n new_password: password,\n confirm_password: confirm\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 return {\n authLogin,\n changePassword\n };\n}\n"]}
|
|
@@ -23,7 +23,7 @@ const getCreatePayload = (businessType, data) => {
|
|
|
23
23
|
state_id: data.business.stateId,
|
|
24
24
|
area_id: data.business.areaId,
|
|
25
25
|
postcode: data.business.postcode,
|
|
26
|
-
status: (data.business.status
|
|
26
|
+
status: Boolean(data.business.status)
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
}
|
|
@@ -43,7 +43,7 @@ const getUpdatePayload = (businessType, data) => {
|
|
|
43
43
|
state_id: data.business.stateId,
|
|
44
44
|
area_id: data.business.areaId,
|
|
45
45
|
postcode: data.business.postcode,
|
|
46
|
-
status: (data.business.status
|
|
46
|
+
status: Boolean(data.business.status)
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BusinessService.js","sourceRoot":"","sources":["../../../src/services/business/BusinessService.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 businessTypes = {\n business: \"business\",\n} as const\n\nexport const businessTargetTypes = {\n business: \"business\",\n} as const\n\nexport type BusinessType = typeof businessTypes[keyof typeof businessTypes]\nexport type BusinessTargetType = typeof businessTargetTypes[keyof typeof businessTargetTypes]\nexport type BusinessTargetKey = keyof typeof businessTargetTypes\n\nexport type BusinessServiceProps = DefaultServiceProps & {\n businessTargetType?: BusinessTargetType\n businessType?: BusinessType\n};\n\nexport type ListBusinessProps = BuildApiListParamsProps & {\n businessType?: BusinessType\n}\n\nexport type GetBusinessProps = BuildApiGetParamsProps & {\n id: number | string\n businessType?: BusinessType\n}\n\ntype Business = {\n companyName: string\n registrationNumber: string\n website: string\n email: string\n companyContact: string\n address1: string\n address2: string\n countryId: number\n stateId: number\n areaId: number\n postcode: string\n status: boolean\n}\n\nexport type CreateBusinessProps = {\n businessTargetType?: BusinessTargetType\n businessType?: BusinessType\n data:\n // for Business\n {\n business: Business\n }\n}\n\nexport type UpdateBusinessProps = {\n id: number\n businessTargetType?: BusinessTargetType\n businessType?: BusinessType\n data:\n // for Business\n {\n business: Business\n }\n}\n\nexport type RemoveBusinessProps = {\n businessTargetType?: BusinessTargetType\n ids: number[]\n}\n\nexport type GetDataTypeBusinessProps = {\n businessType?: BusinessType\n}\n\nconst getCreatePayload = (businessType: BusinessType, data: CreateBusinessProps[\"data\"]) => {\n\n if (businessType === \"business\") {\n return {\n business: {\n company_name: data.business.companyName,\n id_number: data.business.registrationNumber,\n website: data.business.website,\n email: data.business.email,\n company_contact: data.business.companyContact,\n address_1: data.business.address1,\n address_2: data.business.address2,\n country_id: data.business.countryId,\n state_id: data.business.stateId,\n area_id: data.business.areaId,\n postcode: data.business.postcode,\n status: (data.business.status === true) ? 1 : 0\n }\n }\n }\n\n}\n\nconst getUpdatePayload = (businessType: BusinessType, data: UpdateBusinessProps[\"data\"]) => {\n\n if (businessType === \"business\") {\n return {\n business: {\n company_name: data.business.companyName,\n id_number: data.business.registrationNumber,\n website: data.business.website,\n email: data.business.email,\n company_contact: data.business.companyContact,\n address_1: data.business.address1,\n address_2: data.business.address2,\n country_id: data.business.countryId,\n state_id: data.business.stateId,\n area_id: data.business.areaId,\n postcode: data.business.postcode,\n status: (data.business.status === true) ? 1 : 0\n }\n }\n }\n\n}\n\nexport const BusinessService = (props: BusinessServiceProps) => {\n\n const { businessType, businessTargetType, ...rest } = props ?? {};\n\n // const { makeCall } = ApiService(rest?.customToken ? { customToken: rest.customToken } : {})\n\n const { makeCall } = props.apiService\n\n const endpoint1 = \"business\";\n const endpoint2 = \"businesses\"\n\n const list = async (props: ListBusinessProps) => {\n\n const { businessType: overrideBusinessType } = props;\n\n const url = buildApiListUrl(\n `${endpoint2}/${overrideBusinessType || businessType}`,\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: GetBusinessProps) => {\n\n const { id, businessType: overrideBusinessType } = props;\n\n const url = buildApiGetUrl(\n `${endpoint1}/${overrideBusinessType || businessType}/${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, businessType: overrideBusinessType, businessTargetType: overrideBusinessTargetType }: CreateBusinessProps) => {\n\n let payload: any = {}\n\n if (overrideBusinessType) {\n payload = getCreatePayload(overrideBusinessType, data)\n }\n\n let url = `${endpoint1}`;\n\n let postData = {\n scope: {\n target: overrideBusinessTargetType || businessTargetType,\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, businessType: overrideBusinessType, businessTargetType: overrideBusinessTargetType }: UpdateBusinessProps) => {\n\n let url = `${endpoint1}/${id}`\n\n let payload: any = {}\n\n if (overrideBusinessType) {\n payload = getUpdatePayload(overrideBusinessType, data)\n }\n\n const postData = {\n scope: {\n target: overrideBusinessTargetType || businessTargetType,\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, businessTargetType: overrideBusinessTargetType }: RemoveBusinessProps) => {\n\n let url = `${endpoint2}/delete`\n\n const postData = {\n scope: {\n target: overrideBusinessTargetType || businessTargetType,\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 ({ businessType: overrideBusinessType }: GetDataTypeBusinessProps) => {\n\n let url = `${endpoint1}/data_types/${overrideBusinessType || businessType}`\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":"BusinessService.js","sourceRoot":"","sources":["../../../src/services/business/BusinessService.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 businessTypes = {\n business: \"business\",\n} as const\n\nexport const businessTargetTypes = {\n business: \"business\",\n} as const\n\nexport type BusinessType = typeof businessTypes[keyof typeof businessTypes]\nexport type BusinessTargetType = typeof businessTargetTypes[keyof typeof businessTargetTypes]\nexport type BusinessTargetKey = keyof typeof businessTargetTypes\n\nexport type BusinessServiceProps = DefaultServiceProps & {\n businessTargetType?: BusinessTargetType\n businessType?: BusinessType\n};\n\nexport type ListBusinessProps = BuildApiListParamsProps & {\n businessType?: BusinessType\n}\n\nexport type GetBusinessProps = BuildApiGetParamsProps & {\n id: number | string\n businessType?: BusinessType\n}\n\ntype Business = {\n companyName: string\n registrationNumber: string\n website: string\n email: string\n companyContact: string\n address1: string\n address2: string\n countryId: number\n stateId: number\n areaId: number\n postcode: string\n status: boolean\n}\n\nexport type CreateBusinessProps = {\n businessTargetType?: BusinessTargetType\n businessType?: BusinessType\n data:\n // for Business\n {\n business: Business\n }\n}\n\nexport type UpdateBusinessProps = {\n id: number\n businessTargetType?: BusinessTargetType\n businessType?: BusinessType\n data:\n // for Business\n {\n business: Business\n }\n}\n\nexport type RemoveBusinessProps = {\n businessTargetType?: BusinessTargetType\n ids: number[]\n}\n\nexport type GetDataTypeBusinessProps = {\n businessType?: BusinessType\n}\n\nconst getCreatePayload = (businessType: BusinessType, data: CreateBusinessProps[\"data\"]) => {\n\n if (businessType === \"business\") {\n return {\n business: {\n company_name: data.business.companyName,\n id_number: data.business.registrationNumber,\n website: data.business.website,\n email: data.business.email,\n company_contact: data.business.companyContact,\n address_1: data.business.address1,\n address_2: data.business.address2,\n country_id: data.business.countryId,\n state_id: data.business.stateId,\n area_id: data.business.areaId,\n postcode: data.business.postcode,\n status: Boolean(data.business.status)\n }\n }\n }\n\n}\n\nconst getUpdatePayload = (businessType: BusinessType, data: UpdateBusinessProps[\"data\"]) => {\n\n if (businessType === \"business\") {\n return {\n business: {\n company_name: data.business.companyName,\n id_number: data.business.registrationNumber,\n website: data.business.website,\n email: data.business.email,\n company_contact: data.business.companyContact,\n address_1: data.business.address1,\n address_2: data.business.address2,\n country_id: data.business.countryId,\n state_id: data.business.stateId,\n area_id: data.business.areaId,\n postcode: data.business.postcode,\n status: Boolean(data.business.status)\n }\n }\n }\n\n}\n\nexport const BusinessService = (props: BusinessServiceProps) => {\n\n const { businessType, businessTargetType, ...rest } = props ?? {};\n\n // const { makeCall } = ApiService(rest?.customToken ? { customToken: rest.customToken } : {})\n\n const { makeCall } = props.apiService\n\n const endpoint1 = \"business\";\n const endpoint2 = \"businesses\"\n\n const list = async (props: ListBusinessProps) => {\n\n const { businessType: overrideBusinessType } = props;\n\n const url = buildApiListUrl(\n `${endpoint2}/${overrideBusinessType || businessType}`,\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: GetBusinessProps) => {\n\n const { id, businessType: overrideBusinessType } = props;\n\n const url = buildApiGetUrl(\n `${endpoint1}/${overrideBusinessType || businessType}/${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, businessType: overrideBusinessType, businessTargetType: overrideBusinessTargetType }: CreateBusinessProps) => {\n\n let payload: any = {}\n\n if (overrideBusinessType) {\n payload = getCreatePayload(overrideBusinessType, data)\n }\n\n let url = `${endpoint1}`;\n\n let postData = {\n scope: {\n target: overrideBusinessTargetType || businessTargetType,\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, businessType: overrideBusinessType, businessTargetType: overrideBusinessTargetType }: UpdateBusinessProps) => {\n\n let url = `${endpoint1}/${id}`\n\n let payload: any = {}\n\n if (overrideBusinessType) {\n payload = getUpdatePayload(overrideBusinessType, data)\n }\n\n const postData = {\n scope: {\n target: overrideBusinessTargetType || businessTargetType,\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, businessTargetType: overrideBusinessTargetType }: RemoveBusinessProps) => {\n\n let url = `${endpoint2}/delete`\n\n const postData = {\n scope: {\n target: overrideBusinessTargetType || businessTargetType,\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 ({ businessType: overrideBusinessType }: GetDataTypeBusinessProps) => {\n\n let url = `${endpoint1}/data_types/${overrideBusinessType || businessType}`\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"]}
|
|
@@ -162,7 +162,8 @@ const getCreatePayload = (userType, data) => {
|
|
|
162
162
|
area_id: data.member.areaId,
|
|
163
163
|
postcode: data.member.postcode,
|
|
164
164
|
remark: data.member.remark
|
|
165
|
-
}
|
|
165
|
+
},
|
|
166
|
+
props: {}
|
|
166
167
|
};
|
|
167
168
|
}
|
|
168
169
|
if (userType === "agent" && "agent" in data) {
|
|
@@ -182,7 +183,8 @@ const getCreatePayload = (userType, data) => {
|
|
|
182
183
|
area_id: data.agent.areaId,
|
|
183
184
|
postcode: data.agent.postcode,
|
|
184
185
|
remark: data.agent.remark
|
|
185
|
-
}
|
|
186
|
+
},
|
|
187
|
+
props: {}
|
|
186
188
|
};
|
|
187
189
|
}
|
|
188
190
|
};
|
|
@@ -204,7 +206,8 @@ const getUpdatePayload = (userType, data) => {
|
|
|
204
206
|
if (userType === "operator" && "operator" in data) {
|
|
205
207
|
return {
|
|
206
208
|
...getCredentialPayload(data.operator.credential),
|
|
207
|
-
operator: {}
|
|
209
|
+
operator: {},
|
|
210
|
+
props: {}
|
|
208
211
|
};
|
|
209
212
|
}
|
|
210
213
|
if (userType === "administrator" && "administrator" in data) {
|
|
@@ -320,7 +323,8 @@ const getUpdatePayload = (userType, data) => {
|
|
|
320
323
|
area_id: data.member.areaId,
|
|
321
324
|
postcode: data.member.postcode,
|
|
322
325
|
remark: data.member.remark
|
|
323
|
-
}
|
|
326
|
+
},
|
|
327
|
+
props: {}
|
|
324
328
|
};
|
|
325
329
|
}
|
|
326
330
|
if (userType === "agent" && "agent" in data) {
|
|
@@ -338,7 +342,8 @@ const getUpdatePayload = (userType, data) => {
|
|
|
338
342
|
area_id: data.agent.areaId,
|
|
339
343
|
postcode: data.agent.postcode,
|
|
340
344
|
remark: data.agent.remark
|
|
341
|
-
}
|
|
345
|
+
},
|
|
346
|
+
props: {}
|
|
342
347
|
};
|
|
343
348
|
}
|
|
344
349
|
};
|
|
@@ -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 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 operator: \"operator\",\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\" | \"other\"\n// type AssignSupplierType = \"admin\" | \"retail\"\n\ntype UserCredential = {\n username: string;\n password: string;\n firstname: string;\n lastname: string;\n contact: string;\n address?: string;\n email: string;\n status: boolean;\n}\n\ntype UserCredentialWithoutPassword = Omit<UserCredential, \"password\"> & { password?: string }\n\nexport type CreateUserProps = {\n userTargetType?: UserTargetType\n userType?: UserType\n data:\n // operator\n {\n operator: {\n credential: UserCredential,\n }\n } |\n // administrator\n {\n administrator: {\n credential: UserCredential,\n locationIds: string[]\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 gstNo: string;\n taxIdentificationNo: string;\n taxRegistrationNo: string;\n remark: string;\n salesperson: string\n }\n } |\n // retailer\n {\n retailer: {\n credential: UserCredential,\n code: string;\n accountCode: string;\n companyName: string;\n gstNo: string;\n regNo: string;\n remark: string;\n }\n } |\n // worker\n {\n worker: {\n credential: UserCredential,\n remark: string\n locationIds: string[]\n }\n } |\n // driver\n {\n driver: {\n credential: UserCredential,\n companyName: string\n remark: string\n locationIds: string[]\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;\n code?: string;\n companyName: string;\n identityNo: string;\n gender: Gender;\n dob: string; // YYYY-MM-DD format enforced by regex\n address1: string;\n address2: string;\n countryId: number;\n stateId: number;\n areaId: number;\n postcode: string;\n remark: string;\n }\n } &\n // agent\n {\n agent: {\n credential: UserCredential,\n ownerUserId: number;\n code?: string;\n companyName: string;\n identityNo: string;\n gender: Gender;\n dob: string; // YYYY-MM-DD format enforced by regex\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 // operator\n {\n operator: {\n credential: UserCredentialWithoutPassword,\n }\n } |\n // administatrator\n {\n administrator: {\n credential: UserCredentialWithoutPassword,\n locationIds: string[]\n }\n } |\n // customer\n {\n customer: {\n credential: UserCredentialWithoutPassword,\n code: string\n accountCode: string\n companyName: string\n regNo: string\n secondaryRegNo: string\n gstNo: string;\n taxIdentificationNo: string,\n taxRegistrationNo: string,\n remark: string\n salesperson: string\n }\n } |\n // retailer\n {\n retailer: {\n credential: UserCredentialWithoutPassword,\n code: string\n accountCode: string\n companyName: string\n regNo: string\n gstNo: string;\n remark: string\n }\n } |\n // worker\n {\n worker: {\n credential: UserCredentialWithoutPassword,\n remark: string\n locationIds: string[]\n }\n } |\n // driver\n {\n driver: {\n credential: UserCredentialWithoutPassword,\n companyName: string\n remark: string\n locationIds: string[]\n }\n } |\n // // supplier\n // {\n // supplier: {\n // credential: UserCredentialWithoutPassword,\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: UserCredentialWithoutPassword,\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 // agent\n {\n agent: {\n credential: UserCredentialWithoutPassword,\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 const getCredentialPayload = (values: UserCredential) => {\n return {\n credential: {\n username: values.username,\n password: values.password,\n firstname: values.firstname,\n lastname: values.lastname,\n contact: values.contact,\n email: values.email,\n status: Boolean(values.status),\n address: values.address\n }\n }\n }\n\n if (userType === \"operator\" && \"operator\" in data) {\n\n return {\n ...getCredentialPayload(data.operator.credential),\n operator: {}\n }\n }\n\n if (userType === \"administrator\" && \"administrator\" in data) {\n\n return {\n ...getCredentialPayload(data.administrator.credential),\n administrator: [],\n props: {\n location_ids: data.administrator.locationIds\n }\n }\n }\n\n if (userType === \"customer\" && \"customer\" in data) {\n\n return {\n ...getCredentialPayload(data.customer.credential),\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 gst_no: data.customer.gstNo,\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 }\n }\n }\n\n if (userType === \"retailer\" && \"retailer\" in data) {\n\n return {\n ...getCredentialPayload(data.retailer.credential),\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 gst_no: data.retailer.gstNo,\n remark: data.retailer.remark\n },\n props: {\n\n }\n }\n }\n\n if (userType === \"worker\" && \"worker\" in data) {\n\n return {\n ...getCredentialPayload(data.worker.credential),\n worker: {\n remark: data.worker.remark\n },\n props: {\n location_ids: data.worker.locationIds\n }\n }\n }\n\n if (userType === \"driver\" && \"driver\" in data) {\n\n return {\n ...getCredentialPayload(data.driver.credential),\n driver: {\n company_name: data.driver.companyName,\n remark: data.driver.remark\n },\n props: {\n location_ids: 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 ...getCredentialPayload(data.member.credential),\n member: {\n ...(data?.member?.code ? { code: data.member.code } : {}),\n owner_user_id: Number(data.member.ownerUserId),\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 if (userType === \"agent\" && \"agent\" in data) {\n\n return {\n ...getCredentialPayload(data.agent.credential),\n agent: {\n ...(data?.agent?.code ? { code: data.agent.code } : {}),\n owner_user_id: Number(data.agent.ownerUserId),\n company_name: data.agent.companyName,\n identity_no: data.agent.identityNo,\n gender: data.agent.gender,\n dob: data.agent.dob,\n address_1: data.agent.address1,\n address_2: data.agent.address2,\n country_id: data.agent.countryId,\n state_id: data.agent.stateId,\n area_id: data.agent.areaId,\n postcode: data.agent.postcode,\n remark: data.agent.remark\n }\n }\n }\n}\n\nconst getUpdatePayload = (userType: UserType, data: UpdateUserProps[\"data\"]) => {\n\n const getCredentialPayload = (values: UserCredentialWithoutPassword) => {\n return {\n credential: {\n username: values.username,\n ...(values?.password ? { password: values.password } : {}),\n firstname: values.firstname,\n lastname: values.lastname,\n contact: values.contact,\n email: values.email,\n status: values.status,\n address: values.address\n }\n }\n }\n\n if (userType === \"operator\" && \"operator\" in data) {\n\n return {\n ...getCredentialPayload(data.operator.credential),\n operator: {}\n }\n }\n\n if (userType === \"administrator\" && \"administrator\" in data) {\n\n return {\n ...getCredentialPayload(data.administrator.credential),\n administrator: {},\n props: {\n location_ids: data.administrator.locationIds\n }\n }\n }\n\n if (userType === \"customer\" && \"customer\" in data) {\n\n return {\n ...getCredentialPayload(data.customer.credential),\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 gst_no: data.customer.gstNo,\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 }\n }\n\n }\n\n if (userType === \"retailer\" && \"retailer\" in data) {\n\n return {\n ...getCredentialPayload(data.retailer.credential),\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 gst_no: data.retailer.gstNo,\n remark: data.retailer.remark\n },\n props: {\n }\n }\n }\n\n if (userType === \"worker\" && \"worker\" in data) {\n\n return {\n ...getCredentialPayload(data.worker.credential),\n worker: {\n remark: data.worker.remark\n },\n props: {\n location_ids: data.worker.locationIds\n }\n }\n }\n\n if (userType === \"driver\" && \"driver\" in data) {\n\n return {\n ...getCredentialPayload(data.driver.credential),\n driver: {\n company_name: data.driver.companyName,\n remark: data.driver.remark\n },\n props: {\n location_ids: 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 ...getCredentialPayload(data.member.credential),\n member: {\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 if (userType === \"agent\" && \"agent\" in data) {\n\n return {\n ...getCredentialPayload(data.agent.credential),\n agent: {\n company_name: data.agent.companyName,\n identity_no: data.agent.identityNo,\n gender: data.agent.gender,\n dob: data.agent.dob,\n address_1: data.agent.address1,\n address_2: data.agent.address2,\n country_id: data.agent.countryId,\n state_id: data.agent.stateId,\n area_id: data.agent.areaId,\n postcode: data.agent.postcode,\n remark: data.agent.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 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 operator: \"operator\",\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\" | \"other\"\n// type AssignSupplierType = \"admin\" | \"retail\"\n\ntype UserCredential = {\n username: string;\n password: string;\n firstname: string;\n lastname: string;\n contact: string;\n address?: string;\n email: string;\n status: boolean;\n}\n\ntype UserCredentialWithoutPassword = Omit<UserCredential, \"password\"> & { password?: string }\n\nexport type CreateUserProps = {\n userTargetType?: UserTargetType\n userType?: UserType\n data:\n // operator\n {\n operator: {\n credential: UserCredential,\n }\n } |\n // administrator\n {\n administrator: {\n credential: UserCredential,\n locationIds: string[]\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 gstNo: string;\n taxIdentificationNo: string;\n taxRegistrationNo: string;\n remark: string;\n salesperson: string\n }\n } |\n // retailer\n {\n retailer: {\n credential: UserCredential,\n code: string;\n accountCode: string;\n companyName: string;\n gstNo: string;\n regNo: string;\n remark: string;\n }\n } |\n // worker\n {\n worker: {\n credential: UserCredential,\n remark: string\n locationIds: string[]\n }\n } |\n // driver\n {\n driver: {\n credential: UserCredential,\n companyName: string\n remark: string\n locationIds: string[]\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;\n code?: string;\n companyName: string;\n identityNo: string;\n gender: Gender;\n dob: string; // YYYY-MM-DD format enforced by regex\n address1: string;\n address2: string;\n countryId: number;\n stateId: number;\n areaId: number;\n postcode: string;\n remark: string;\n }\n } &\n // agent\n {\n agent: {\n credential: UserCredential,\n ownerUserId: number;\n code?: string;\n companyName: string;\n identityNo: string;\n gender: Gender;\n dob: string; // YYYY-MM-DD format enforced by regex\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 // operator\n {\n operator: {\n credential: UserCredentialWithoutPassword,\n }\n } |\n // administatrator\n {\n administrator: {\n credential: UserCredentialWithoutPassword,\n locationIds: string[]\n }\n } |\n // customer\n {\n customer: {\n credential: UserCredentialWithoutPassword,\n code: string\n accountCode: string\n companyName: string\n regNo: string\n secondaryRegNo: string\n gstNo: string;\n taxIdentificationNo: string,\n taxRegistrationNo: string,\n remark: string\n salesperson: string\n }\n } |\n // retailer\n {\n retailer: {\n credential: UserCredentialWithoutPassword,\n code: string\n accountCode: string\n companyName: string\n regNo: string\n gstNo: string;\n remark: string\n }\n } |\n // worker\n {\n worker: {\n credential: UserCredentialWithoutPassword,\n remark: string\n locationIds: string[]\n }\n } |\n // driver\n {\n driver: {\n credential: UserCredentialWithoutPassword,\n companyName: string\n remark: string\n locationIds: string[]\n }\n } |\n // // supplier\n // {\n // supplier: {\n // credential: UserCredentialWithoutPassword,\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: UserCredentialWithoutPassword,\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 // agent\n {\n agent: {\n credential: UserCredentialWithoutPassword,\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 const getCredentialPayload = (values: UserCredential) => {\n return {\n credential: {\n username: values.username,\n password: values.password,\n firstname: values.firstname,\n lastname: values.lastname,\n contact: values.contact,\n email: values.email,\n status: Boolean(values.status),\n address: values.address\n }\n }\n }\n\n if (userType === \"operator\" && \"operator\" in data) {\n\n return {\n ...getCredentialPayload(data.operator.credential),\n operator: {}\n }\n }\n\n if (userType === \"administrator\" && \"administrator\" in data) {\n\n return {\n ...getCredentialPayload(data.administrator.credential),\n administrator: [],\n props: {\n location_ids: data.administrator.locationIds\n }\n }\n }\n\n if (userType === \"customer\" && \"customer\" in data) {\n\n return {\n ...getCredentialPayload(data.customer.credential),\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 gst_no: data.customer.gstNo,\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 }\n }\n }\n\n if (userType === \"retailer\" && \"retailer\" in data) {\n\n return {\n ...getCredentialPayload(data.retailer.credential),\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 gst_no: data.retailer.gstNo,\n remark: data.retailer.remark\n },\n props: {\n\n }\n }\n }\n\n if (userType === \"worker\" && \"worker\" in data) {\n\n return {\n ...getCredentialPayload(data.worker.credential),\n worker: {\n remark: data.worker.remark\n },\n props: {\n location_ids: data.worker.locationIds\n }\n }\n }\n\n if (userType === \"driver\" && \"driver\" in data) {\n\n return {\n ...getCredentialPayload(data.driver.credential),\n driver: {\n company_name: data.driver.companyName,\n remark: data.driver.remark\n },\n props: {\n location_ids: 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 ...getCredentialPayload(data.member.credential),\n member: {\n ...(data?.member?.code ? { code: data.member.code } : {}),\n owner_user_id: Number(data.member.ownerUserId),\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 props: {}\n }\n }\n\n if (userType === \"agent\" && \"agent\" in data) {\n\n return {\n ...getCredentialPayload(data.agent.credential),\n agent: {\n ...(data?.agent?.code ? { code: data.agent.code } : {}),\n owner_user_id: Number(data.agent.ownerUserId),\n company_name: data.agent.companyName,\n identity_no: data.agent.identityNo,\n gender: data.agent.gender,\n dob: data.agent.dob,\n address_1: data.agent.address1,\n address_2: data.agent.address2,\n country_id: data.agent.countryId,\n state_id: data.agent.stateId,\n area_id: data.agent.areaId,\n postcode: data.agent.postcode,\n remark: data.agent.remark\n },\n props: {}\n }\n }\n}\n\nconst getUpdatePayload = (userType: UserType, data: UpdateUserProps[\"data\"]) => {\n\n const getCredentialPayload = (values: UserCredentialWithoutPassword) => {\n return {\n credential: {\n username: values.username,\n ...(values?.password ? { password: values.password } : {}),\n firstname: values.firstname,\n lastname: values.lastname,\n contact: values.contact,\n email: values.email,\n status: values.status,\n address: values.address\n }\n }\n }\n\n if (userType === \"operator\" && \"operator\" in data) {\n\n return {\n ...getCredentialPayload(data.operator.credential),\n operator: {},\n props: {}\n }\n }\n\n if (userType === \"administrator\" && \"administrator\" in data) {\n\n return {\n ...getCredentialPayload(data.administrator.credential),\n administrator: {},\n props: {\n location_ids: data.administrator.locationIds\n }\n }\n }\n\n if (userType === \"customer\" && \"customer\" in data) {\n\n return {\n ...getCredentialPayload(data.customer.credential),\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 gst_no: data.customer.gstNo,\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 }\n }\n\n }\n\n if (userType === \"retailer\" && \"retailer\" in data) {\n\n return {\n ...getCredentialPayload(data.retailer.credential),\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 gst_no: data.retailer.gstNo,\n remark: data.retailer.remark\n },\n props: {\n }\n }\n }\n\n if (userType === \"worker\" && \"worker\" in data) {\n\n return {\n ...getCredentialPayload(data.worker.credential),\n worker: {\n remark: data.worker.remark\n },\n props: {\n location_ids: data.worker.locationIds\n }\n }\n }\n\n if (userType === \"driver\" && \"driver\" in data) {\n\n return {\n ...getCredentialPayload(data.driver.credential),\n driver: {\n company_name: data.driver.companyName,\n remark: data.driver.remark\n },\n props: {\n location_ids: 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 ...getCredentialPayload(data.member.credential),\n member: {\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 props: {}\n }\n }\n\n if (userType === \"agent\" && \"agent\" in data) {\n\n return {\n ...getCredentialPayload(data.agent.credential),\n agent: {\n company_name: data.agent.companyName,\n identity_no: data.agent.identityNo,\n gender: data.agent.gender,\n dob: data.agent.dob,\n address_1: data.agent.address1,\n address_2: data.agent.address2,\n country_id: data.agent.countryId,\n state_id: data.agent.stateId,\n area_id: data.agent.areaId,\n postcode: data.agent.postcode,\n remark: data.agent.remark\n },\n props: {}\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 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"]}
|