storemw-core-api 1.0.106 → 1.0.108
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/controllers/user/userController.js +140 -0
- package/dist/controllers/user/userController.js.map +1 -1
- package/dist/models/index.d.ts +2 -0
- package/dist/models/index.js +5 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/user/AgentModel.d.ts +344 -0
- package/dist/models/user/AgentModel.js +13 -0
- package/dist/models/user/AgentModel.js.map +1 -0
- package/dist/schema/payload/index.d.ts +2 -0
- package/dist/schema/payload/index.js +5 -2
- package/dist/schema/payload/index.js.map +1 -1
- package/dist/schema/payload/user/schemaUserAgent.d.ts +450 -0
- package/dist/schema/payload/user/schemaUserAgent.js +45 -0
- package/dist/schema/payload/user/schemaUserAgent.js.map +1 -0
- package/dist/services/injection_field/InjectionFieldService.d.ts +1 -0
- package/dist/services/injection_field/UserInjectionFieldService.d.ts +5 -0
- package/dist/services/injection_field/UserInjectionFieldService.js +2 -1
- package/dist/services/injection_field/UserInjectionFieldService.js.map +1 -1
- package/dist/services/region/RegionService.d.ts +1 -1
- package/dist/services/region/RegionService.js +1 -1
- package/dist/services/region/RegionService.js.map +1 -1
- package/dist/services/user/AgentService.d.ts +134 -0
- package/dist/services/user/AgentService.js +355 -0
- package/dist/services/user/AgentService.js.map +1 -0
- package/dist/services/user/MemberService.d.ts +4 -0
- package/dist/services/user/MemberService.js +33 -16
- package/dist/services/user/MemberService.js.map +1 -1
- package/dist/services/user/OperatorService.d.ts +8 -8
- package/dist/services/user/OperatorService.js +17 -7
- package/dist/services/user/OperatorService.js.map +1 -1
- package/dist/services/user/UserService.d.ts +6 -0
- package/dist/services/user/UserService.js +74 -0
- package/dist/services/user/UserService.js.map +1 -1
- package/dist/utils/serviceFactoryUtils.d.ts +2 -1
- package/dist/utils/serviceFactoryUtils.js +1 -0
- package/dist/utils/serviceFactoryUtils.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +28 -0
|
@@ -28,6 +28,9 @@ const getRootName = (requestUserType, toSingular) => {
|
|
|
28
28
|
case "member":
|
|
29
29
|
rootName = toSingular ? "member" : "members";
|
|
30
30
|
break;
|
|
31
|
+
case "agent":
|
|
32
|
+
rootName = toSingular ? "agent" : "agents";
|
|
33
|
+
break;
|
|
31
34
|
}
|
|
32
35
|
return rootName;
|
|
33
36
|
};
|
|
@@ -381,6 +384,74 @@ const createUser = async (req, res, next) => {
|
|
|
381
384
|
[`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)
|
|
382
385
|
};
|
|
383
386
|
}
|
|
387
|
+
if (requestUserType === "agent") {
|
|
388
|
+
let request = payload_1.schemaUserAgentCreatePayload.parse({
|
|
389
|
+
scope: {
|
|
390
|
+
target: reqScope.target,
|
|
391
|
+
action: reqScope.action
|
|
392
|
+
},
|
|
393
|
+
payload: {
|
|
394
|
+
credential: {
|
|
395
|
+
username: reqPayload.credential.username,
|
|
396
|
+
password: reqPayload.credential.password,
|
|
397
|
+
firstname: reqPayload.credential.firstname,
|
|
398
|
+
lastname: reqPayload.credential.lastname,
|
|
399
|
+
contact: reqPayload.credential.contact,
|
|
400
|
+
email: reqPayload.credential.email,
|
|
401
|
+
address: reqPayload.credential.address,
|
|
402
|
+
status: reqPayload.credential.status
|
|
403
|
+
},
|
|
404
|
+
agent: {
|
|
405
|
+
companyName: reqPayload.agent.company_name,
|
|
406
|
+
...(reqPayload?.agent?.code ? { code: reqPayload.agent.code } : {}),
|
|
407
|
+
ownerUserId: reqPayload.agent.owner_user_id,
|
|
408
|
+
identityNo: reqPayload.agent.identity_no,
|
|
409
|
+
address1: reqPayload.agent.address_1,
|
|
410
|
+
address2: reqPayload.agent.address_2,
|
|
411
|
+
countryId: reqPayload.agent.country_id,
|
|
412
|
+
stateId: reqPayload.agent.state_id,
|
|
413
|
+
areaId: reqPayload.agent.area_id,
|
|
414
|
+
gender: reqPayload.agent.gender,
|
|
415
|
+
postcode: reqPayload.agent.postcode,
|
|
416
|
+
dob: reqPayload.agent.dob,
|
|
417
|
+
remark: reqPayload.agent.remark
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
let payload = {
|
|
422
|
+
userType: requestUserType,
|
|
423
|
+
data: {
|
|
424
|
+
user: {
|
|
425
|
+
loginUsername: request.payload.credential.username,
|
|
426
|
+
loginPassword: request.payload.credential.password,
|
|
427
|
+
address: request?.payload?.credential?.address ?? "",
|
|
428
|
+
contact: request.payload.credential.contact,
|
|
429
|
+
email: request.payload.credential.email,
|
|
430
|
+
firstname: request.payload.credential.firstname,
|
|
431
|
+
lastname: request.payload.credential.lastname,
|
|
432
|
+
status: request.payload.credential.status === 1
|
|
433
|
+
},
|
|
434
|
+
agent: {
|
|
435
|
+
address1: request.payload.agent.address1 ?? "",
|
|
436
|
+
address2: request.payload.agent.address2 ?? "",
|
|
437
|
+
areaId: request.payload.agent.areaId ?? 0,
|
|
438
|
+
stateId: request.payload.agent.stateId ?? 0,
|
|
439
|
+
countryId: request.payload.agent.countryId ?? 0,
|
|
440
|
+
...(request?.payload?.agent?.code ? { code: request.payload.agent.code } : {}),
|
|
441
|
+
companyName: request.payload.agent.companyName ?? "",
|
|
442
|
+
dob: request.payload.agent.dob ?? "",
|
|
443
|
+
gender: request.payload.agent.gender ?? "",
|
|
444
|
+
identityNo: request.payload.agent.identityNo ?? "",
|
|
445
|
+
ownerUserId: request.payload.agent.ownerUserId ?? 0,
|
|
446
|
+
postcode: request.payload.agent.postcode ?? "",
|
|
447
|
+
remark: request.payload.agent.remark ?? ""
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
};
|
|
451
|
+
response = {
|
|
452
|
+
[`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)
|
|
453
|
+
};
|
|
454
|
+
}
|
|
384
455
|
if (requestUserType === "retailer") {
|
|
385
456
|
let request = payload_1.schemaUserRetailerCreatePayload.parse({
|
|
386
457
|
scope: {
|
|
@@ -780,6 +851,75 @@ const updateUser = async (req, res, next) => {
|
|
|
780
851
|
[`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)
|
|
781
852
|
};
|
|
782
853
|
}
|
|
854
|
+
if (requestUserType === "agent") {
|
|
855
|
+
let request = payload_1.schemaUserAgentUpdatePayload.parse({
|
|
856
|
+
scope: {
|
|
857
|
+
target: reqScope.target,
|
|
858
|
+
action: reqScope.action
|
|
859
|
+
},
|
|
860
|
+
payload: {
|
|
861
|
+
credential: {
|
|
862
|
+
username: reqPayload.credential.username,
|
|
863
|
+
password: reqPayload.credential.password,
|
|
864
|
+
firstname: reqPayload.credential.firstname,
|
|
865
|
+
lastname: reqPayload.credential.lastname,
|
|
866
|
+
contact: reqPayload.credential.contact,
|
|
867
|
+
email: reqPayload.credential.email,
|
|
868
|
+
address: reqPayload.credential.address,
|
|
869
|
+
status: reqPayload.credential.status
|
|
870
|
+
},
|
|
871
|
+
agent: {
|
|
872
|
+
companyName: reqPayload.agent.company_name,
|
|
873
|
+
// code: reqPayload.agent.code,
|
|
874
|
+
ownerUserId: reqPayload.agent.owner_user_id,
|
|
875
|
+
identityNo: reqPayload.agent.identity_no,
|
|
876
|
+
address1: reqPayload.agent.address_1,
|
|
877
|
+
address2: reqPayload.agent.address_2,
|
|
878
|
+
countryId: reqPayload.agent.country_id,
|
|
879
|
+
stateId: reqPayload.agent.state_id,
|
|
880
|
+
areaId: reqPayload.agent.area_id,
|
|
881
|
+
gender: reqPayload.agent.gender,
|
|
882
|
+
postcode: reqPayload.agent.postcode,
|
|
883
|
+
dob: reqPayload.agent.dob,
|
|
884
|
+
remark: reqPayload.agent.remark
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
});
|
|
888
|
+
let payload = {
|
|
889
|
+
id: Number(userId),
|
|
890
|
+
userType: requestUserType,
|
|
891
|
+
data: {
|
|
892
|
+
user: {
|
|
893
|
+
loginUsername: request.payload.credential.username,
|
|
894
|
+
...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),
|
|
895
|
+
address: request?.payload?.credential?.address ?? "",
|
|
896
|
+
contact: request.payload.credential.contact,
|
|
897
|
+
email: request.payload.credential.email,
|
|
898
|
+
firstname: request.payload.credential.firstname,
|
|
899
|
+
lastname: request.payload.credential.lastname,
|
|
900
|
+
status: request.payload.credential.status === 1
|
|
901
|
+
},
|
|
902
|
+
agent: {
|
|
903
|
+
address1: request.payload.agent.address1 ?? "",
|
|
904
|
+
address2: request.payload.agent.address2 ?? "",
|
|
905
|
+
areaId: request.payload.agent.areaId ?? 0,
|
|
906
|
+
stateId: request.payload.agent.stateId ?? 0,
|
|
907
|
+
countryId: request.payload.agent.countryId ?? 0,
|
|
908
|
+
// code: request.payload.agent.code ?? "",
|
|
909
|
+
companyName: request.payload.agent.companyName ?? "",
|
|
910
|
+
dob: request.payload.agent.dob ?? "",
|
|
911
|
+
gender: request.payload.agent.gender ?? "",
|
|
912
|
+
identityNo: request.payload.agent.identityNo ?? "",
|
|
913
|
+
ownerUserId: request.payload.agent.ownerUserId ?? 0,
|
|
914
|
+
postcode: request.payload.agent.postcode ?? "",
|
|
915
|
+
remark: request.payload.agent.remark ?? ""
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
};
|
|
919
|
+
response = {
|
|
920
|
+
[`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)
|
|
921
|
+
};
|
|
922
|
+
}
|
|
783
923
|
if (requestUserType === "retailer") {
|
|
784
924
|
let request = payload_1.schemaUserRetailerUpdatePayload.parse({
|
|
785
925
|
scope: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userController.js","sourceRoot":"","sources":["../../../src/controllers/user/userController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Request, Response, NextFunction } from \"express\";\n\nimport { getDefaultServiceProps, sendSuccess, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { UserService, UserType, UserCreateProps, UserServiceProps, UserUpdateProps, userTypes } from \"@/services\"\nimport {\n schemaUserCustomerCreatePayload,\n schemaUserCustomerUpdatePayload,\n schemaUserRetailerCreatePayload,\n schemaUserRetailerUpdatePayload,\n schemaUserAdministratorCreatePayload,\n schemaUserAdministratorUpdatePayload,\n schemaUserWorkerCreatePayload,\n schemaUserWorkerUpdatePayload,\n schemaUserDeletePayload,\n schemaUserOperatorCreatePayload,\n schemaUserOperatorUpdatePayload,\n schemaUserDriverCreatePayload,\n schemaUserDriverUpdatePayload,\n schemaUserMemberCreatePayload,\n schemaUserMemberUpdatePayload\n} from \"@/schema/payload\";\nimport { QueryList } from \"@/schema/middleware/route\";\nimport { RequestAuthContext } from \"@/middlewares/request\";\n\nconst getRootName = (requestUserType: UserServiceProps[\"userType\"], toSingular: boolean) => {\n\n let rootName: any = ``\n\n switch (requestUserType) {\n case \"operator\": rootName = toSingular ? \"operator\" : \"operators\"; break;\n case \"administrator\": rootName = toSingular ? \"administrator\" : \"administrators\"; break;\n case \"customer\": rootName = toSingular ? \"customer\" : \"customers\"; break;\n case \"retailer\": rootName = toSingular ? \"retailer\" : \"retailers\"; break;\n case \"driver\": rootName = toSingular ? \"driver\" : \"drivers\"; break;\n case \"worker\": rootName = toSingular ? \"worker\" : \"workers\"; break;\n case \"member\": rootName = toSingular ? \"member\" : \"members\"; break;\n }\n\n return rootName\n}\n\n/** user/:userType/:userId : get user */\nexport const getUser = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const { userId, userType } = req.params;\n const requestQuery = req.query as unknown as QueryList;\n const requestUserType = userType as UserServiceProps[\"userType\"];\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n const data = await userService.getUser({ id: Number(userId), datatypes: requestQuery.datatypes })\n\n return sendSuccess(res, data, \"Retrieved successfully\", getRootName(requestUserType, true));\n\n } catch (error: any) {\n next(error)\n }\n}\n\n/** user : create user */\nexport const createUser = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const requestUserType = req.body.scope.target as UserServiceProps[\"userType\"]\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n if (requestUserType === \"operator\") {\n\n let request = schemaUserOperatorCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n operator: {}\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"customer\") {\n\n let request = schemaUserCustomerCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n customer: {\n code: reqPayload.customer.code,\n accountCode: reqPayload.customer.account_code,\n companyName: reqPayload.customer.company_name,\n regNo: reqPayload.customer.reg_no,\n secondaryRegNo: reqPayload.customer.secondary_reg_no,\n gstNo: reqPayload.customer.gst_no,\n taxIdentificationNo: reqPayload.customer.tax_identification_no,\n taxRegistrationNo: reqPayload.customer.tax_registration_no,\n remark: reqPayload.customer.remark\n },\n props: {\n salesperson: reqPayload.props.salesperson\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n customer: {\n code: request.payload.customer.code,\n accountCode: request.payload.customer.accountCode,\n companyName: request.payload.customer.companyName,\n regNo: request.payload.customer.regNo,\n secondaryRegNo: request.payload.customer.secondaryRegNo,\n remark: request.payload.customer.remark,\n gstNo: request.payload.customer.gstNo,\n taxIdentificationNo: request.payload.customer.taxIdentificationNo,\n taxRegistrationNo: request.payload.customer.taxRegistrationNo,\n // salesperson: request.payload.props.salesperson,\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"administrator\") {\n\n let request = schemaUserAdministratorCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload?.credential?.address ?? \"\",\n status: reqPayload.credential.status\n },\n administrator: {\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n administrator: {\n isOwner: false\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"worker\") {\n\n let request = schemaUserWorkerCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n worker: {\n remark: reqPayload.worker.remark\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n worker: {\n remark: request.payload.worker.remark ?? \"\"\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"driver\") {\n\n let request = schemaUserDriverCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n driver: {\n companyName: reqPayload.driver.company_name,\n remark: reqPayload.driver.remark\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n driver: {\n companyName: request.payload.driver.companyName ?? \"\",\n remark: request.payload.driver.remark ?? \"\"\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"member\") {\n\n let request = schemaUserMemberCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n member: {\n companyName: reqPayload.member.company_name,\n ...(reqPayload?.member?.code ? { code: reqPayload.member.code } : {}),\n ownerUserId: reqPayload.member.owner_user_id,\n identityNo: reqPayload.member.identity_no,\n address1: reqPayload.member.address_1,\n address2: reqPayload.member.address_2,\n countryId: reqPayload.member.country_id,\n stateId: reqPayload.member.state_id,\n areaId: reqPayload.member.area_id,\n gender: reqPayload.member.gender,\n postcode: reqPayload.member.postcode,\n dob: reqPayload.member.dob,\n remark: reqPayload.member.remark\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n member: {\n address1: request.payload.member.address1 ?? \"\",\n address2: request.payload.member.address2 ?? \"\",\n areaId: request.payload.member.areaId ?? 0,\n stateId: request.payload.member.stateId ?? 0,\n countryId: request.payload.member.countryId ?? 0,\n ...(request?.payload?.member?.code ? { code: request.payload.member.code } : {}),\n companyName: request.payload.member.companyName ?? \"\",\n dob: request.payload.member.dob ?? \"\",\n gender: request.payload.member.gender ?? \"\",\n identityNo: request.payload.member.identityNo ?? \"\",\n ownerUserId: request.payload.member.ownerUserId ?? 0,\n postcode: request.payload.member.postcode ?? \"\",\n remark: request.payload.member.remark ?? \"\"\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"retailer\") {\n\n let request = schemaUserRetailerCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n retailer: {\n code: reqPayload.retailer.code,\n accountCode: reqPayload.retailer.account_code,\n companyName: reqPayload.retailer.company_name,\n regNo: reqPayload.retailer.reg_no,\n gstNo: reqPayload.retailer.gst_no,\n remark: reqPayload.retailer.remark,\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n retailer: {\n code: request.payload.retailer.code,\n accountCode: request.payload.retailer.accountCode,\n companyName: request.payload.retailer.companyName,\n regNo: request.payload.retailer.regNo,\n remark: request.payload.retailer.remark,\n gstNo: request.payload.retailer.gstNo\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n sendSuccess(res, response, `User(${requestUserType}) created successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** user/:userId : update user */\nexport const updateUser = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const { userId } = req.params;\n const requestUserType = req.body.scope.target as UserServiceProps[\"userType\"]\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n if (requestUserType === \"customer\") {\n\n let request = schemaUserCustomerUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address ?? \"\",\n status: reqPayload.credential.status\n },\n customer: {\n code: reqPayload.customer.code,\n accountCode: reqPayload.customer.account_code,\n companyName: reqPayload.customer.company_name,\n regNo: reqPayload.customer.reg_no,\n secondaryRegNo: reqPayload.customer.secondary_reg_no,\n gstNo: reqPayload.customer.gst_no,\n taxIdentificationNo: reqPayload.customer.tax_identification_no,\n taxRegistrationNo: reqPayload.customer.tax_registration_no,\n remark: reqPayload.customer.remark\n },\n props: {\n salesperson: reqPayload.props.salesperson\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request.payload.credential.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n customer: {\n code: request.payload.customer.code,\n accountCode: request.payload.customer.accountCode,\n companyName: request.payload.customer.companyName,\n regNo: request.payload.customer.regNo,\n secondaryRegNo: request.payload.customer.secondaryRegNo,\n remark: request.payload.customer.remark,\n gstNo: request.payload.customer.gstNo,\n taxIdentificationNo: request.payload.customer.taxIdentificationNo,\n taxRegistrationNo: request.payload.customer.taxRegistrationNo,\n // salesperson: request.payload.props.salesperson,\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"operator\") {\n\n let request = schemaUserOperatorUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n operator: {},\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n operator: {},\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"administrator\") {\n\n let request = schemaUserAdministratorUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n administrator: {},\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n administrator: {},\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"worker\") {\n\n let request = schemaUserWorkerUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n worker: {\n remark: reqPayload.worker.remark\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n worker: {\n remark: request.payload.worker.remark\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"driver\") {\n\n let request = schemaUserDriverUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n driver: {\n companyName: reqPayload.driver.company_name,\n remark: reqPayload.driver.remark\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n driver: {\n companyName: request.payload.driver.companyName ?? \"\",\n remark: request.payload.driver.remark ?? \"\"\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"member\") {\n\n let request = schemaUserMemberUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n member: {\n companyName: reqPayload.member.company_name,\n // code: reqPayload.member.code,\n ownerUserId: reqPayload.member.owner_user_id,\n identityNo: reqPayload.member.identity_no,\n address1: reqPayload.member.address_1,\n address2: reqPayload.member.address_2,\n countryId: reqPayload.member.country_id,\n stateId: reqPayload.member.state_id,\n areaId: reqPayload.member.area_id,\n gender: reqPayload.member.gender,\n postcode: reqPayload.member.postcode,\n dob: reqPayload.member.dob,\n remark: reqPayload.member.remark\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n member: {\n address1: request.payload.member.address1 ?? \"\",\n address2: request.payload.member.address2 ?? \"\",\n areaId: request.payload.member.areaId ?? 0,\n stateId: request.payload.member.stateId ?? 0,\n countryId: request.payload.member.countryId ?? 0,\n // code: request.payload.member.code ?? \"\",\n companyName: request.payload.member.companyName ?? \"\",\n dob: request.payload.member.dob ?? \"\",\n gender: request.payload.member.gender ?? \"\",\n identityNo: request.payload.member.identityNo ?? \"\",\n ownerUserId: request.payload.member.ownerUserId ?? 0,\n postcode: request.payload.member.postcode ?? \"\",\n remark: request.payload.member.remark ?? \"\"\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"retailer\") {\n\n let request = schemaUserRetailerUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n // username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n retailer: {\n code: reqPayload.retailer.code,\n accountCode: reqPayload.retailer.account_code,\n companyName: reqPayload.retailer.company_name,\n regNo: reqPayload.retailer.reg_no,\n gstNo: reqPayload.retailer.gst_no,\n remark: reqPayload.retailer.remark,\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n retailer: {\n code: request.payload.retailer.code,\n accountCode: request.payload.retailer.accountCode,\n companyName: request.payload.retailer.companyName,\n regNo: request.payload.retailer.regNo,\n remark: request.payload.retailer.remark,\n gstNo: request.payload.retailer.gstNo\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n sendSuccess(res, response, `User(${requestUserType}) updated successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** users : list users */\nexport const listUsers = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const r = req as RequestAuthContext; // ✅ cast here\n\n const requestQuery = req.query as unknown as QueryList;\n const requestUserType = req.params.userType as UserServiceProps[\"userType\"];\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n const { data, total } = await userService.listUsers({\n ...requestQuery,\n includePassword: false\n });\n\n let response = {\n [`${getRootName(requestUserType, false)}`]: data,\n total,\n }\n\n return sendSuccess(res, response, \"Retrieved successfully\");\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** users/delete : delete users */\nexport const deleteUsers = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestUserType = req.body.scope.target as UserServiceProps[\"userType\"]\n // const requestQuery = req.query as unknown as QueryList;\n // const requestFileId = Number(req.params.fileId)\n\n const request = schemaUserDeletePayload.parse(req.body)\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n const payload = {\n ids: request.payload.ids.map(i => BigInt(i))\n }\n\n const data = await userService.removeUsers(payload);\n\n return sendSuccess(res, data, \"Deleted\", getRootName(requestUserType, false));\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** user/data_types/:userType : get user data types */\nexport const getUserDataTypes = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestQuery = req.query as unknown as QueryList;\n const requestUserType = req.params.userType as UserServiceProps[\"userType\"];\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n const data = userService.getUserDataTypes();\n\n let response = {\n data_types: data\n }\n\n return sendSuccess(res, response, \"Retrieved successfully\");\n\n } catch (error: any) {\n next(error)\n }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"userController.js","sourceRoot":"","sources":["../../../src/controllers/user/userController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Request, Response, NextFunction } from \"express\";\n\nimport { getDefaultServiceProps, sendSuccess, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { UserService, UserType, UserCreateProps, UserServiceProps, UserUpdateProps, userTypes } from \"@/services\"\nimport {\n schemaUserCustomerCreatePayload,\n schemaUserCustomerUpdatePayload,\n schemaUserRetailerCreatePayload,\n schemaUserRetailerUpdatePayload,\n schemaUserAdministratorCreatePayload,\n schemaUserAdministratorUpdatePayload,\n schemaUserWorkerCreatePayload,\n schemaUserWorkerUpdatePayload,\n schemaUserDeletePayload,\n schemaUserOperatorCreatePayload,\n schemaUserOperatorUpdatePayload,\n schemaUserDriverCreatePayload,\n schemaUserDriverUpdatePayload,\n schemaUserMemberCreatePayload,\n schemaUserMemberUpdatePayload,\n schemaUserAgentCreatePayload,\n schemaUserAgentUpdatePayload\n} from \"@/schema/payload\";\nimport { QueryList } from \"@/schema/middleware/route\";\nimport { RequestAuthContext } from \"@/middlewares/request\";\n\nconst getRootName = (requestUserType: UserServiceProps[\"userType\"], toSingular: boolean) => {\n\n let rootName: any = ``\n\n switch (requestUserType) {\n case \"operator\": rootName = toSingular ? \"operator\" : \"operators\"; break;\n case \"administrator\": rootName = toSingular ? \"administrator\" : \"administrators\"; break;\n case \"customer\": rootName = toSingular ? \"customer\" : \"customers\"; break;\n case \"retailer\": rootName = toSingular ? \"retailer\" : \"retailers\"; break;\n case \"driver\": rootName = toSingular ? \"driver\" : \"drivers\"; break;\n case \"worker\": rootName = toSingular ? \"worker\" : \"workers\"; break;\n case \"member\": rootName = toSingular ? \"member\" : \"members\"; break;\n case \"agent\": rootName = toSingular ? \"agent\" : \"agents\"; break;\n }\n\n return rootName\n}\n\n/** user/:userType/:userId : get user */\nexport const getUser = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const { userId, userType } = req.params;\n const requestQuery = req.query as unknown as QueryList;\n const requestUserType = userType as UserServiceProps[\"userType\"];\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n const data = await userService.getUser({ id: Number(userId), datatypes: requestQuery.datatypes })\n\n return sendSuccess(res, data, \"Retrieved successfully\", getRootName(requestUserType, true));\n\n } catch (error: any) {\n next(error)\n }\n}\n\n/** user : create user */\nexport const createUser = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const requestUserType = req.body.scope.target as UserServiceProps[\"userType\"]\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n if (requestUserType === \"operator\") {\n\n let request = schemaUserOperatorCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n operator: {}\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"customer\") {\n\n let request = schemaUserCustomerCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n customer: {\n code: reqPayload.customer.code,\n accountCode: reqPayload.customer.account_code,\n companyName: reqPayload.customer.company_name,\n regNo: reqPayload.customer.reg_no,\n secondaryRegNo: reqPayload.customer.secondary_reg_no,\n gstNo: reqPayload.customer.gst_no,\n taxIdentificationNo: reqPayload.customer.tax_identification_no,\n taxRegistrationNo: reqPayload.customer.tax_registration_no,\n remark: reqPayload.customer.remark\n },\n props: {\n salesperson: reqPayload.props.salesperson\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n customer: {\n code: request.payload.customer.code,\n accountCode: request.payload.customer.accountCode,\n companyName: request.payload.customer.companyName,\n regNo: request.payload.customer.regNo,\n secondaryRegNo: request.payload.customer.secondaryRegNo,\n remark: request.payload.customer.remark,\n gstNo: request.payload.customer.gstNo,\n taxIdentificationNo: request.payload.customer.taxIdentificationNo,\n taxRegistrationNo: request.payload.customer.taxRegistrationNo,\n // salesperson: request.payload.props.salesperson,\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"administrator\") {\n\n let request = schemaUserAdministratorCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload?.credential?.address ?? \"\",\n status: reqPayload.credential.status\n },\n administrator: {\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n administrator: {\n isOwner: false\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"worker\") {\n\n let request = schemaUserWorkerCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n worker: {\n remark: reqPayload.worker.remark\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n worker: {\n remark: request.payload.worker.remark ?? \"\"\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"driver\") {\n\n let request = schemaUserDriverCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n driver: {\n companyName: reqPayload.driver.company_name,\n remark: reqPayload.driver.remark\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n driver: {\n companyName: request.payload.driver.companyName ?? \"\",\n remark: request.payload.driver.remark ?? \"\"\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"member\") {\n\n let request = schemaUserMemberCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n member: {\n companyName: reqPayload.member.company_name,\n ...(reqPayload?.member?.code ? { code: reqPayload.member.code } : {}),\n ownerUserId: reqPayload.member.owner_user_id,\n identityNo: reqPayload.member.identity_no,\n address1: reqPayload.member.address_1,\n address2: reqPayload.member.address_2,\n countryId: reqPayload.member.country_id,\n stateId: reqPayload.member.state_id,\n areaId: reqPayload.member.area_id,\n gender: reqPayload.member.gender,\n postcode: reqPayload.member.postcode,\n dob: reqPayload.member.dob,\n remark: reqPayload.member.remark\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n member: {\n address1: request.payload.member.address1 ?? \"\",\n address2: request.payload.member.address2 ?? \"\",\n areaId: request.payload.member.areaId ?? 0,\n stateId: request.payload.member.stateId ?? 0,\n countryId: request.payload.member.countryId ?? 0,\n ...(request?.payload?.member?.code ? { code: request.payload.member.code } : {}),\n companyName: request.payload.member.companyName ?? \"\",\n dob: request.payload.member.dob ?? \"\",\n gender: request.payload.member.gender ?? \"\",\n identityNo: request.payload.member.identityNo ?? \"\",\n ownerUserId: request.payload.member.ownerUserId ?? 0,\n postcode: request.payload.member.postcode ?? \"\",\n remark: request.payload.member.remark ?? \"\"\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"agent\") {\n\n let request = schemaUserAgentCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n agent: {\n companyName: reqPayload.agent.company_name,\n ...(reqPayload?.agent?.code ? { code: reqPayload.agent.code } : {}),\n ownerUserId: reqPayload.agent.owner_user_id,\n identityNo: reqPayload.agent.identity_no,\n address1: reqPayload.agent.address_1,\n address2: reqPayload.agent.address_2,\n countryId: reqPayload.agent.country_id,\n stateId: reqPayload.agent.state_id,\n areaId: reqPayload.agent.area_id,\n gender: reqPayload.agent.gender,\n postcode: reqPayload.agent.postcode,\n dob: reqPayload.agent.dob,\n remark: reqPayload.agent.remark\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n agent: {\n address1: request.payload.agent.address1 ?? \"\",\n address2: request.payload.agent.address2 ?? \"\",\n areaId: request.payload.agent.areaId ?? 0,\n stateId: request.payload.agent.stateId ?? 0,\n countryId: request.payload.agent.countryId ?? 0,\n ...(request?.payload?.agent?.code ? { code: request.payload.agent.code } : {}),\n companyName: request.payload.agent.companyName ?? \"\",\n dob: request.payload.agent.dob ?? \"\",\n gender: request.payload.agent.gender ?? \"\",\n identityNo: request.payload.agent.identityNo ?? \"\",\n ownerUserId: request.payload.agent.ownerUserId ?? 0,\n postcode: request.payload.agent.postcode ?? \"\",\n remark: request.payload.agent.remark ?? \"\"\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n if (requestUserType === \"retailer\") {\n\n let request = schemaUserRetailerCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n retailer: {\n code: reqPayload.retailer.code,\n accountCode: reqPayload.retailer.account_code,\n companyName: reqPayload.retailer.company_name,\n regNo: reqPayload.retailer.reg_no,\n gstNo: reqPayload.retailer.gst_no,\n remark: reqPayload.retailer.remark,\n }\n }\n })\n\n let payload: UserCreateProps = {\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n loginPassword: request.payload.credential.password,\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n retailer: {\n code: request.payload.retailer.code,\n accountCode: request.payload.retailer.accountCode,\n companyName: request.payload.retailer.companyName,\n regNo: request.payload.retailer.regNo,\n remark: request.payload.retailer.remark,\n gstNo: request.payload.retailer.gstNo\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.createUser(payload)\n }\n }\n\n sendSuccess(res, response, `User(${requestUserType}) created successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** user/:userId : update user */\nexport const updateUser = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const { userId } = req.params;\n const requestUserType = req.body.scope.target as UserServiceProps[\"userType\"]\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n if (requestUserType === \"customer\") {\n\n let request = schemaUserCustomerUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address ?? \"\",\n status: reqPayload.credential.status\n },\n customer: {\n code: reqPayload.customer.code,\n accountCode: reqPayload.customer.account_code,\n companyName: reqPayload.customer.company_name,\n regNo: reqPayload.customer.reg_no,\n secondaryRegNo: reqPayload.customer.secondary_reg_no,\n gstNo: reqPayload.customer.gst_no,\n taxIdentificationNo: reqPayload.customer.tax_identification_no,\n taxRegistrationNo: reqPayload.customer.tax_registration_no,\n remark: reqPayload.customer.remark\n },\n props: {\n salesperson: reqPayload.props.salesperson\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request.payload.credential.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n customer: {\n code: request.payload.customer.code,\n accountCode: request.payload.customer.accountCode,\n companyName: request.payload.customer.companyName,\n regNo: request.payload.customer.regNo,\n secondaryRegNo: request.payload.customer.secondaryRegNo,\n remark: request.payload.customer.remark,\n gstNo: request.payload.customer.gstNo,\n taxIdentificationNo: request.payload.customer.taxIdentificationNo,\n taxRegistrationNo: request.payload.customer.taxRegistrationNo,\n // salesperson: request.payload.props.salesperson,\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"operator\") {\n\n let request = schemaUserOperatorUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n operator: {},\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n operator: {},\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"administrator\") {\n\n let request = schemaUserAdministratorUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n administrator: {},\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n administrator: {},\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"worker\") {\n\n let request = schemaUserWorkerUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n worker: {\n remark: reqPayload.worker.remark\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n worker: {\n remark: request.payload.worker.remark\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"driver\") {\n\n let request = schemaUserDriverUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n driver: {\n companyName: reqPayload.driver.company_name,\n remark: reqPayload.driver.remark\n },\n props: {\n location_id: reqPayload.props.location_id\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n driver: {\n companyName: request.payload.driver.companyName ?? \"\",\n remark: request.payload.driver.remark ?? \"\"\n },\n props: {\n locationIds: request.payload.props.location_id.map(i => Number(i))\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"member\") {\n\n let request = schemaUserMemberUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n member: {\n companyName: reqPayload.member.company_name,\n // code: reqPayload.member.code,\n ownerUserId: reqPayload.member.owner_user_id,\n identityNo: reqPayload.member.identity_no,\n address1: reqPayload.member.address_1,\n address2: reqPayload.member.address_2,\n countryId: reqPayload.member.country_id,\n stateId: reqPayload.member.state_id,\n areaId: reqPayload.member.area_id,\n gender: reqPayload.member.gender,\n postcode: reqPayload.member.postcode,\n dob: reqPayload.member.dob,\n remark: reqPayload.member.remark\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n member: {\n address1: request.payload.member.address1 ?? \"\",\n address2: request.payload.member.address2 ?? \"\",\n areaId: request.payload.member.areaId ?? 0,\n stateId: request.payload.member.stateId ?? 0,\n countryId: request.payload.member.countryId ?? 0,\n // code: request.payload.member.code ?? \"\",\n companyName: request.payload.member.companyName ?? \"\",\n dob: request.payload.member.dob ?? \"\",\n gender: request.payload.member.gender ?? \"\",\n identityNo: request.payload.member.identityNo ?? \"\",\n ownerUserId: request.payload.member.ownerUserId ?? 0,\n postcode: request.payload.member.postcode ?? \"\",\n remark: request.payload.member.remark ?? \"\"\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"agent\") {\n\n let request = schemaUserAgentUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n agent: {\n companyName: reqPayload.agent.company_name,\n // code: reqPayload.agent.code,\n ownerUserId: reqPayload.agent.owner_user_id,\n identityNo: reqPayload.agent.identity_no,\n address1: reqPayload.agent.address_1,\n address2: reqPayload.agent.address_2,\n countryId: reqPayload.agent.country_id,\n stateId: reqPayload.agent.state_id,\n areaId: reqPayload.agent.area_id,\n gender: reqPayload.agent.gender,\n postcode: reqPayload.agent.postcode,\n dob: reqPayload.agent.dob,\n remark: reqPayload.agent.remark\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n agent: {\n address1: request.payload.agent.address1 ?? \"\",\n address2: request.payload.agent.address2 ?? \"\",\n areaId: request.payload.agent.areaId ?? 0,\n stateId: request.payload.agent.stateId ?? 0,\n countryId: request.payload.agent.countryId ?? 0,\n // code: request.payload.agent.code ?? \"\",\n companyName: request.payload.agent.companyName ?? \"\",\n dob: request.payload.agent.dob ?? \"\",\n gender: request.payload.agent.gender ?? \"\",\n identityNo: request.payload.agent.identityNo ?? \"\",\n ownerUserId: request.payload.agent.ownerUserId ?? 0,\n postcode: request.payload.agent.postcode ?? \"\",\n remark: request.payload.agent.remark ?? \"\"\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n if (requestUserType === \"retailer\") {\n\n let request = schemaUserRetailerUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n credential: {\n // username: reqPayload.credential.username,\n password: reqPayload.credential.password,\n firstname: reqPayload.credential.firstname,\n lastname: reqPayload.credential.lastname,\n contact: reqPayload.credential.contact,\n email: reqPayload.credential.email,\n address: reqPayload.credential.address,\n status: reqPayload.credential.status\n },\n retailer: {\n code: reqPayload.retailer.code,\n accountCode: reqPayload.retailer.account_code,\n companyName: reqPayload.retailer.company_name,\n regNo: reqPayload.retailer.reg_no,\n gstNo: reqPayload.retailer.gst_no,\n remark: reqPayload.retailer.remark,\n }\n }\n })\n\n let payload: UserUpdateProps = {\n id: Number(userId),\n userType: requestUserType,\n data: {\n user: {\n loginUsername: request.payload.credential.username,\n ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),\n address: request?.payload?.credential?.address ?? \"\",\n contact: request.payload.credential.contact,\n email: request.payload.credential.email,\n firstname: request.payload.credential.firstname,\n lastname: request.payload.credential.lastname,\n status: request.payload.credential.status === 1\n },\n retailer: {\n code: request.payload.retailer.code,\n accountCode: request.payload.retailer.accountCode,\n companyName: request.payload.retailer.companyName,\n regNo: request.payload.retailer.regNo,\n remark: request.payload.retailer.remark,\n gstNo: request.payload.retailer.gstNo\n }\n }\n }\n\n response = {\n [`${getRootName(requestUserType, true)}`]: await userService.updateUser(payload)\n }\n }\n\n sendSuccess(res, response, `User(${requestUserType}) updated successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** users : list users */\nexport const listUsers = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const r = req as RequestAuthContext; // ✅ cast here\n\n const requestQuery = req.query as unknown as QueryList;\n const requestUserType = req.params.userType as UserServiceProps[\"userType\"];\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n const { data, total } = await userService.listUsers({\n ...requestQuery,\n includePassword: false\n });\n\n let response = {\n [`${getRootName(requestUserType, false)}`]: data,\n total,\n }\n\n return sendSuccess(res, response, \"Retrieved successfully\");\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** users/delete : delete users */\nexport const deleteUsers = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestUserType = req.body.scope.target as UserServiceProps[\"userType\"]\n // const requestQuery = req.query as unknown as QueryList;\n // const requestFileId = Number(req.params.fileId)\n\n const request = schemaUserDeletePayload.parse(req.body)\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n const payload = {\n ids: request.payload.ids.map(i => BigInt(i))\n }\n\n const data = await userService.removeUsers(payload);\n\n return sendSuccess(res, data, \"Deleted\", getRootName(requestUserType, false));\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** user/data_types/:userType : get user data types */\nexport const getUserDataTypes = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestQuery = req.query as unknown as QueryList;\n const requestUserType = req.params.userType as UserServiceProps[\"userType\"];\n\n const userService = UserService({\n ...getDefaultServiceProps(req),\n userType: requestUserType\n })\n\n const data = userService.getUserDataTypes();\n\n let response = {\n data_types: data\n }\n\n return sendSuccess(res, response, \"Retrieved successfully\");\n\n } catch (error: any) {\n next(error)\n }\n};\n"]}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export { OperatorModel, ModelOperatorFields } from "./user/OperatorModel";
|
|
|
7
7
|
export { WorkerModel, ModelWorkerFields } from "./user/WorkerModel";
|
|
8
8
|
export { DriverModel, ModelDriverFields } from "./user/DriverModel";
|
|
9
9
|
export { MemberModel, ModelMemberFields } from "./user/MemberModel";
|
|
10
|
+
export { AgentModel, ModelAgentFields } from "./user/AgentModel";
|
|
10
11
|
export type { ModelUser, ModelUserCreateProps, ModelUserGetProps, ModelUserListProps } from "./user/UserModel";
|
|
11
12
|
export type { ModelUserProp, ModelUserPropCreateProps, ModelUserPropGetProps, ModelUserPropListProps } from "./user/UserPropModel";
|
|
12
13
|
export type { ModelCustomer, ModelCustomerCreateProps, ModelCustomerGetProps, ModelCustomerListProps } from "./user/CustomerModel";
|
|
@@ -16,6 +17,7 @@ export type { ModelOperator, ModelOperatorCreateProps, ModelOperatorGetProps, Mo
|
|
|
16
17
|
export type { ModelWorker, ModelWorkerCreateProps, ModelWorkerGetProps, ModelWorkerListProps } from "./user/WorkerModel";
|
|
17
18
|
export type { ModelDriver, ModelDriverCreateProps, ModelDriverGetProps, ModelDriverListProps } from "./user/DriverModel";
|
|
18
19
|
export type { ModelMember, ModelMemberCreateProps, ModelMemberGetProps, ModelMemberListProps } from "./user/MemberModel";
|
|
20
|
+
export type { ModelAgent, ModelAgentCreateProps, ModelAgentGetProps, ModelAgentListProps } from "./user/AgentModel";
|
|
19
21
|
export { AccessKeyModel, ModelAccessKeyFields } from "./auth/AccessKeyModel";
|
|
20
22
|
export type { ModelAccessKey, ModelAccessKeyCreateProps, ModelAccessKeyGetProps, ModelAccessKeyListProps } from "./auth/AccessKeyModel";
|
|
21
23
|
export { BusinessModel, ModelBusinessFields } from "./business/BusinessModel";
|
package/dist/models/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.ModelOneTimeCodeFields = exports.OneTimeCodeModel = exports.ModelNumberDateSequenceFields = exports.NumberDateSequenceModel = exports.ModelDocumentDocumentFields = exports.DocumentDocumentModel = exports.ModelDocumentItemFields = exports.DocumentItemModel = exports.ModelDocumentPaymentFields = exports.DocumentPaymentModel = exports.ModelDocumentLocationFields = exports.DocumentLocationModel = exports.ModelDocumentAmountFields = exports.DocumentAmountModel = exports.ModelDocumentProfileFields = exports.DocumentProfileModel = exports.ModelDocumentTotalFields = exports.DocumentTotalModel = exports.ModelDocumentFields = exports.DocumentModel = exports.ModelCategoryFields = exports.CategoryModel = exports.ModelUomFields = exports.UomModel = exports.ModelBrandFields = exports.BrandModel = exports.ModelItemFields = exports.ItemModel = exports.ModelProductFields = exports.ProductModel = exports.ModelAreaFields = exports.AreaModel = exports.ModelStateFields = exports.StateModel = exports.ModelCountryFields = exports.CountryModel = exports.ModelItemInjectionFieldFields = exports.ItemInjectionFieldModel = void 0;
|
|
3
|
+
exports.ModelRepositoryInjectionFieldFields = exports.RepositoryInjectionFieldModel = exports.ModelDocumentInjectionFieldFields = exports.DocumentInjectionFieldModel = exports.ModelUserInjectionFieldFields = exports.UserInjectionFieldModel = exports.ModelInjectionFieldFields = exports.InjectionFieldModel = exports.ModelLocationSlotFields = exports.LocationSlotModel = exports.ModelLocationRackFields = exports.LocationRackModel = exports.ModelLocationFields = exports.LocationModel = exports.ModelFileFields = exports.FileModel = exports.ModelGroupOwnerFields = exports.GroupOwnerModel = exports.ModelGroupFields = exports.GroupModel = exports.ModelBranchUserFields = exports.BranchUserModel = exports.ModelUserBranchFields = exports.UserBranchModel = exports.ModelAccountFields = exports.AccountModel = exports.ModelBusinessFields = exports.BusinessModel = exports.ModelAccessKeyFields = exports.AccessKeyModel = exports.ModelAgentFields = exports.AgentModel = exports.ModelMemberFields = exports.MemberModel = exports.ModelDriverFields = exports.DriverModel = exports.ModelWorkerFields = exports.WorkerModel = exports.ModelOperatorFields = exports.OperatorModel = exports.ModelAdministratorFields = exports.AdministratorModel = exports.ModelRetailerFields = exports.RetailerModel = exports.ModelCustomerFields = exports.CustomerModel = exports.ModelUserPropFields = exports.UserPropModel = exports.ModelUserFields = exports.UserModel = void 0;
|
|
4
|
+
exports.ModelOneTimeCodeFields = exports.OneTimeCodeModel = exports.ModelNumberDateSequenceFields = exports.NumberDateSequenceModel = exports.ModelDocumentDocumentFields = exports.DocumentDocumentModel = exports.ModelDocumentItemFields = exports.DocumentItemModel = exports.ModelDocumentPaymentFields = exports.DocumentPaymentModel = exports.ModelDocumentLocationFields = exports.DocumentLocationModel = exports.ModelDocumentAmountFields = exports.DocumentAmountModel = exports.ModelDocumentProfileFields = exports.DocumentProfileModel = exports.ModelDocumentTotalFields = exports.DocumentTotalModel = exports.ModelDocumentFields = exports.DocumentModel = exports.ModelCategoryFields = exports.CategoryModel = exports.ModelUomFields = exports.UomModel = exports.ModelBrandFields = exports.BrandModel = exports.ModelItemFields = exports.ItemModel = exports.ModelProductFields = exports.ProductModel = exports.ModelAreaFields = exports.AreaModel = exports.ModelStateFields = exports.StateModel = exports.ModelCountryFields = exports.CountryModel = exports.ModelItemInjectionFieldFields = exports.ItemInjectionFieldModel = exports.ModelLogisticInjectionFieldFields = exports.LogisticInjectionFieldModel = void 0;
|
|
5
5
|
var UserModel_1 = require("./user/UserModel");
|
|
6
6
|
Object.defineProperty(exports, "UserModel", { enumerable: true, get: function () { return UserModel_1.UserModel; } });
|
|
7
7
|
Object.defineProperty(exports, "ModelUserFields", { enumerable: true, get: function () { return UserModel_1.ModelUserFields; } });
|
|
@@ -30,6 +30,9 @@ Object.defineProperty(exports, "ModelDriverFields", { enumerable: true, get: fun
|
|
|
30
30
|
var MemberModel_1 = require("./user/MemberModel");
|
|
31
31
|
Object.defineProperty(exports, "MemberModel", { enumerable: true, get: function () { return MemberModel_1.MemberModel; } });
|
|
32
32
|
Object.defineProperty(exports, "ModelMemberFields", { enumerable: true, get: function () { return MemberModel_1.ModelMemberFields; } });
|
|
33
|
+
var AgentModel_1 = require("./user/AgentModel");
|
|
34
|
+
Object.defineProperty(exports, "AgentModel", { enumerable: true, get: function () { return AgentModel_1.AgentModel; } });
|
|
35
|
+
Object.defineProperty(exports, "ModelAgentFields", { enumerable: true, get: function () { return AgentModel_1.ModelAgentFields; } });
|
|
33
36
|
var AccessKeyModel_1 = require("./auth/AccessKeyModel");
|
|
34
37
|
Object.defineProperty(exports, "AccessKeyModel", { enumerable: true, get: function () { return AccessKeyModel_1.AccessKeyModel; } });
|
|
35
38
|
Object.defineProperty(exports, "ModelAccessKeyFields", { enumerable: true, get: function () { return AccessKeyModel_1.ModelAccessKeyFields; } });
|