storemw-core-api 1.0.124 → 1.0.126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/controllers/account/accountController.js +7 -17
  2. package/dist/controllers/account/accountController.js.map +1 -1
  3. package/dist/controllers/user/userController.js +101 -340
  4. package/dist/controllers/user/userController.js.map +1 -1
  5. package/dist/models/user/UserModel.d.ts +10 -10
  6. package/dist/schema/payload/account/schemaAccount.d.ts +18 -18
  7. package/dist/schema/payload/account/schemaAccount.js +1 -1
  8. package/dist/schema/payload/account/schemaAccount.js.map +1 -1
  9. package/dist/schema/payload/user/schemaUser.d.ts +3 -3
  10. package/dist/schema/payload/user/schemaUser.js +1 -1
  11. package/dist/schema/payload/user/schemaUser.js.map +1 -1
  12. package/dist/schema/payload/user/schemaUserAdministrator.d.ts +33 -28
  13. package/dist/schema/payload/user/schemaUserAdministrator.js +8 -28
  14. package/dist/schema/payload/user/schemaUserAdministrator.js.map +1 -1
  15. package/dist/schema/payload/user/schemaUserAgent.d.ts +26 -28
  16. package/dist/schema/payload/user/schemaUserAgent.js +8 -2
  17. package/dist/schema/payload/user/schemaUserAgent.js.map +1 -1
  18. package/dist/schema/payload/user/schemaUserCustomer.d.ts +14 -14
  19. package/dist/schema/payload/user/schemaUserCustomer.js +19 -28
  20. package/dist/schema/payload/user/schemaUserCustomer.js.map +1 -1
  21. package/dist/schema/payload/user/schemaUserDriver.d.ts +28 -28
  22. package/dist/schema/payload/user/schemaUserDriver.js +11 -14
  23. package/dist/schema/payload/user/schemaUserDriver.js.map +1 -1
  24. package/dist/schema/payload/user/schemaUserMember.d.ts +26 -28
  25. package/dist/schema/payload/user/schemaUserMember.js +8 -2
  26. package/dist/schema/payload/user/schemaUserMember.js.map +1 -1
  27. package/dist/schema/payload/user/schemaUserOperator.d.ts +35 -14
  28. package/dist/schema/payload/user/schemaUserOperator.js +9 -3
  29. package/dist/schema/payload/user/schemaUserOperator.js.map +1 -1
  30. package/dist/schema/payload/user/schemaUserRetailer.d.ts +52 -14
  31. package/dist/schema/payload/user/schemaUserRetailer.js +8 -4
  32. package/dist/schema/payload/user/schemaUserRetailer.js.map +1 -1
  33. package/dist/schema/payload/user/schemaUserWorker.d.ts +28 -28
  34. package/dist/schema/payload/user/schemaUserWorker.js +10 -29
  35. package/dist/schema/payload/user/schemaUserWorker.js.map +1 -1
  36. package/dist/services/account/AccountService.d.ts +1 -1
  37. package/dist/services/account/AccountService.js +27 -9
  38. package/dist/services/account/AccountService.js.map +1 -1
  39. package/dist/services/auth/AuthService.js +2 -2
  40. package/dist/services/auth/AuthService.js.map +1 -1
  41. package/dist/services/user/AgentService.d.ts +1 -1
  42. package/dist/services/user/AgentService.js.map +1 -1
  43. package/dist/services/user/MemberService.d.ts +1 -1
  44. package/dist/services/user/MemberService.js.map +1 -1
  45. package/dist/services/user/UserService.js +1 -1
  46. package/dist/services/user/UserService.js.map +1 -1
  47. package/package.json +1 -1
  48. package/prisma/schema.prisma +1 -1
