storemw-core-api 1.0.63 → 1.0.65

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.
@@ -99,7 +99,7 @@ const createAccount = async (req, res, next) => {
99
99
  administrator: {
100
100
  loginUsername: request.payload.administrator.username,
101
101
  loginPassword: request.payload.administrator.password,
102
- address: request.payload.administrator.address,
102
+ address: request?.payload?.administrator?.address ?? "",
103
103
  contact: request.payload.administrator.contact,
104
104
  email: request.payload.administrator.email,
105
105
  firstname: request.payload.administrator.firstname,
@@ -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, 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 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":";;;AAEA,mCAAqF;AAIrF,yCAAoJ;AACpJ,8CAI0B;AAE1B,MAAM,WAAW,GAAG,CAAC,UAAmB,EAAE,EAAE;IAExC,IAAI,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAEnD,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA;AAED,uCAAuC;AAChC,MAAM,UAAU,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IAC9F,IAAI,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,YAAY,GAAG,GAAG,CAAC,KAA6B,CAAC;QACvD,uEAAuE;QAEvE,MAAM,cAAc,GAAG,IAAA,yBAAc,EAAC;YAClC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,4BAA4B;SAC/B,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;QAE1G,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/E,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAnBY,QAAA,UAAU,cAmBtB;AAED,+BAA+B;AACxB,MAAM,aAAa,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;IAClG,IAAI,CAAC;QAED,mFAAmF;QAEnF,MAAM,cAAc,GAAG,IAAA,yBAAc,EAAC;YAClC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;SACjC,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QAC7B,IAAI,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAA;QAEjC,MAAM,GAAG,GAAG;YACR,KAAK,EAAE;gBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B;YACD,OAAO,EAAE;gBACL,oCAAoC;gBACpC,OAAO,EAAE;oBACL,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;oBACrC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,IAAI,EAAE;oBACpD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK;iBAC/C;gBACD,QAAQ,EAAE;oBACN,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE;oBACpD,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,mBAAmB,IAAI,EAAE;oBAClE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE;oBAC3C,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACvC,cAAc,EAAE,UAAU,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE;oBAC1D,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;oBAC9C,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;oBAC9C,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE;oBAChD,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE;oBAC5C,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE;oBAC1C,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE;oBAC7C,sCAAsC;iBACzC;gBACD,aAAa,EAAE;oBACX,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE;oBAClD,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE;oBAClD,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE;oBACpD,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE;oBAClD,OAAO,EAAE,UAAU,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE;oBAChD,KAAK,EAAE,UAAU,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;oBAC5C,OAAO,EAAE,UAAU,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE;oBAChD,oDAAoD;iBACvD;aACJ;SACJ,CAAA;QAED,IAAI,OAAO,GAAG,oCAA0B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEnD,IAAI,OAAO,GAAuB;YAC9B,6BAA6B;YAC7B,IAAI,EAAE;gBACF,wCAAwC;gBACxC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;gBAClC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;gBAChD,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC/C,QAAQ,EAAE;oBACN,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;oBACjD,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;oBAC/D,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;oBACzC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;oBACrC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc;oBACvD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ;oBAC3C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ;oBAC3C,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS;oBAC7C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;oBACzC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;oBACvC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ;oBAC3C,0CAA0C;iBAC7C;gBACD,aAAa,EAAE;oBACX,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ;oBACrD,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ;oBACrD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,EAAE;oBACvD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO;oBAC9C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK;oBAC1C,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS;oBAClD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ;oBAChD,qDAAqD;iBACxD;aACJ;SACJ,CAAA;QAED,QAAQ,GAAG;YACP,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;SACxE,CAAA;QAED,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,oDAAoD,CAAC,CAAA;IAEpF,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AAlGW,QAAA,aAAa,iBAkGxB;AAEF,0CAA0C;AACnC,MAAM,aAAa,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;IAClG,IAAI,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,mFAAmF;QAEnF,MAAM,cAAc,GAAG,IAAA,yBAAc,EAAC;YAClC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;SACjC,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QAC7B,IAAI,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAA;QAGjC,IAAI,OAAO,GAAG,oCAA0B,CAAC,KAAK,CAAC;YAC3C,KAAK,EAAE;gBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B;YACD,OAAO,EAAE;gBACL,OAAO,EAAE;oBACL,oCAAoC;oBACpC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI;oBAC7B,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY;oBAC5C,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW;oBAC1C,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM;iBACpC;aACJ;SACJ,CAAC,CAAA;QAEF,IAAI,OAAO,GAAuB;YAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;YAC5B,IAAI,EAAE;gBACF,wCAAwC;gBACxC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;gBAClC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;gBAChD,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU;gBAC9C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;aAClD;SACJ,CAAA;QAED,QAAQ,GAAG;YACP,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;SACxE,CAAA;QAED,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,8BAA8B,CAAC,CAAA;IAE9D,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AApDW,QAAA,aAAa,iBAoDxB;AAEF,+BAA+B;AACxB,MAAM,YAAY,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IAEhG,IAAI,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,KAA6B,CAAC;QACvD,kFAAkF;QAElF,MAAM,cAAc,GAAG,IAAA,yBAAc,EAAC;YAClC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,4BAA4B;SAC/B,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC;YACtD,GAAG,YAAY;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG;YACX,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI;YAC/B,KAAK;SACR,CAAA;QAED,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IAEhE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AA1BW,QAAA,YAAY,gBA0BvB;AAEF,wCAAwC;AACjC,MAAM,cAAc,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IAElG,IAAI,CAAC;QAED,mFAAmF;QACnF,0DAA0D;QAC1D,kDAAkD;QAElD,MAAM,OAAO,GAAG,oCAA0B,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE1D,MAAM,cAAc,GAAG,IAAA,yBAAc,EAAC;YAClC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;SACjC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG;YACZ,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtD,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE1D,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AAzBW,QAAA,cAAc,kBAyBzB;AAEF,yDAAyD;AACzD,6GAA6G;AAE7G,YAAY;AAEZ,kEAAkE;AAClE,0FAA0F;AAE1F,kDAAkD;AAClD,8CAA8C;AAC9C,wCAAwC;AACxC,aAAa;AAEb,0DAA0D;AAE1D,2BAA2B;AAC3B,+BAA+B;AAC/B,YAAY;AAEZ,uEAAuE;AAEvE,6BAA6B;AAC7B,sBAAsB;AACtB,QAAQ;AACR,KAAK","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, 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 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"]}
@@ -79,7 +79,7 @@ const createUser = async (req, res, next) => {
79
79
  user: {
80
80
  loginUsername: request.payload.credential.username,
81
81
  loginPassword: request.payload.credential.password,
82
- address: request.payload.credential.address,
82
+ address: request?.payload?.credential?.address ?? "",
83
83
  contact: request.payload.credential.contact,
84
84
  email: request.payload.credential.email,
85
85
  firstname: request.payload.credential.firstname,
@@ -132,7 +132,7 @@ const createUser = async (req, res, next) => {
132
132
  user: {
133
133
  loginUsername: request.payload.credential.username,
134
134
  loginPassword: request.payload.credential.password,
135
- address: request.payload.credential.address,
135
+ address: request?.payload?.credential?.address ?? "",
136
136
  contact: request.payload.credential.contact,
137
137
  email: request.payload.credential.email,
138
138
  firstname: request.payload.credential.firstname,
@@ -171,7 +171,7 @@ const createUser = async (req, res, next) => {
171
171
  lastname: reqPayload.credential.lastname,
172
172
  contact: reqPayload.credential.contact,
173
173
  email: reqPayload.credential.email,
174
- address: reqPayload.credential.address,
174
+ address: reqPayload?.credential?.address ?? "",
175
175
  status: reqPayload.credential.status
176
176
  },
177
177
  administrator: {},
@@ -186,7 +186,7 @@ const createUser = async (req, res, next) => {
186
186
  user: {
187
187
  loginUsername: request.payload.credential.username,
188
188
  loginPassword: request.payload.credential.password,
189
- address: request.payload.credential.address,
189
+ address: request?.payload?.credential?.address ?? "",
190
190
  contact: request.payload.credential.contact,
191
191
  email: request.payload.credential.email,
192
192
  firstname: request.payload.credential.firstname,
@@ -234,7 +234,7 @@ const createUser = async (req, res, next) => {
234
234
  user: {
235
235
  loginUsername: request.payload.credential.username,
236
236
  loginPassword: request.payload.credential.password,
237
- address: request.payload.credential.address,
237
+ address: request?.payload?.credential?.address ?? "",
238
238
  contact: request.payload.credential.contact,
239
239
  email: request.payload.credential.email,
240
240
  firstname: request.payload.credential.firstname,
@@ -286,7 +286,7 @@ const createUser = async (req, res, next) => {
286
286
  user: {
287
287
  loginUsername: request.payload.credential.username,
288
288
  loginPassword: request.payload.credential.password,
289
- address: request.payload.credential.address,
289
+ address: request?.payload?.credential?.address ?? "",
290
290
  contact: request.payload.credential.contact,
291
291
  email: request.payload.credential.email,
292
292
  firstname: request.payload.credential.firstname,
@@ -340,7 +340,7 @@ const updateUser = async (req, res, next) => {
340
340
  lastname: reqPayload.credential.lastname,
341
341
  contact: reqPayload.credential.contact,
342
342
  email: reqPayload.credential.email,
343
- address: reqPayload.credential.address,
343
+ address: reqPayload.credential.address ?? "",
344
344
  status: reqPayload.credential.status
345
345
  },
346
346
  customer: {
@@ -366,7 +366,7 @@ const updateUser = async (req, res, next) => {
366
366
  user: {
367
367
  loginUsername: request.payload.credential.username,
368
368
  ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),
369
- address: request.payload.credential.address,
369
+ address: request.payload.credential.address ?? "",
370
370
  contact: request.payload.credential.contact,
371
371
  email: request.payload.credential.email,
372
372
  firstname: request.payload.credential.firstname,
@@ -418,7 +418,7 @@ const updateUser = async (req, res, next) => {
418
418
  user: {
419
419
  loginUsername: request.payload.credential.username,
420
420
  ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),
421
- address: request.payload.credential.address,
421
+ address: request?.payload?.credential?.address ?? "",
422
422
  contact: request.payload.credential.contact,
423
423
  email: request.payload.credential.email,
424
424
  firstname: request.payload.credential.firstname,
@@ -462,7 +462,7 @@ const updateUser = async (req, res, next) => {
462
462
  user: {
463
463
  loginUsername: request.payload.credential.username,
464
464
  ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),
465
- address: request.payload.credential.address,
465
+ address: request?.payload?.credential?.address ?? "",
466
466
  contact: request.payload.credential.contact,
467
467
  email: request.payload.credential.email,
468
468
  firstname: request.payload.credential.firstname,
@@ -511,7 +511,7 @@ const updateUser = async (req, res, next) => {
511
511
  user: {
512
512
  loginUsername: request.payload.credential.username,
513
513
  ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),
514
- address: request.payload.credential.address,
514
+ address: request?.payload?.credential?.address ?? "",
515
515
  contact: request.payload.credential.contact,
516
516
  email: request.payload.credential.email,
517
517
  firstname: request.payload.credential.firstname,
@@ -564,7 +564,7 @@ const updateUser = async (req, res, next) => {
564
564
  user: {
565
565
  loginUsername: request.payload.credential.username,
566
566
  ...(request.payload.credential.password ? { loginPassword: request.payload.credential.password } : {}),
567
- address: request.payload.credential.address,
567
+ address: request?.payload?.credential?.address ?? "",
568
568
  contact: request.payload.credential.contact,
569
569
  email: request.payload.credential.email,
570
570
  firstname: request.payload.credential.firstname,
@@ -1 +1 @@
1
- {"version":3,"file":"userController.js","sourceRoot":"","sources":["../../../src/controllers/user/userController.ts"],"names":[],"mappings":";;;AAEA,mCAAqF;AAErF,yCAAsG;AACtG,8CAY0B;AAI1B,MAAM,WAAW,GAAG,CAAC,eAA6C,EAAE,UAAmB,EAAE,EAAE;IAEvF,IAAI,QAAQ,GAAQ,EAAE,CAAA;IAEtB,QAAQ,eAAe,EAAE,CAAC;QACtB,KAAK,UAAU;YAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YAAC,MAAM;QACzE,KAAK,eAAe;YAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAAC,MAAM;QACxF,KAAK,UAAU;YAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YAAC,MAAM;QACzE,KAAK,UAAU;YAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YAAC,MAAM;QACzE,KAAK,QAAQ;YAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAAC,MAAM;IACvE,CAAC;IAED,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA;AAED,wCAAwC;AACjC,MAAM,OAAO,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IAC3F,IAAI,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACxC,MAAM,YAAY,GAAG,GAAG,CAAC,KAA6B,CAAC;QACvD,MAAM,eAAe,GAAG,QAAwC,CAAC;QAEjE,MAAM,WAAW,GAAG,IAAA,sBAAW,EAAC;YAC5B,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,QAAQ,EAAE,eAAe;SAC5B,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;QAEjG,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;IAEhG,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAnBY,QAAA,OAAO,WAmBnB;AAED,yBAAyB;AAClB,MAAM,UAAU,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;IAC/F,IAAI,CAAC;QAED,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAsC,CAAA;QAE7E,MAAM,WAAW,GAAG,IAAA,sBAAW,EAAC;YAC5B,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,QAAQ,EAAE,eAAe;SAC5B,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QAC7B,IAAI,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAA;QAEjC,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;YAEjC,IAAI,OAAO,GAAG,yCAA+B,CAAC,KAAK,CAAC;gBAChD,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;iBACJ;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,QAAQ,EAAE,EAAE;iBACf;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAED,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;YAEjC,IAAI,OAAO,GAAG,yCAA+B,CAAC,KAAK,CAAC;gBAChD,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI;wBAC9B,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY;wBAC7C,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY;wBAC7C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;wBACjC,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,gBAAgB;wBACpD,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;wBACjC,mBAAmB,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB;wBAC9D,iBAAiB,EAAE,UAAU,CAAC,QAAQ,CAAC,mBAAmB;wBAC1D,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;qBACrC;oBACD,KAAK,EAAE;wBACH,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;qBAC5C;iBACJ;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;wBACnC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;wBACjD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;wBACjD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;wBACrC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc;wBACvD,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;wBACvC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;wBACrC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;wBACjE,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;wBAC7D,kDAAkD;qBACrD;iBACJ;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAED,IAAI,eAAe,KAAK,eAAe,EAAE,CAAC;YAEtC,IAAI,OAAO,GAAG,8CAAoC,CAAC,KAAK,CAAC;gBACrD,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;oBACD,aAAa,EAAE,EACd;oBACD,KAAK,EAAE;wBACH,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;qBAC5C;iBACJ;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,aAAa,EAAE,EAAE;oBACjB,KAAK,EAAE;wBACH,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBACrE;iBACJ;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAED,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YAE/B,IAAI,OAAO,GAAG,uCAA6B,CAAC,KAAK,CAAC;gBAC9C,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;oBACD,MAAM,EAAE;wBACJ,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;qBACnC;oBACD,KAAK,EAAE;wBACH,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;qBAC5C;iBACJ;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,MAAM,EAAE;wBACJ,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;qBAC9C;oBACD,KAAK,EAAE;wBACH,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBACrE;iBACJ;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAED,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;YAEjC,IAAI,OAAO,GAAG,yCAA+B,CAAC,KAAK,CAAC;gBAChD,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI;wBAC9B,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY;wBAC7C,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY;wBAC7C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;wBACjC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;wBACjC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;qBACrC;iBACJ;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;wBACnC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;wBACjD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;wBACjD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;wBACrC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;wBACvC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;qBACxC;iBACJ;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAGD,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,eAAe,wBAAwB,CAAC,CAAA;IAE/E,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AAvSW,QAAA,UAAU,cAuSrB;AAEF,iCAAiC;AAC1B,MAAM,UAAU,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;IAC/F,IAAI,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9B,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAsC,CAAA;QAE7E,MAAM,WAAW,GAAG,IAAA,sBAAW,EAAC;YAC5B,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,QAAQ,EAAE,eAAe;SAC5B,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QAC7B,IAAI,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAA;QAEjC,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;YAEjC,IAAI,OAAO,GAAG,yCAA+B,CAAC,KAAK,CAAC;gBAChD,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI;wBAC9B,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY;wBAC7C,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY;wBAC7C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;wBACjC,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,gBAAgB;wBACpD,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;wBACjC,mBAAmB,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB;wBAC9D,iBAAiB,EAAE,UAAU,CAAC,QAAQ,CAAC,mBAAmB;wBAC1D,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;qBACrC;oBACD,KAAK,EAAE;wBACH,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;qBAC5C;iBACJ;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClB,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtG,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;wBACnC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;wBACjD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;wBACjD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;wBACrC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc;wBACvD,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;wBACvC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;wBACrC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;wBACjE,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;wBAC7D,kDAAkD;qBACrD;iBACJ;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAGD,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;YAEjC,IAAI,OAAO,GAAG,yCAA+B,CAAC,KAAK,CAAC;gBAChD,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;oBACD,QAAQ,EAAE,EAAE;iBACf;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClB,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtG,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,QAAQ,EAAE,EAAE;iBACf;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAED,IAAI,eAAe,KAAK,eAAe,EAAE,CAAC;YAEtC,IAAI,OAAO,GAAG,8CAAoC,CAAC,KAAK,CAAC;gBACrD,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;oBACD,aAAa,EAAE,EAAE;oBACjB,KAAK,EAAE;wBACH,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;qBAC5C;iBACJ;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClB,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtG,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,aAAa,EAAE,EAAE;oBACjB,KAAK,EAAE;wBACH,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBACrE;iBACJ;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAED,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YAE/B,IAAI,OAAO,GAAG,uCAA6B,CAAC,KAAK,CAAC;gBAC9C,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;oBACD,MAAM,EAAE;wBACJ,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;qBACnC;oBACD,KAAK,EAAE;wBACH,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;qBAC5C;iBACJ;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClB,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtG,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,MAAM,EAAE;wBACJ,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;qBACxC;oBACD,KAAK,EAAE;wBACH,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBACrE;iBACJ;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAED,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;YAEjC,IAAI,OAAO,GAAG,yCAA+B,CAAC,KAAK,CAAC;gBAChD,KAAK,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC1B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,4CAA4C;wBAC5C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;wBAC1C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;wBACxC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;wBAClC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;wBACtC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;qBACvC;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI;wBAC9B,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY;wBAC7C,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY;wBAC7C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;wBACjC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;wBACjC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;qBACrC;iBACJ;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAoB;gBAC3B,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClB,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAClD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtG,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;wBAC3C,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ;wBAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;qBAClD;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;wBACnC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;wBACjD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;wBACjD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;wBACrC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;wBACvC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;qBACxC;iBACJ;aACJ,CAAA;YAED,QAAQ,GAAG;gBACP,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;aACnF,CAAA;QACL,CAAC;QAED,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,eAAe,wBAAwB,CAAC,CAAA;IAE/E,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AA7SW,QAAA,UAAU,cA6SrB;AAEF,yBAAyB;AAClB,MAAM,SAAS,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IAE7F,IAAI,CAAC;QAED,MAAM,CAAC,GAAG,GAAyB,CAAC,CAAE,cAAc;QAEpD,MAAM,YAAY,GAAG,GAAG,CAAC,KAA6B,CAAC;QACvD,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,QAAwC,CAAC;QAE5E,MAAM,WAAW,GAAG,IAAA,sBAAW,EAAC;YAC5B,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,QAAQ,EAAE,eAAe;SAC5B,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC;YAChD,GAAG,YAAY;YACf,eAAe,EAAE,KAAK;SACzB,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG;YACX,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI;YAChD,KAAK;SACR,CAAA;QAED,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IAEhE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,SAAS,aA6BpB;AAEF,kCAAkC;AAC3B,MAAM,WAAW,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IAE/F,IAAI,CAAC;QAED,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAsC,CAAA;QAC7E,0DAA0D;QAC1D,kDAAkD;QAElD,MAAM,OAAO,GAAG,iCAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEvD,MAAM,WAAW,GAAG,IAAA,sBAAW,EAAC;YAC5B,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,QAAQ,EAAE,eAAe;SAC5B,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG;YACZ,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC/C,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEpD,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAElF,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AA1BW,QAAA,WAAW,eA0BtB;AAEF,sDAAsD;AAC/C,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IAEpG,IAAI,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,KAA6B,CAAC;QACvD,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,QAAwC,CAAC;QAE5E,MAAM,WAAW,GAAG,IAAA,sBAAW,EAAC;YAC5B,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,QAAQ,EAAE,eAAe;SAC5B,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAE5C,IAAI,QAAQ,GAAG;YACX,UAAU,EAAE,IAAI;SACnB,CAAA;QAED,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IAEhE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B","sourcesContent":["import { Request, Response, NextFunction } from \"express\";\n\nimport { getDefaultServiceProps, sendSuccess, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { UserService, UserType, UserCreateProps, UserServiceProps, UserUpdateProps } 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} 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 \"worker\": rootName = toSingular ? \"worker\" : \"workers\"; 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 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 === \"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\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\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 === \"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 } 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} 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 \"worker\": rootName = toSingular ? \"worker\" : \"workers\"; 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 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 === \"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\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\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 === \"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"]}
@@ -86,7 +86,7 @@ export declare const schemaAccountCreatePayload: z.ZodObject<{
86
86
  firstname: z.ZodString;
87
87
  lastname: z.ZodString;
88
88
  contact: z.ZodString;
89
- address: z.ZodString;
89
+ address: z.ZodOptional<z.ZodString>;
90
90
  email: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
91
91
  status: z.ZodNumber;
92
92
  }, "status">, "strip", z.ZodTypeAny, {
@@ -94,17 +94,17 @@ export declare const schemaAccountCreatePayload: z.ZodObject<{
94
94
  lastname: string;
95
95
  contact: string;
96
96
  email: string;
97
- address: string;
98
97
  username: string;
99
98
  password: string;
99
+ address?: string | undefined;
100
100
  }, {
101
101
  firstname: string;
102
102
  lastname: string;
103
103
  contact: string;
104
104
  email: string;
105
- address: string;
106
105
  username: string;
107
106
  password: string;
107
+ address?: string | undefined;
108
108
  }>;
109
109
  }, "strip", z.ZodTypeAny, {
110
110
  administrator: {
@@ -112,9 +112,9 @@ export declare const schemaAccountCreatePayload: z.ZodObject<{
112
112
  lastname: string;
113
113
  contact: string;
114
114
  email: string;
115
- address: string;
116
115
  username: string;
117
116
  password: string;
117
+ address?: string | undefined;
118
118
  };
119
119
  business: {
120
120
  email: string;
@@ -140,9 +140,9 @@ export declare const schemaAccountCreatePayload: z.ZodObject<{
140
140
  lastname: string;
141
141
  contact: string;
142
142
  email: string;
143
- address: string;
144
143
  username: string;
145
144
  password: string;
145
+ address?: string | undefined;
146
146
  };
147
147
  business: {
148
148
  email: string;
@@ -174,9 +174,9 @@ export declare const schemaAccountCreatePayload: z.ZodObject<{
174
174
  lastname: string;
175
175
  contact: string;
176
176
  email: string;
177
- address: string;
178
177
  username: string;
179
178
  password: string;
179
+ address?: string | undefined;
180
180
  };
181
181
  business: {
182
182
  email: string;
@@ -208,9 +208,9 @@ export declare const schemaAccountCreatePayload: z.ZodObject<{
208
208
  lastname: string;
209
209
  contact: string;
210
210
  email: string;
211
- address: string;
212
211
  username: string;
213
212
  password: string;
213
+ address?: string | undefined;
214
214
  };
215
215
  business: {
216
216
  email: string;
@@ -6,7 +6,7 @@ export declare const schemaUserCredential: z.ZodObject<{
6
6
  firstname: z.ZodString;
7
7
  lastname: z.ZodString;
8
8
  contact: z.ZodString;
9
- address: z.ZodString;
9
+ address: z.ZodOptional<z.ZodString>;
10
10
  email: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
11
11
  status: z.ZodNumber;
12
12
  }, "strip", z.ZodTypeAny, {
@@ -15,18 +15,18 @@ export declare const schemaUserCredential: z.ZodObject<{
15
15
  lastname: string;
16
16
  contact: string;
17
17
  email: string;
18
- address: string;
19
18
  username: string;
20
19
  password: string;
20
+ address?: string | undefined;
21
21
  }, {
22
22
  status: number;
23
23
  firstname: string;
24
24
  lastname: string;
25
25
  contact: string;
26
26
  email: string;
27
- address: string;
28
27
  username: string;
29
28
  password: string;
29
+ address?: string | undefined;
30
30
  }>;
31
31
  /** Delete */
32
32
  export declare const schemaUserDeletePayload: z.ZodObject<{
@@ -9,7 +9,7 @@ exports.schemaUserCredential = zod_1.z.object({
9
9
  firstname: zod_1.z.string().min(1),
10
10
  lastname: zod_1.z.string(),
11
11
  contact: zod_1.z.string(),
12
- address: zod_1.z.string(),
12
+ address: zod_1.z.string().optional(),
13
13
  email: zod_1.z.string().email().or(zod_1.z.literal("")), // allow "" or valid email
14
14
  status: zod_1.z.number().int(),
15
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"schemaUser.js","sourceRoot":"","sources":["../../../../src/schema/payload/user/schemaUser.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIxB,cAAc;AACD,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,0BAA0B;IACvE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CAC3B,CAAC,CAAA;AAEF,aAAa;AACA,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;QACZ,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,sBAAsB;KAC1G,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;KAC1E,CAAC;CACL,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\n\nimport { _, dayjs } from \"@/utils\";\n\n/** General */\nexport const schemaUserCredential = z.object({\n username: z.string().min(1),\n password: z.string().min(1),\n firstname: z.string().min(1),\n lastname: z.string(),\n contact: z.string(),\n address: z.string(),\n email: z.string().email().or(z.literal(\"\")), // allow \"\" or valid email\n status: z.number().int(),\n})\n\n/** Delete */\nexport const schemaUserDeletePayload = z.object({\n scope: z.object({\n target: z.enum([\"operator\", \"customer\", \"administrator\", \"worker\", \"retailer\"]), // only allowed values\n }),\n payload: z.object({\n ids: z.array(z.number()).min(1, \"ids must contain at least one number\"),\n }),\n});\n\nexport type SchemaUserDeletePayload = z.infer<typeof schemaUserDeletePayload>;"]}
1
+ {"version":3,"file":"schemaUser.js","sourceRoot":"","sources":["../../../../src/schema/payload/user/schemaUser.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIxB,cAAc;AACD,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,0BAA0B;IACvE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CAC3B,CAAC,CAAA;AAEF,aAAa;AACA,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;QACZ,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,sBAAsB;KAC1G,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;KAC1E,CAAC;CACL,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\n\nimport { _, dayjs } from \"@/utils\";\n\n/** General */\nexport const schemaUserCredential = z.object({\n username: z.string().min(1),\n password: z.string().min(1),\n firstname: z.string().min(1),\n lastname: z.string(),\n contact: z.string(),\n address: z.string().optional(),\n email: z.string().email().or(z.literal(\"\")), // allow \"\" or valid email\n status: z.number().int(),\n})\n\n/** Delete */\nexport const schemaUserDeletePayload = z.object({\n scope: z.object({\n target: z.enum([\"operator\", \"customer\", \"administrator\", \"worker\", \"retailer\"]), // only allowed values\n }),\n payload: z.object({\n ids: z.array(z.number()).min(1, \"ids must contain at least one number\"),\n }),\n});\n\nexport type SchemaUserDeletePayload = z.infer<typeof schemaUserDeletePayload>;"]}