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.
- package/dist/controllers/account/accountController.js +7 -17
- package/dist/controllers/account/accountController.js.map +1 -1
- package/dist/controllers/user/userController.js +101 -340
- package/dist/controllers/user/userController.js.map +1 -1
- package/dist/models/user/UserModel.d.ts +10 -10
- package/dist/schema/payload/account/schemaAccount.d.ts +18 -18
- package/dist/schema/payload/account/schemaAccount.js +1 -1
- package/dist/schema/payload/account/schemaAccount.js.map +1 -1
- package/dist/schema/payload/user/schemaUser.d.ts +3 -3
- package/dist/schema/payload/user/schemaUser.js +1 -1
- package/dist/schema/payload/user/schemaUser.js.map +1 -1
- package/dist/schema/payload/user/schemaUserAdministrator.d.ts +33 -28
- package/dist/schema/payload/user/schemaUserAdministrator.js +8 -28
- package/dist/schema/payload/user/schemaUserAdministrator.js.map +1 -1
- package/dist/schema/payload/user/schemaUserAgent.d.ts +26 -28
- package/dist/schema/payload/user/schemaUserAgent.js +8 -2
- package/dist/schema/payload/user/schemaUserAgent.js.map +1 -1
- package/dist/schema/payload/user/schemaUserCustomer.d.ts +14 -14
- package/dist/schema/payload/user/schemaUserCustomer.js +19 -28
- package/dist/schema/payload/user/schemaUserCustomer.js.map +1 -1
- package/dist/schema/payload/user/schemaUserDriver.d.ts +28 -28
- package/dist/schema/payload/user/schemaUserDriver.js +11 -14
- package/dist/schema/payload/user/schemaUserDriver.js.map +1 -1
- package/dist/schema/payload/user/schemaUserMember.d.ts +26 -28
- package/dist/schema/payload/user/schemaUserMember.js +8 -2
- package/dist/schema/payload/user/schemaUserMember.js.map +1 -1
- package/dist/schema/payload/user/schemaUserOperator.d.ts +35 -14
- package/dist/schema/payload/user/schemaUserOperator.js +9 -3
- package/dist/schema/payload/user/schemaUserOperator.js.map +1 -1
- package/dist/schema/payload/user/schemaUserRetailer.d.ts +52 -14
- package/dist/schema/payload/user/schemaUserRetailer.js +8 -4
- package/dist/schema/payload/user/schemaUserRetailer.js.map +1 -1
- package/dist/schema/payload/user/schemaUserWorker.d.ts +28 -28
- package/dist/schema/payload/user/schemaUserWorker.js +10 -29
- package/dist/schema/payload/user/schemaUserWorker.js.map +1 -1
- package/dist/services/account/AccountService.d.ts +1 -1
- package/dist/services/account/AccountService.js +27 -9
- package/dist/services/account/AccountService.js.map +1 -1
- package/dist/services/auth/AuthService.js +2 -2
- package/dist/services/auth/AuthService.js.map +1 -1
- package/dist/services/user/AgentService.d.ts +1 -1
- package/dist/services/user/AgentService.js.map +1 -1
- package/dist/services/user/MemberService.d.ts +1 -1
- package/dist/services/user/MemberService.js.map +1 -1
- package/dist/services/user/UserService.js +1 -1
- package/dist/services/user/UserService.js.map +1 -1
- package/package.json +1 -1
- 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
|
-
|
|
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"]}
|