@@ -36,16 +36,15 @@ const createAccount = async (req, res, next) => {
36
36
  let response = {};
37
37
  let reqScope = req.body.scope;
38
38
  let reqPayload = req.body.payload;
39
- const aaa = {
39
+ let request = payload_1.schemaAccountCreatePayload.parse({
40
40
  scope: {
41
41
  target: reqScope.target,
42
42
  action: reqScope.action
43
43
  },
44
44
  payload: {
45
- // accountId: reqPayload.account_id,
46
45
  account: {
47
46
  name: reqPayload?.account?.name ?? "",
48
- accountCode: reqPayload?.account?.account_code ?? "",
47
+ ...(reqPayload?.account?.account_code ? { accountCode: reqPayload?.account?.account_code } : {}),
49
48
  status: reqPayload?.account?.status ?? false,
50
49
  },
51
50
  business: {
@@ -60,7 +59,6 @@ const createAccount = async (req, res, next) => {
60
59
  stateId: reqPayload.business?.state_id ?? "",
61
60
  areaId: reqPayload.business?.area_id ?? "",
62
61
  postcode: reqPayload.business?.postcode ?? "",
63
- // status: reqPayload.business?.status
64
62
  },
65
63
  administrator: {
66
64
  username: reqPayload.administrator?.username ?? "",
@@ -70,17 +68,13 @@ const createAccount = async (req, res, next) => {
70
68
  contact: reqPayload.administrator?.contact ?? "",
71
69
  email: reqPayload.administrator?.email ?? "",
72
70
  address: reqPayload.administrator?.address ?? "",
73
- // status: reqPayload.administrator?.status ?? false
74
71
  }
75
72
  }
76
- };
77
- let request = payload_1.schemaAccountCreatePayload.parse(aaa);
73
+ });
78
74
  let payload = {
79
- // userType: requestUserType,
80
75
  data: {
81
- // accountId: request.payload.accountId,
82
76
  name: request.payload.account.name,
83
- accountCode: request.payload.account.accountCode,
77
+ ...(request.payload.account?.accountCode ? { accountCode: request.payload.account.accountCode } : {}),
84
78
  status: Boolean(request.payload.account.status),
85
79
  business: {
86
80
  companyName: request.payload.business.companyName,
@@ -94,7 +88,6 @@ const createAccount = async (req, res, next) => {
94
88
  stateId: request.payload.business.stateId,
95
89
  areaId: request.payload.business.areaId,
96
90
  postcode: request.payload.business.postcode,
97
- // status: request.payload.business.status
98
91
  },
99
92
  administrator: {
100
93
  loginUsername: request.payload.administrator.username,
@@ -104,14 +97,13 @@ const createAccount = async (req, res, next) => {
104
97
  email: request.payload.administrator.email,
105
98
  firstname: request.payload.administrator.firstname,
106
99
  lastname: request.payload.administrator.lastname,
107
- // status: request.payload.administrator.status === 1
108
100
  }
109
101
  }
110
102
  };
111
103
  response = {
112
104
  [`${getRootName(true)}`]: await accountService.createAccount(payload)
113
105
  };
114
- (0, utils_1.sendSuccess)(res, response, `Account, owner user, business created successfully`);
106
+ (0, utils_1.sendSuccess)(res, response, `Account, owner user administrator, business created successfully`);
115
107
  }
116
108
  catch (error) {
117
109
  next(error);
@@ -136,9 +128,8 @@ const updateAccount = async (req, res, next) => {
136
128
  },
137
129
  payload: {
138
130
  account: {
139
- // accountId: reqPayload.account_id,
140
131
  name: reqPayload.account.name,
141
- accountCode: reqPayload.account.account_code,
132
+ ...(reqPayload?.account?.account_code ? { accountCode: reqPayload.account.account_code } : {}),
142
133
  businessId: reqPayload.account.business_id,
143
134
  status: reqPayload.account.status
144
135
  }
@@ -147,9 +138,8 @@ const updateAccount = async (req, res, next) => {
147
138
  let payload = {
148
139
  accountId: Number(accountId),
149
140
  data: {
150
- // accountId: request.payload.accountId,
151
141
  name: request.payload.account.name,
152
- accountCode: request.payload.account.accountCode,
142
+ ...(request.payload?.account?.accountCode ? { accountCode: request.payload.account.accountCode } : {}),
153
143
  businessId: request.payload.account.businessId,
154
144
  status: Boolean(request.payload.account.status)
155
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accountController.js","sourceRoot":"","sources":["../../../src/controllers/account/accountController.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 { QueryList } from \"@/schema/middleware/route\";\n\nimport { AccountService, AccessControlService, UserType, UserCreateProps, AccountServiceProps, UserUpdateProps, AccountCreateProps, AccountUpdateProps } from \"@/services\"\nimport {\n schemaAccountCreatePayload,\n schemaAccountUpdatePayload,\n schemaAccountDeletePayload\n} from \"@/schema/payload\";\n\nconst getRootName = (toSingular: boolean) => {\n\n let rootName = toSingular ? \"account\" : \"accounts\";\n\n return rootName\n}\n\n/** account/:accountId : get account */\nexport const getAccount = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const { accountId } = req.params;\n const requestQuery = req.query as unknown as QueryList;\n // const requestUserType = userType as AccountServiceProps[\"userType\"];\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n // userType: requestUserType\n })\n\n const data = await accountService.getAccount({ id: Number(accountId), datatypes: requestQuery.datatypes })\n\n return sendSuccess(res, data, \"Retrieved successfully\", getRootName(true));\n\n } catch (error: any) {\n next(error)\n }\n}\n\n/** account : create account */\nexport const createAccount = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n // const requestUserType = req.body.scope.target as AccountServiceProps[\"userType\"]\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n const aaa = {\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n // accountId: reqPayload.account_id,\n account: {\n name: reqPayload?.account?.name ?? \"\",\n accountCode: reqPayload?.account?.account_code ?? \"\",\n status: reqPayload?.account?.status ?? false,\n },\n business: {\n companyName: reqPayload.business?.company_name ?? \"\",\n registrationNumber: reqPayload.business?.registration_number ?? \"\",\n website: reqPayload.business?.website ?? \"\",\n email: reqPayload.business?.email ?? \"\",\n companyContact: reqPayload.business?.company_contact ?? \"\",\n address1: reqPayload.business?.address_1 ?? \"\",\n address2: reqPayload.business?.address_2 ?? \"\",\n countryId: reqPayload.business?.country_id ?? \"\",\n stateId: reqPayload.business?.state_id ?? \"\",\n areaId: reqPayload.business?.area_id ?? \"\",\n postcode: reqPayload.business?.postcode ?? \"\",\n // status: reqPayload.business?.status\n },\n administrator: {\n username: reqPayload.administrator?.username ?? \"\",\n password: reqPayload.administrator?.password ?? \"\",\n firstname: reqPayload.administrator?.firstname ?? \"\",\n lastname: reqPayload.administrator?.lastname ?? \"\",\n contact: reqPayload.administrator?.contact ?? \"\",\n email: reqPayload.administrator?.email ?? \"\",\n address: reqPayload.administrator?.address ?? \"\",\n // status: reqPayload.administrator?.status ?? false\n }\n }\n }\n\n let request = schemaAccountCreatePayload.parse(aaa)\n\n let payload: AccountCreateProps = {\n // userType: requestUserType,\n data: {\n // accountId: request.payload.accountId,\n name: request.payload.account.name,\n accountCode: request.payload.account.accountCode,\n status: Boolean(request.payload.account.status),\n business: {\n companyName: request.payload.business.companyName,\n registrationNumber: request.payload.business.registrationNumber,\n website: request.payload.business.website,\n email: request.payload.business.email,\n companyContact: request.payload.business.companyContact,\n address1: request.payload.business.address1,\n address2: request.payload.business.address2,\n countryId: request.payload.business.countryId,\n stateId: request.payload.business.stateId,\n areaId: request.payload.business.areaId,\n postcode: request.payload.business.postcode,\n // status: request.payload.business.status\n },\n administrator: {\n loginUsername: request.payload.administrator.username,\n loginPassword: request.payload.administrator.password,\n address: request?.payload?.administrator?.address ?? \"\",\n contact: request.payload.administrator.contact,\n email: request.payload.administrator.email,\n firstname: request.payload.administrator.firstname,\n lastname: request.payload.administrator.lastname,\n // status: request.payload.administrator.status === 1\n }\n }\n }\n\n response = {\n [`${getRootName(true)}`]: await accountService.createAccount(payload)\n }\n\n sendSuccess(res, response, `Account, owner user, business created successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** account/:accountId : update account */\nexport const updateAccount = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const { accountId } = req.params;\n // const requestUserType = req.body.scope.target as AccountServiceProps[\"userType\"]\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n\n let request = schemaAccountUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n account: {\n // accountId: reqPayload.account_id,\n name: reqPayload.account.name,\n accountCode: reqPayload.account.account_code,\n businessId: reqPayload.account.business_id,\n status: reqPayload.account.status\n }\n }\n })\n\n let payload: AccountUpdateProps = {\n accountId: Number(accountId),\n data: {\n // accountId: request.payload.accountId,\n name: request.payload.account.name,\n accountCode: request.payload.account.accountCode,\n businessId: request.payload.account.businessId,\n status: Boolean(request.payload.account.status)\n }\n }\n\n response = {\n [`${getRootName(true)}`]: await accountService.updateAccount(payload)\n }\n\n sendSuccess(res, response, `Account updated successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** accounts : list accounts */\nexport const listAccounts = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n // const accessControlService = AccessControlService({ ...getDefaultServiceProps(req) })\n\n // accessControlService.validateAccessControl(req, \"account\", \"account\", \"list\")\n\n const requestQuery = req.query as unknown as QueryList;\n // const requestUserType = req.params.userType as AccountServiceProps[\"userType\"];\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n // userType: requestUserType\n })\n\n const { data, total } = await accountService.listAccounts({\n ...requestQuery\n });\n\n let response = {\n [`${getRootName(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/** accounts/delete : delete accounts */\nexport const deleteAccounts = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n // const requestUserType = req.body.scope.target as AccountServiceProps[\"userType\"]\n // const requestQuery = req.query as unknown as QueryList;\n // const requestFileId = Number(req.params.fileId)\n\n const request = schemaAccountDeletePayload.parse(req.body)\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n })\n\n const payload = {\n accountIds: request.payload.ids.map(i => BigInt(i))\n }\n\n const data = await accountService.removeAccounts(payload);\n\n return sendSuccess(res, data, \"Deleted\", getRootName(false));\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** account/data_types/:userType : get user data types */\n// export 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 AccountServiceProps[\"userType\"];\n\n// const accountService = AccountService({\n// ...getDefaultServiceProps(req),\n// userType: requestUserType\n// })\n\n// const data = accountService.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":"accountController.js","sourceRoot":"","sources":["../../../src/controllers/account/accountController.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 { QueryList } from \"@/schema/middleware/route\";\n\nimport { AccountService, AccessControlService, UserType, AccountServiceProps, AccountCreateProps, AccountUpdateProps } from \"@/services\"\nimport {\n schemaAccountCreatePayload,\n schemaAccountUpdatePayload,\n schemaAccountDeletePayload\n} from \"@/schema/payload\";\n\nconst getRootName = (toSingular: boolean) => {\n\n let rootName = toSingular ? \"account\" : \"accounts\";\n\n return rootName\n}\n\n/** account/:accountId : get account */\nexport const getAccount = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const { accountId } = req.params;\n const requestQuery = req.query as unknown as QueryList;\n // const requestUserType = userType as AccountServiceProps[\"userType\"];\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n // userType: requestUserType\n })\n\n const data = await accountService.getAccount({ id: Number(accountId), datatypes: requestQuery.datatypes })\n\n return sendSuccess(res, data, \"Retrieved successfully\", getRootName(true));\n\n } catch (error: any) {\n next(error)\n }\n}\n\n/** account : create account */\nexport const createAccount = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n // const requestUserType = req.body.scope.target as AccountServiceProps[\"userType\"]\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n let request = schemaAccountCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n account: {\n name: reqPayload?.account?.name ?? \"\",\n ...(reqPayload?.account?.account_code ? { accountCode: reqPayload?.account?.account_code } : {}),\n status: reqPayload?.account?.status ?? false,\n },\n business: {\n companyName: reqPayload.business?.company_name ?? \"\",\n registrationNumber: reqPayload.business?.registration_number ?? \"\",\n website: reqPayload.business?.website ?? \"\",\n email: reqPayload.business?.email ?? \"\",\n companyContact: reqPayload.business?.company_contact ?? \"\",\n address1: reqPayload.business?.address_1 ?? \"\",\n address2: reqPayload.business?.address_2 ?? \"\",\n countryId: reqPayload.business?.country_id ?? \"\",\n stateId: reqPayload.business?.state_id ?? \"\",\n areaId: reqPayload.business?.area_id ?? \"\",\n postcode: reqPayload.business?.postcode ?? \"\",\n },\n administrator: {\n username: reqPayload.administrator?.username ?? \"\",\n password: reqPayload.administrator?.password ?? \"\",\n firstname: reqPayload.administrator?.firstname ?? \"\",\n lastname: reqPayload.administrator?.lastname ?? \"\",\n contact: reqPayload.administrator?.contact ?? \"\",\n email: reqPayload.administrator?.email ?? \"\",\n address: reqPayload.administrator?.address ?? \"\",\n }\n }\n })\n\n let payload: AccountCreateProps = {\n data: {\n name: request.payload.account.name,\n ...(request.payload.account?.accountCode ? { accountCode: request.payload.account.accountCode } : {}),\n status: Boolean(request.payload.account.status),\n business: {\n companyName: request.payload.business.companyName,\n registrationNumber: request.payload.business.registrationNumber,\n website: request.payload.business.website,\n email: request.payload.business.email,\n companyContact: request.payload.business.companyContact,\n address1: request.payload.business.address1,\n address2: request.payload.business.address2,\n countryId: request.payload.business.countryId,\n stateId: request.payload.business.stateId,\n areaId: request.payload.business.areaId,\n postcode: request.payload.business.postcode,\n },\n administrator: {\n loginUsername: request.payload.administrator.username,\n loginPassword: request.payload.administrator.password,\n address: request?.payload?.administrator?.address ?? \"\",\n contact: request.payload.administrator.contact,\n email: request.payload.administrator.email,\n firstname: request.payload.administrator.firstname,\n lastname: request.payload.administrator.lastname,\n }\n }\n }\n\n response = {\n [`${getRootName(true)}`]: await accountService.createAccount(payload)\n }\n\n sendSuccess(res, response, `Account, owner user administrator, business created successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** account/:accountId : update account */\nexport const updateAccount = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const { accountId } = req.params;\n // const requestUserType = req.body.scope.target as AccountServiceProps[\"userType\"]\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n\n let request = schemaAccountUpdatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n account: {\n name: reqPayload.account.name,\n ...(reqPayload?.account?.account_code ? { accountCode: reqPayload.account.account_code } : {}),\n businessId: reqPayload.account.business_id,\n status: reqPayload.account.status\n }\n }\n })\n\n let payload: AccountUpdateProps = {\n accountId: Number(accountId),\n data: {\n name: request.payload.account.name,\n ...(request.payload?.account?.accountCode ? { accountCode: request.payload.account.accountCode } : {}),\n businessId: request.payload.account.businessId,\n status: Boolean(request.payload.account.status)\n }\n }\n\n response = {\n [`${getRootName(true)}`]: await accountService.updateAccount(payload)\n }\n\n sendSuccess(res, response, `Account updated successfully`)\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** accounts : list accounts */\nexport const listAccounts = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n // const accessControlService = AccessControlService({ ...getDefaultServiceProps(req) })\n\n // accessControlService.validateAccessControl(req, \"account\", \"account\", \"list\")\n\n const requestQuery = req.query as unknown as QueryList;\n // const requestUserType = req.params.userType as AccountServiceProps[\"userType\"];\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n // userType: requestUserType\n })\n\n const { data, total } = await accountService.listAccounts({\n ...requestQuery\n });\n\n let response = {\n [`${getRootName(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/** accounts/delete : delete accounts */\nexport const deleteAccounts = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n // const requestUserType = req.body.scope.target as AccountServiceProps[\"userType\"]\n // const requestQuery = req.query as unknown as QueryList;\n // const requestFileId = Number(req.params.fileId)\n\n const request = schemaAccountDeletePayload.parse(req.body)\n\n const accountService = AccountService({\n ...getDefaultServiceProps(req),\n })\n\n const payload = {\n accountIds: request.payload.ids.map(i => BigInt(i))\n }\n\n const data = await accountService.removeAccounts(payload);\n\n return sendSuccess(res, data, \"Deleted\", getRootName(false));\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** account/data_types/:userType : get user data types */\n// export 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 AccountServiceProps[\"userType\"];\n\n// const accountService = AccountService({\n// ...getDefaultServiceProps(req),\n// userType: requestUserType\n// })\n\n// const data = accountService.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"]}