storemw-core-api 1.0.140 → 1.0.141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/controllers/user/userController.js +8 -4
  2. package/dist/controllers/user/userController.js.map +1 -1
  3. package/dist/models/account/AccountModel.d.ts +13 -13
  4. package/dist/models/branch_user/BranchUserModel.d.ts +13 -13
  5. package/dist/models/user/AgentModel.d.ts +2 -24
  6. package/dist/models/user/MemberModel.d.ts +2 -24
  7. package/dist/models/user/UserModel.d.ts +13 -2
  8. package/dist/schema/payload/account/schemaAccount.d.ts +7 -0
  9. package/dist/schema/payload/user/schemaUser.d.ts +3 -0
  10. package/dist/schema/payload/user/schemaUser.js +1 -0
  11. package/dist/schema/payload/user/schemaUser.js.map +1 -1
  12. package/dist/schema/payload/user/schemaUserAdministrator.d.ts +14 -0
  13. package/dist/schema/payload/user/schemaUserAgent.d.ts +15 -12
  14. package/dist/schema/payload/user/schemaUserAgent.js +2 -2
  15. package/dist/schema/payload/user/schemaUserAgent.js.map +1 -1
  16. package/dist/schema/payload/user/schemaUserCustomer.d.ts +14 -0
  17. package/dist/schema/payload/user/schemaUserDriver.d.ts +14 -0
  18. package/dist/schema/payload/user/schemaUserMember.d.ts +15 -12
  19. package/dist/schema/payload/user/schemaUserMember.js +2 -2
  20. package/dist/schema/payload/user/schemaUserMember.js.map +1 -1
  21. package/dist/schema/payload/user/schemaUserOperator.d.ts +14 -0
  22. package/dist/schema/payload/user/schemaUserRetailer.d.ts +14 -0
  23. package/dist/schema/payload/user/schemaUserWorker.d.ts +14 -0
  24. package/dist/services/account/AccountService.js +14 -4
  25. package/dist/services/account/AccountService.js.map +1 -1
  26. package/dist/services/index.d.ts +1 -1
  27. package/dist/services/index.js +2 -1
  28. package/dist/services/index.js.map +1 -1
  29. package/dist/services/user/AdministratorService.d.ts +1 -0
  30. package/dist/services/user/AdministratorService.js +7 -0
  31. package/dist/services/user/AdministratorService.js.map +1 -1
  32. package/dist/services/user/AgentService.d.ts +2 -12
  33. package/dist/services/user/AgentService.js +35 -26
  34. package/dist/services/user/AgentService.js.map +1 -1
  35. package/dist/services/user/CustomerService.d.ts +1 -0
  36. package/dist/services/user/CustomerService.js +7 -0
  37. package/dist/services/user/CustomerService.js.map +1 -1
  38. package/dist/services/user/DriverService.d.ts +1 -0
  39. package/dist/services/user/DriverService.js +7 -0
  40. package/dist/services/user/DriverService.js.map +1 -1
  41. package/dist/services/user/MemberService.d.ts +2 -12
  42. package/dist/services/user/MemberService.js +35 -26
  43. package/dist/services/user/MemberService.js.map +1 -1
  44. package/dist/services/user/OperatorService.d.ts +4 -2
  45. package/dist/services/user/OperatorService.js +11 -3
  46. package/dist/services/user/OperatorService.js.map +1 -1
  47. package/dist/services/user/RetailerService.d.ts +1 -0
  48. package/dist/services/user/RetailerService.js +7 -0
  49. package/dist/services/user/RetailerService.js.map +1 -1
  50. package/dist/services/user/UserMeService.d.ts +1 -0
  51. package/dist/services/user/UserService.d.ts +5 -0
  52. package/dist/services/user/UserService.js +34 -17
  53. package/dist/services/user/UserService.js.map +1 -1
  54. package/dist/services/user/WorkerService.d.ts +1 -0
  55. package/dist/services/user/WorkerService.js +52 -44
  56. package/dist/services/user/WorkerService.js.map +1 -1
  57. package/package.json +1 -1
  58. package/prisma/schema.prisma +44 -47
@@ -1 +1 @@
1
- {"version":3,"file":"CustomerService.js","sourceRoot":"","sources":["../../../src/services/user/CustomerService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ModelUserBranchFields,\n CustomerModel,\n ModelCustomerFields,\n ModelBranchUserFields,\n} from \"@/models\";\n\nimport { InjectionFieldService } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"customer\"\n\nexport const customerDataTypes = {\n customerInjectionFields: \"customer_injection_fields\",\n branch: \"branch\",\n branchCount: \"branch_count\",\n shippingAddress: \"shipping_address\",\n shippingAddressCount: \"shipping_address_count\",\n branchUserCount: \"branch_user_count\",\n}\n\nexport type CustomerDataType = keyof typeof customerDataTypes;\n\nexport type CustomerServiceProps = DefaultServiceProps & {};\n\nexport type CustomerGetProps = QueryGet & {\n id: number,\n includePassword?: boolean,\n datatypes: CustomerDataType[]\n};\n\nexport type CustomerListProps = QueryList & {\n includePassword?: boolean,\n datatypes: CustomerDataType[]\n};\n\nexport type CustomerRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type CustomerCreateProps = {\n data:\n // customer\n {\n customer: {\n userId: number,\n accountCode: string;\n code: string;\n companyName: string;\n gstNo: string;\n regNo: string;\n secondaryRegNo: string;\n taxIdentificationNo: string;\n taxRegistrationNo: string;\n remark: string;\n }\n }\n}\n\nexport type CustomerUpdateProps = {\n userId: number,\n data:\n // customer\n {\n customer: {\n // userId: number,\n accountCode: string;\n code: string;\n companyName: string;\n gstNo: string;\n regNo: string;\n secondaryRegNo: string;\n taxIdentificationNo: string;\n taxRegistrationNo: string;\n remark: string;\n }\n }\n}\n\nconst getCreatePayload = (data: CustomerCreateProps[\"data\"]) => {\n\n if (\"customer\" in data) {\n\n return {\n [`${ModelCustomerFields.account_code}`]: data.customer.accountCode,\n [`${ModelCustomerFields.code}`]: data.customer.code,\n [`${ModelCustomerFields.company_name}`]: data.customer.companyName,\n [`${ModelCustomerFields.gst_no}`]: data.customer.gstNo,\n [`${ModelCustomerFields.reg_no}`]: data.customer.regNo,\n [`${ModelCustomerFields.secondary_reg_no}`]: data.customer.secondaryRegNo,\n [`${ModelCustomerFields.remark}`]: data.customer.remark,\n [`${ModelCustomerFields.tax_identification_no}`]: data.customer.taxIdentificationNo,\n [`${ModelCustomerFields.tax_registration_no}`]: data.customer.taxRegistrationNo,\n [`${ModelCustomerFields.user_id}`]: data.customer.userId,\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: CustomerUpdateProps[\"data\"]) => {\n\n if (\"customer\" in data) {\n\n return {\n [`${ModelCustomerFields.account_code}`]: data.customer.accountCode,\n [`${ModelCustomerFields.code}`]: data.customer.code,\n [`${ModelCustomerFields.company_name}`]: data.customer.companyName,\n [`${ModelCustomerFields.gst_no}`]: data.customer.gstNo,\n [`${ModelCustomerFields.reg_no}`]: data.customer.regNo,\n [`${ModelCustomerFields.secondary_reg_no}`]: data.customer.secondaryRegNo,\n [`${ModelCustomerFields.remark}`]: data.customer.remark,\n [`${ModelCustomerFields.tax_identification_no}`]: data.customer.taxIdentificationNo,\n [`${ModelCustomerFields.tax_registration_no}`]: data.customer.taxRegistrationNo,\n // [`${ModelCustomerFields.user_id}`]: data.customer.userId,\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`cus.${ModelCustomerFields.account_code}`]: \"account_code\",\n [`cus.${ModelCustomerFields.code}`]: \"code\",\n [`cus.${ModelCustomerFields.company_name}`]: \"company_name\",\n [`cus.${ModelCustomerFields.customer_id}`]: \"customer_id\",\n [`cus.${ModelCustomerFields.gst_no}`]: \"gst_no\",\n [`cus.${ModelCustomerFields.reg_no}`]: \"reg_no\",\n [`cus.${ModelCustomerFields.remark}`]: \"remark\",\n [`cus.${ModelCustomerFields.secondary_reg_no}`]: \"secondary_reg_no\",\n [`cus.${ModelCustomerFields.tax_identification_no}`]: \"tax_identification_no\",\n [`cus.${ModelCustomerFields.tax_registration_no}`]: \"tax_registration_no\",\n [`cus.${ModelCustomerFields.user_id}`]: \"user_id\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.status}`]: \"status\",\n}\n\nlet defaultSqlSelect = {\n [`cus.${ModelCustomerFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`cus.${ModelCustomerFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`cus.${ModelCustomerFields.isdelete}`]: \"isdelete\",\n [`cus.${ModelCustomerFields.istrash}`]: \"istrash\",\n [`cus.${ModelCustomerFields.accountid}`]: \"accountid\",\n}\n\nexport const CustomerService = (props: CustomerServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const customerModel = CustomerModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n const createCustomer = async ({ data }: CustomerCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create customer payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await customerModel.create({ data: _data })\n\n return response\n }\n\n const updateCustomer = async ({ userId, data }: CustomerUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update customer payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await customerModel.update({ where: { [`${ModelCustomerFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getCustomer = async ({ id, datatypes = [], includePassword = false }: CustomerGetProps) => {\n\n let { data } = await listCustomers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelUserFields.user_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelUserFields.user_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listCustomers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: CustomerListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(cus.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"cus\", \"users\", \"usr\", [\"cus.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"cus\", \"users\", \"creator\", [\"cus.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"cus\", \"users\", \"updater\", [\"cus.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(userSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...userSqlSelect, ...defaultSqlSelect }\n\n if (datatypes.includes(customerDataTypes.customerInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"customer\")\n\n const customerInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n // let customerInjectionFieldSqlSelect = {\n // [`uif.usr_cust_cust_qty`]: \"inf_usr_cust_cust_qty\",\n // // [`uif.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`uif.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`uif.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`uif.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`uif.${ModelUserFields.contact}`]: \"contact\",\n // // [`uif.${ModelUserFields.email}`]: \"email\",\n // }\n\n filterColumns = { ...filterColumns, ...customerInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, customerInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"user_injection_fields\", \"uif\", [\"cus.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'customer'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(customerInjectionFieldSqlSelect)]\n }\n\n if (datatypes.includes(customerDataTypes.branch)) {\n\n let branchSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelUserBranchFields.type}', brn.type,\n '${ModelUserBranchFields.branch_id}', brn.branch_id,\n '${ModelUserBranchFields.branch_code}', brn.branch_code,\n '${ModelUserBranchFields.branch_name}', brn.branch_name,\n '${ModelUserBranchFields.address_1}', brn.address_1,\n '${ModelUserBranchFields.address_2}', brn.address_2,\n '${ModelUserBranchFields.area}', brn.area,\n '${ModelUserBranchFields.area_id}', brn.area_id,\n '${ModelUserBranchFields.branch_contact}', brn.branch_contact,\n '${ModelUserBranchFields.branch_email}', brn.branch_email,\n '${ModelUserBranchFields.country_id}', brn.country_id,\n '${ModelUserBranchFields.is_hq}', brn.is_hq,\n '${ModelUserBranchFields.remark}', brn.remark,\n '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n '${ModelUserBranchFields.pic_email}', brn.pic_email,\n '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n '${ModelUserBranchFields.postcode}', brn.postcode,\n '${ModelUserBranchFields.state_id}', brn.state_id,\n '${ModelUserBranchFields.status}', brn.status,\n '${ModelUserBranchFields.user_id}', brn.user_id\n )\n ) FILTER (WHERE brn.branch_id IS NOT NULL AND brn.isdelete = false AND brn.istrash = false), \n '[]'\n )`]: \"branches\"\n }\n\n filterColumns = { ...filterColumns, ...branchSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, branchSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brn\", [\"cus.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(customerDataTypes.shippingAddress)) {\n\n let branchShippingAddressSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelUserBranchFields.type}', brnship.type,\n '${ModelUserBranchFields.branch_id}', brnship.branch_id,\n '${ModelUserBranchFields.branch_code}', brnship.branch_code,\n '${ModelUserBranchFields.branch_name}', brnship.branch_name,\n '${ModelUserBranchFields.address_1}', brnship.address_1,\n '${ModelUserBranchFields.address_2}', brnship.address_2,\n '${ModelUserBranchFields.area}', brnship.area,\n '${ModelUserBranchFields.area_id}', brnship.area_id,\n '${ModelUserBranchFields.branch_contact}', brnship.branch_contact,\n '${ModelUserBranchFields.branch_email}', brnship.branch_email,\n '${ModelUserBranchFields.country_id}', brnship.country_id,\n '${ModelUserBranchFields.is_hq}', brnship.is_hq,\n '${ModelUserBranchFields.remark}', brnship.remark,\n '${ModelUserBranchFields.pic_contact}', brnship.pic_contact,\n '${ModelUserBranchFields.pic_email}', brnship.pic_email,\n '${ModelUserBranchFields.pic_contact}', brnship.pic_contact,\n '${ModelUserBranchFields.postcode}', brnship.postcode,\n '${ModelUserBranchFields.state_id}', brnship.state_id,\n '${ModelUserBranchFields.status}', brnship.status,\n '${ModelUserBranchFields.user_id}', brnship.user_id\n )\n ) FILTER (WHERE brnship.branch_id IS NOT NULL AND brnship.isdelete = false AND brnship.istrash = false AND brnship.type = 'shipping_address'), \n '[]'\n )`]: \"shipping_address\"\n }\n\n filterColumns = { ...filterColumns, ...branchShippingAddressSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, branchShippingAddressSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brnship\", [\"cus.user_id = brnship.user_id\", \"brnship.isdelete = false\", \"brnship.istrash = false\"])]\n\n }\n\n if (datatypes.includes(customerDataTypes.branchCount)) {\n\n let branchCountSqlSelect = {\n [`COUNT(DISTINCT brncount.${ModelUserBranchFields.branch_id})::INT`]: \"branch_count\"\n }\n\n filterColumns = { ...filterColumns, ...branchCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, branchCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"cus.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n let branchUserCountSqlSelect = {\n [`COUNT(DISTINCT brnusrcount.${ModelBranchUserFields.branch_user_id})::INT`]: \"branch_user_count\"\n }\n\n filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"cus.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n }\n\n let sqlWhere = [\n `cus.isdelete = false`,\n `cus.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"customers\",\n mainAlias: \"cus\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await customerModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeCustomers = async ({ userIds }: CustomerRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await customerModel.remove({ where: { [`${ModelCustomerFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(customerDataTypes);\n }\n\n return {\n createCustomer,\n updateCustomer,\n getCustomer,\n listCustomers,\n removeCustomers,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"CustomerService.js","sourceRoot":"","sources":["../../../src/services/user/CustomerService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ModelUserBranchFields,\n CustomerModel,\n ModelCustomerFields,\n ModelBranchUserFields,\n} from \"@/models\";\n\nimport { InjectionFieldService, userParentSqlSelect } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"customer\"\n\nexport const customerDataTypes = {\n customerInjectionFields: \"customer_injection_fields\",\n branch: \"branch\",\n branchCount: \"branch_count\",\n shippingAddress: \"shipping_address\",\n shippingAddressCount: \"shipping_address_count\",\n branchUserCount: \"branch_user_count\",\n parentUser: \"parent_user\"\n}\n\nexport type CustomerDataType = keyof typeof customerDataTypes;\n\nexport type CustomerServiceProps = DefaultServiceProps & {};\n\nexport type CustomerGetProps = QueryGet & {\n id: number,\n includePassword?: boolean,\n datatypes: CustomerDataType[]\n};\n\nexport type CustomerListProps = QueryList & {\n includePassword?: boolean,\n datatypes: CustomerDataType[]\n};\n\nexport type CustomerRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type CustomerCreateProps = {\n data:\n // customer\n {\n customer: {\n userId: number,\n accountCode: string;\n code: string;\n companyName: string;\n gstNo: string;\n regNo: string;\n secondaryRegNo: string;\n taxIdentificationNo: string;\n taxRegistrationNo: string;\n remark: string;\n }\n }\n}\n\nexport type CustomerUpdateProps = {\n userId: number,\n data:\n // customer\n {\n customer: {\n // userId: number,\n accountCode: string;\n code: string;\n companyName: string;\n gstNo: string;\n regNo: string;\n secondaryRegNo: string;\n taxIdentificationNo: string;\n taxRegistrationNo: string;\n remark: string;\n }\n }\n}\n\nconst getCreatePayload = (data: CustomerCreateProps[\"data\"]) => {\n\n if (\"customer\" in data) {\n\n return {\n [`${ModelCustomerFields.account_code}`]: data.customer.accountCode,\n [`${ModelCustomerFields.code}`]: data.customer.code,\n [`${ModelCustomerFields.company_name}`]: data.customer.companyName,\n [`${ModelCustomerFields.gst_no}`]: data.customer.gstNo,\n [`${ModelCustomerFields.reg_no}`]: data.customer.regNo,\n [`${ModelCustomerFields.secondary_reg_no}`]: data.customer.secondaryRegNo,\n [`${ModelCustomerFields.remark}`]: data.customer.remark,\n [`${ModelCustomerFields.tax_identification_no}`]: data.customer.taxIdentificationNo,\n [`${ModelCustomerFields.tax_registration_no}`]: data.customer.taxRegistrationNo,\n [`${ModelCustomerFields.user_id}`]: data.customer.userId,\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: CustomerUpdateProps[\"data\"]) => {\n\n if (\"customer\" in data) {\n\n return {\n [`${ModelCustomerFields.account_code}`]: data.customer.accountCode,\n [`${ModelCustomerFields.code}`]: data.customer.code,\n [`${ModelCustomerFields.company_name}`]: data.customer.companyName,\n [`${ModelCustomerFields.gst_no}`]: data.customer.gstNo,\n [`${ModelCustomerFields.reg_no}`]: data.customer.regNo,\n [`${ModelCustomerFields.secondary_reg_no}`]: data.customer.secondaryRegNo,\n [`${ModelCustomerFields.remark}`]: data.customer.remark,\n [`${ModelCustomerFields.tax_identification_no}`]: data.customer.taxIdentificationNo,\n [`${ModelCustomerFields.tax_registration_no}`]: data.customer.taxRegistrationNo,\n // [`${ModelCustomerFields.user_id}`]: data.customer.userId,\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`cus.${ModelCustomerFields.account_code}`]: \"account_code\",\n [`cus.${ModelCustomerFields.code}`]: \"code\",\n [`cus.${ModelCustomerFields.company_name}`]: \"company_name\",\n [`cus.${ModelCustomerFields.customer_id}`]: \"customer_id\",\n [`cus.${ModelCustomerFields.gst_no}`]: \"gst_no\",\n [`cus.${ModelCustomerFields.reg_no}`]: \"reg_no\",\n [`cus.${ModelCustomerFields.remark}`]: \"remark\",\n [`cus.${ModelCustomerFields.secondary_reg_no}`]: \"secondary_reg_no\",\n [`cus.${ModelCustomerFields.tax_identification_no}`]: \"tax_identification_no\",\n [`cus.${ModelCustomerFields.tax_registration_no}`]: \"tax_registration_no\",\n [`cus.${ModelCustomerFields.user_id}`]: \"user_id\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.status}`]: \"status\",\n}\n\nlet defaultSqlSelect = {\n [`cus.${ModelCustomerFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`cus.${ModelCustomerFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`cus.${ModelCustomerFields.isdelete}`]: \"isdelete\",\n [`cus.${ModelCustomerFields.istrash}`]: \"istrash\",\n [`cus.${ModelCustomerFields.accountid}`]: \"accountid\",\n}\n\nexport const CustomerService = (props: CustomerServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const customerModel = CustomerModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n const createCustomer = async ({ data }: CustomerCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create customer payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await customerModel.create({ data: _data })\n\n return response\n }\n\n const updateCustomer = async ({ userId, data }: CustomerUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update customer payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await customerModel.update({ where: { [`${ModelCustomerFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getCustomer = async ({ id, datatypes = [], includePassword = false }: CustomerGetProps) => {\n\n let { data } = await listCustomers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelUserFields.user_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelUserFields.user_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listCustomers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: CustomerListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(cus.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"cus\", \"users\", \"usr\", [\"cus.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"cus\", \"users\", \"creator\", [\"cus.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"cus\", \"users\", \"updater\", [\"cus.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(userSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...userSqlSelect, ...defaultSqlSelect }\n\n if (datatypes.includes(customerDataTypes.customerInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"customer\")\n\n const customerInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n // let customerInjectionFieldSqlSelect = {\n // [`uif.usr_cust_cust_qty`]: \"inf_usr_cust_cust_qty\",\n // // [`uif.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`uif.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`uif.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`uif.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`uif.${ModelUserFields.contact}`]: \"contact\",\n // // [`uif.${ModelUserFields.email}`]: \"email\",\n // }\n\n filterColumns = { ...filterColumns, ...customerInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, customerInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"user_injection_fields\", \"uif\", [\"cus.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'customer'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(customerInjectionFieldSqlSelect)]\n }\n\n if (datatypes.includes(customerDataTypes.branch)) {\n\n let branchSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelUserBranchFields.type}', brn.type,\n '${ModelUserBranchFields.branch_id}', brn.branch_id,\n '${ModelUserBranchFields.branch_code}', brn.branch_code,\n '${ModelUserBranchFields.branch_name}', brn.branch_name,\n '${ModelUserBranchFields.address_1}', brn.address_1,\n '${ModelUserBranchFields.address_2}', brn.address_2,\n '${ModelUserBranchFields.area}', brn.area,\n '${ModelUserBranchFields.area_id}', brn.area_id,\n '${ModelUserBranchFields.branch_contact}', brn.branch_contact,\n '${ModelUserBranchFields.branch_email}', brn.branch_email,\n '${ModelUserBranchFields.country_id}', brn.country_id,\n '${ModelUserBranchFields.is_hq}', brn.is_hq,\n '${ModelUserBranchFields.remark}', brn.remark,\n '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n '${ModelUserBranchFields.pic_email}', brn.pic_email,\n '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n '${ModelUserBranchFields.postcode}', brn.postcode,\n '${ModelUserBranchFields.state_id}', brn.state_id,\n '${ModelUserBranchFields.status}', brn.status,\n '${ModelUserBranchFields.user_id}', brn.user_id\n )\n ) FILTER (WHERE brn.branch_id IS NOT NULL AND brn.isdelete = false AND brn.istrash = false), \n '[]'\n )`]: \"branches\"\n }\n\n filterColumns = { ...filterColumns, ...branchSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, branchSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brn\", [\"cus.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(customerDataTypes.shippingAddress)) {\n\n let branchShippingAddressSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelUserBranchFields.type}', brnship.type,\n '${ModelUserBranchFields.branch_id}', brnship.branch_id,\n '${ModelUserBranchFields.branch_code}', brnship.branch_code,\n '${ModelUserBranchFields.branch_name}', brnship.branch_name,\n '${ModelUserBranchFields.address_1}', brnship.address_1,\n '${ModelUserBranchFields.address_2}', brnship.address_2,\n '${ModelUserBranchFields.area}', brnship.area,\n '${ModelUserBranchFields.area_id}', brnship.area_id,\n '${ModelUserBranchFields.branch_contact}', brnship.branch_contact,\n '${ModelUserBranchFields.branch_email}', brnship.branch_email,\n '${ModelUserBranchFields.country_id}', brnship.country_id,\n '${ModelUserBranchFields.is_hq}', brnship.is_hq,\n '${ModelUserBranchFields.remark}', brnship.remark,\n '${ModelUserBranchFields.pic_contact}', brnship.pic_contact,\n '${ModelUserBranchFields.pic_email}', brnship.pic_email,\n '${ModelUserBranchFields.pic_contact}', brnship.pic_contact,\n '${ModelUserBranchFields.postcode}', brnship.postcode,\n '${ModelUserBranchFields.state_id}', brnship.state_id,\n '${ModelUserBranchFields.status}', brnship.status,\n '${ModelUserBranchFields.user_id}', brnship.user_id\n )\n ) FILTER (WHERE brnship.branch_id IS NOT NULL AND brnship.isdelete = false AND brnship.istrash = false AND brnship.type = 'shipping_address'), \n '[]'\n )`]: \"shipping_address\"\n }\n\n filterColumns = { ...filterColumns, ...branchShippingAddressSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, branchShippingAddressSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brnship\", [\"cus.user_id = brnship.user_id\", \"brnship.isdelete = false\", \"brnship.istrash = false\"])]\n\n }\n\n if (datatypes.includes(customerDataTypes.branchCount)) {\n\n let branchCountSqlSelect = {\n [`COUNT(DISTINCT brncount.${ModelUserBranchFields.branch_id})::INT`]: \"branch_count\"\n }\n\n filterColumns = { ...filterColumns, ...branchCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, branchCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"cus.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n let branchUserCountSqlSelect = {\n [`COUNT(DISTINCT brnusrcount.${ModelBranchUserFields.branch_user_id})::INT`]: \"branch_user_count\"\n }\n\n filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"cus.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n }\n\n if (datatypes.includes(customerDataTypes.parentUser)) {\n\n filterColumns = { ...filterColumns, ...userParentSqlSelect }\n\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"users\", \"parentuser\", [\"usr.parent_user_id = parentuser.user_id\", \"parentuser.isdelete = false\", \"parentuser.istrash = false\"])]\n sqlSelect = [...sqlSelect, buildSqlSelect(``, userParentSqlSelect)]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(userParentSqlSelect)]\n\n }\n\n let sqlWhere = [\n `cus.isdelete = false`,\n `cus.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"customers\",\n mainAlias: \"cus\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await customerModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeCustomers = async ({ userIds }: CustomerRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await customerModel.remove({ where: { [`${ModelCustomerFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(customerDataTypes);\n }\n\n return {\n createCustomer,\n updateCustomer,\n getCustomer,\n listCustomers,\n removeCustomers,\n getDataTypes\n }\n\n}\n\n"]}
@@ -5,6 +5,7 @@ export declare const driverDataTypes: {
5
5
  location: string;
6
6
  locationCount: string;
7
7
  driverInjectionFields: string;
8
+ parentUser: string;
8
9
  };
9
10
  export type DriverDataType = keyof typeof driverDataTypes;
10
11
  export type DriverServiceProps = DefaultServiceProps & {};
@@ -12,6 +12,7 @@ exports.driverDataTypes = {
12
12
  // zoneCount: "zone_count",
13
13
  driverInjectionFields: "driver_injection_fields",
14
14
  // file: "file",
15
+ parentUser: "parent_user"
15
16
  };
16
17
  const getCreatePayload = (data) => {
17
18
  if ("driver" in data) {
@@ -186,6 +187,12 @@ const DriverService = (props) => {
186
187
  sqlSelect = [...sqlSelect, (0, lib_1.buildSqlSelect)(``, locationCountSqlSelect)];
187
188
  // sqlRelation = [...sqlRelation, buildSqlRelation("left", "cus", "branches", "brncount", ["dvr.user_id = brncount.user_id", "brncount.isdelete = false", "brncount.istrash = false"])]
188
189
  }
190
+ if (datatypes.includes(exports.driverDataTypes.parentUser)) {
191
+ filterColumns = { ...filterColumns, ...services_1.userParentSqlSelect };
192
+ sqlRelation = [...sqlRelation, (0, lib_1.buildSqlRelation)("left", "wrk", "users", "parentuser", ["usr.parent_user_id = parentuser.user_id", "parentuser.isdelete = false", "parentuser.istrash = false"])];
193
+ sqlSelect = [...sqlSelect, (0, lib_1.buildSqlSelect)(``, services_1.userParentSqlSelect)];
194
+ sqlGroupBy = [...sqlGroupBy, ...Object.keys(services_1.userParentSqlSelect)];
195
+ }
189
196
  let sqlWhere = [
190
197
  `dvr.isdelete = false`,
191
198
  `dvr.istrash = false`,
@@ -1 +1 @@
1
- {"version":3,"file":"DriverService.js","sourceRoot":"","sources":["../../../src/services/user/DriverService.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,qCAOkB;AAElB,yCAAmD;AAMnD,+BAA4K;AAI/J,QAAA,eAAe,GAAG;IAC3B,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,gBAAgB;IAC/B,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB,EAAE,yBAAyB;IAChD,gBAAgB;CACnB,CAAA;AA8CD,MAAM,gBAAgB,GAAG,CAAC,IAA+B,EAAE,EAAE;IAEzD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAEnB,OAAO;YACH,CAAC,GAAG,0BAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACpD,CAAC,GAAG,0BAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACnD,CAAC,GAAG,0BAAiB,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SACjE,CAAA;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAEhB,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAA+B,EAAE,EAAE;IAEzD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAEnB,OAAO;YACH,wDAAwD;YACxD,CAAC,GAAG,0BAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACnD,CAAC,GAAG,0BAAiB,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SACjE,CAAA;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAEhB,CAAC,CAAA;AAED,IAAI,aAAa,GAAG;IAChB,CAAC,OAAO,0BAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;IACnD,CAAC,OAAO,0BAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS;IAC/C,CAAC,OAAO,0BAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ;IAC7C,CAAC,OAAO,0BAAiB,CAAC,YAAY,EAAE,CAAC,EAAE,cAAc;CAC5D,CAAA;AAED,IAAI,aAAa,GAAG;IAChB,CAAC,OAAO,wBAAe,CAAC,cAAc,EAAE,CAAC,EAAE,UAAU;IACrD,CAAC,OAAO,wBAAe,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;IACjD,CAAC,OAAO,wBAAe,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;IACjD,CAAC,OAAO,wBAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU;IAC/C,CAAC,cAAc,wBAAe,CAAC,oBAAoB,SAAS,wBAAe,CAAC,oBAAoB,GAAG,CAAC,EAAE,SAAS;IAC/G,CAAC,OAAO,wBAAe,CAAC,oBAAoB,EAAE,CAAC,EAAE,sBAAsB;IACvE,CAAC,OAAO,wBAAe,CAAC,oBAAoB,EAAE,CAAC,EAAE,sBAAsB;IACvE,CAAC,OAAO,wBAAe,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO;IACzC,CAAC,OAAO,wBAAe,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS;IAC7C,CAAC,OAAO,wBAAe,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ;CAC9C,CAAA;AAED,IAAI,gBAAgB,GAAG;IACnB,CAAC,OAAO,0BAAiB,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC7D,CAAC,WAAW,wBAAe,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC/D,CAAC,OAAO,0BAAiB,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC7D,CAAC,WAAW,wBAAe,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC/D,CAAC,OAAO,0BAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU;IACjD,CAAC,OAAO,0BAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS;IAC/C,CAAC,OAAO,0BAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;CACtD,CAAA;AAED,IAAI,yBAAyB,GAAG;IAC5B,CAAC;sCACiC,4BAAmB,CAAC,QAAQ;;MAE5D,CAAC,EAAE,aAAa;IAClB,CAAC;8BACyB,4BAAmB,CAAC,aAAa;;MAEzD,CAAC,EAAE,eAAe;CACvB,CAAA;AAEM,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;IAEvD,MAAM,EACF,GAAG,IAAI,EACV,GAAG,KAAK,CAAA;IAET,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;IAE5C,MAAM,qBAAqB,GAAG,IAAA,gCAAqB,EAAC,EAAE,GAAG,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAA;IAE5F,uEAAuE;IAEvE,MAAM,YAAY,GAAG,KAAK,EAAE,EAAE,IAAI,EAAqB,EAAE,EAAE;QAEvD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAExD,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAqB,EAAE,EAAE;QAE/D,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,0BAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAE7G,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,eAAe,GAAG,KAAK,EAAkB,EAAE,EAAE;QAExF,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC;YAC7B,eAAe;YACf,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACzD,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,KAAK;YAChB,SAAS;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAE3B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,EACvB,eAAe,GAAG,KAAK,EACvB,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,GAAG,EAAE,EACA,EAAE,EAAE;QAElB,IAAI,IAAI,GAAG,EAAE,CAAA;QAEb,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC3B,aAAa,GAAG;gBACZ,GAAG,aAAa;gBAChB,CAAC,OAAO,wBAAe,CAAC,cAAc,EAAE,CAAC,EAAE,UAAU;aACxD,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,aAAa,CAAC,OAAO,wBAAe,CAAC,cAAc,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,SAAS,GAAG;YACZ,uCAAuC;YACvC,IAAA,oBAAc,EAAC,EAAE,EAAE,aAAa,CAAC;YACjC,IAAA,oBAAc,EAAC,EAAE,EAAE,aAAa,CAAC;YACjC,IAAA,oBAAc,EAAC,EAAE,EAAE,gBAAgB,CAAC;YACpC,IAAA,oBAAc,EAAC,EAAE,EAAE,yBAAyB,CAAC;SAChD,CAAA;QAED,IAAI,WAAW,GAAG;YACd,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,2BAA2B,EAAE,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;YAC7H,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,oCAAoC,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;YAClJ,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,oCAAoC,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;YAClJ,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,wCAAwC,EAAE,uCAAuC,EAAE,mCAAmC,EAAE,kCAAkC,CAAC,CAAC;YAC/N,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,kDAAkD,EAAE,2BAA2B,EAAE,0BAA0B,CAAC,CAAC;SAC1K,CAAA;QAED,IAAI,UAAU,GAAa;YACvB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7B,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7B,6CAA6C;YAC7C,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;SACnC,CAAA;QAED,IAAI,aAAa,GAAG;YAChB,GAAG,aAAa;YAChB,GAAG,aAAa;YAChB,GAAG,yBAAyB;YAC5B,GAAG,gBAAgB;SACtB,CAAA;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,uBAAe,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAE5D,IAAI,qBAAqB,GAAG,MAAM,qBAAqB,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAEnG,MAAM,6BAA6B,GAAG,IAAA,mCAA6B,EAAC,KAAK,EAAE,qBAAqB,CAAC,CAAA;YAEjG,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,6BAA6B,EAAE,CAAA;YAEtE,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAc,EAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5H,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;YACtO,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAA;QAE/E,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,uBAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAE/C,IAAI,iBAAiB,GAAG;gBACpB,CAAC;;;mCAGkB,4BAAmB,CAAC,WAAW;mCAC/B,4BAAmB,CAAC,aAAa;mCACjC,4BAAmB,CAAC,aAAa;mCACjC,4BAAmB,CAAC,aAAa;mCACjC,4BAAmB,CAAC,SAAS;mCAC7B,4BAAmB,CAAC,SAAS;mCAC7B,4BAAmB,CAAC,OAAO;mCAC3B,4BAAmB,CAAC,UAAU;mCAC9B,4BAAmB,CAAC,QAAQ;mCAC5B,4BAAmB,CAAC,QAAQ;mCAC5B,4BAAmB,CAAC,UAAU;mCAC9B,4BAAmB,CAAC,cAAc;mCAClC,4BAAmB,CAAC,WAAW;mCAC/B,4BAAmB,CAAC,YAAY;mCAChC,4BAAmB,CAAC,QAAQ;mCAC5B,4BAAmB,CAAC,OAAO;;;;sBAIxC,CAAC,EAAE,WAAW;aACvB,CAAA;YAED,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,iBAAiB,EAAE,CAAA;YAE1D,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,IAAA,oBAAc,EAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAA;YACjE,gLAAgL;QAEpL,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,uBAAe,CAAC,aAAa,CAAC,EAAE,CAAC;YAEpD,IAAI,sBAAsB,GAAG;gBACzB,CAAC,2BAA2B,4BAAmB,CAAC,WAAW,QAAQ,CAAC,EAAE,gBAAgB;aACzF,CAAA;YAED,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,sBAAsB,EAAE,CAAA;YAE/D,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,IAAA,oBAAc,EAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAA;YACtE,uLAAuL;QAE3L,CAAC;QAED,IAAI,QAAQ,GAAG;YACX,sBAAsB;YACtB,qBAAqB;YACrB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAa,EAAC,OAAO,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAA;QAED,IAAI,UAAU,GAAG,IAAA,qBAAe,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACtD,IAAI,cAAc,GAAG,IAAA,yBAAmB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEvD,MAAM,MAAM,GAAG,IAAA,uBAAiB,EAAC;YAC7B,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS;YACT,WAAW;YACX,QAAQ;YACR,UAAU;YACV,UAAU;YACV,cAAc;SACjB,CAAC,CAAA;QAEF,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEpC,MAAM,QAAQ,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YACrD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D,CAAA;QAED,OAAO,QAAQ,CAAA;IAEnB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,OAAO,EAAqB,EAAE,EAAE;QAE3D,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,IAAA,kBAAU,EAAC,qBAAqB,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,0BAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5G,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC,uBAAe,CAAC,CAAC;IAC1C,CAAC,CAAA;IAED,OAAO;QACH,YAAY;QACZ,YAAY;QACZ,SAAS;QACT,WAAW;QACX,aAAa;QACb,YAAY;KACf,CAAA;AAEL,CAAC,CAAA;AA7NY,QAAA,aAAa,iBA6NzB","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n DriverModel,\n ModelDriverFields,\n ModelUserPropFields,\n ModelLocationFields,\n UserInjectionFieldModel\n} from \"@/models\";\n\nimport { InjectionFieldService } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"driver\"\n\nexport const driverDataTypes = {\n location: \"location\",\n locationCount: \"location_count\",\n // zone: \"zone\",\n // zoneCount: \"zone_count\",\n driverInjectionFields: \"driver_injection_fields\",\n // file: \"file\",\n}\n\nexport type DriverDataType = keyof typeof driverDataTypes;\n\nexport type DriverServiceProps = DefaultServiceProps & {};\n\nexport type DriverGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: DriverDataType[]\n};\n\nexport type DriverListProps = QueryList & {\n includePassword?: boolean,\n datatypes: DriverDataType[]\n};\n\nexport type DriverRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type DriverCreateProps = {\n data:\n // driver\n {\n driver: {\n userId: number,\n companyName: string,\n remark: string\n }\n }\n}\n\nexport type DriverUpdateProps = {\n userId: number,\n data:\n // driver\n {\n driver: {\n // userId: number,\n companyName: string,\n remark: string\n }\n }\n}\n\nconst getCreatePayload = (data: DriverCreateProps[\"data\"]) => {\n\n if (\"driver\" in data) {\n\n return {\n [`${ModelDriverFields.user_id}`]: data.driver.userId,\n [`${ModelDriverFields.remark}`]: data.driver.remark,\n [`${ModelDriverFields.company_name}`]: data.driver.companyName\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: DriverUpdateProps[\"data\"]) => {\n\n if (\"driver\" in data) {\n\n return {\n // [`${ModelDriverFields.user_id}`]: data.driver.userId,\n [`${ModelDriverFields.remark}`]: data.driver.remark,\n [`${ModelDriverFields.company_name}`]: data.driver.companyName\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`dvr.${ModelDriverFields.driver_id}`]: \"driver_id\",\n [`dvr.${ModelDriverFields.user_id}`]: \"user_id\",\n [`dvr.${ModelDriverFields.remark}`]: \"remark\",\n [`dvr.${ModelDriverFields.company_name}`]: \"company_name\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.status}`]: \"status\",\n}\n\nlet defaultSqlSelect = {\n [`dvr.${ModelDriverFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`dvr.${ModelDriverFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`dvr.${ModelDriverFields.isdelete}`]: \"isdelete\",\n [`dvr.${ModelDriverFields.istrash}`]: \"istrash\",\n [`dvr.${ModelDriverFields.accountid}`]: \"accountid\",\n}\n\nlet userPropLocationSqlSelect = {\n [`COALESCE(\n STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}::text, ', '),\n ''\n )`]: \"location_id\",\n [`COALESCE(\n STRING_AGG(location.${ModelLocationFields.location_name}::text, ', '),\n ''\n )`]: \"location_name\",\n}\n\nexport const DriverService = (props: DriverServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const driverModel = DriverModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const createDriver = async ({ data }: DriverCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create driver payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await driverModel.create({ data: _data })\n\n return response\n }\n\n const updateDriver = async ({ userId, data }: DriverUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update driver payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await driverModel.update({ where: { [`${ModelDriverFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getDriver = async ({ id, datatypes = [], includePassword = false }: DriverGetProps) => {\n\n let { data } = await listDrivers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listDrivers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: DriverListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(dvr.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"dvr\", \"users\", \"usr\", [\"dvr.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"dvr\", \"users\", \"creator\", [\"dvr.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"dvr\", \"users\", \"updater\", [\"dvr.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n buildSqlRelation(\"left\", \"dvr\", \"user_props\", \"usrprop_location\", [\"dvr.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n buildSqlRelation(\"left\", \"dvr\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(driverDataTypes.driverInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"driver\")\n\n const driverInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...driverInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, driverInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"dvr\", \"user_injection_fields\", \"uif\", [\"dvr.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'driver'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(driverInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(driverDataTypes.location)) {\n\n let locationSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationFields.location_id}', location.location_id,\n '${ModelLocationFields.location_code}', location.location_code,\n '${ModelLocationFields.location_name}', location.location_name,\n '${ModelLocationFields.location_type}', location.location_type,\n '${ModelLocationFields.address_1}', location.address_1,\n '${ModelLocationFields.address_2}', location.address_2,\n '${ModelLocationFields.area_id}', location.area_id,\n '${ModelLocationFields.country_id}', location.country_id,\n '${ModelLocationFields.state_id}', location.state_id,\n '${ModelLocationFields.postcode}', location.postcode,\n '${ModelLocationFields.is_default}', location.is_default,\n '${ModelLocationFields.person_contact}', location.person_contact,\n '${ModelLocationFields.person_name}', location.person_contact,\n '${ModelLocationFields.person_email}', location.person_email,\n '${ModelLocationFields.isdelete}', location.isdelete,\n '${ModelLocationFields.istrash}', location.istrash\n )\n ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false), \n '[]'\n )`]: \"locations\"\n }\n\n filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"dvr.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(driverDataTypes.locationCount)) {\n\n let locationCountSqlSelect = {\n [`COUNT(DISTINCT location.${ModelLocationFields.location_id})::INT`]: \"location_count\"\n }\n\n filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"dvr.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n let sqlWhere = [\n `dvr.isdelete = false`,\n `dvr.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"drivers\",\n mainAlias: \"dvr\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await driverModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeDrivers = async ({ userIds }: DriverRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await driverModel.remove({ where: { [`${ModelDriverFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(driverDataTypes);\n }\n\n return {\n createDriver,\n updateDriver,\n getDriver,\n listDrivers,\n removeDrivers,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"DriverService.js","sourceRoot":"","sources":["../../../src/services/user/DriverService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n DriverModel,\n ModelDriverFields,\n ModelUserPropFields,\n ModelLocationFields,\n UserInjectionFieldModel\n} from \"@/models\";\n\nimport { InjectionFieldService, userParentSqlSelect } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"driver\"\n\nexport const driverDataTypes = {\n location: \"location\",\n locationCount: \"location_count\",\n // zone: \"zone\",\n // zoneCount: \"zone_count\",\n driverInjectionFields: \"driver_injection_fields\",\n // file: \"file\",\n parentUser: \"parent_user\"\n}\n\nexport type DriverDataType = keyof typeof driverDataTypes;\n\nexport type DriverServiceProps = DefaultServiceProps & {};\n\nexport type DriverGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: DriverDataType[]\n};\n\nexport type DriverListProps = QueryList & {\n includePassword?: boolean,\n datatypes: DriverDataType[]\n};\n\nexport type DriverRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type DriverCreateProps = {\n data:\n // driver\n {\n driver: {\n userId: number,\n companyName: string,\n remark: string\n }\n }\n}\n\nexport type DriverUpdateProps = {\n userId: number,\n data:\n // driver\n {\n driver: {\n // userId: number,\n companyName: string,\n remark: string\n }\n }\n}\n\nconst getCreatePayload = (data: DriverCreateProps[\"data\"]) => {\n\n if (\"driver\" in data) {\n\n return {\n [`${ModelDriverFields.user_id}`]: data.driver.userId,\n [`${ModelDriverFields.remark}`]: data.driver.remark,\n [`${ModelDriverFields.company_name}`]: data.driver.companyName\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: DriverUpdateProps[\"data\"]) => {\n\n if (\"driver\" in data) {\n\n return {\n // [`${ModelDriverFields.user_id}`]: data.driver.userId,\n [`${ModelDriverFields.remark}`]: data.driver.remark,\n [`${ModelDriverFields.company_name}`]: data.driver.companyName\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`dvr.${ModelDriverFields.driver_id}`]: \"driver_id\",\n [`dvr.${ModelDriverFields.user_id}`]: \"user_id\",\n [`dvr.${ModelDriverFields.remark}`]: \"remark\",\n [`dvr.${ModelDriverFields.company_name}`]: \"company_name\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.status}`]: \"status\",\n}\n\nlet defaultSqlSelect = {\n [`dvr.${ModelDriverFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`dvr.${ModelDriverFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`dvr.${ModelDriverFields.isdelete}`]: \"isdelete\",\n [`dvr.${ModelDriverFields.istrash}`]: \"istrash\",\n [`dvr.${ModelDriverFields.accountid}`]: \"accountid\",\n}\n\nlet userPropLocationSqlSelect = {\n [`COALESCE(\n STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}::text, ', '),\n ''\n )`]: \"location_id\",\n [`COALESCE(\n STRING_AGG(location.${ModelLocationFields.location_name}::text, ', '),\n ''\n )`]: \"location_name\",\n}\n\nexport const DriverService = (props: DriverServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const driverModel = DriverModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const createDriver = async ({ data }: DriverCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create driver payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await driverModel.create({ data: _data })\n\n return response\n }\n\n const updateDriver = async ({ userId, data }: DriverUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update driver payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await driverModel.update({ where: { [`${ModelDriverFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getDriver = async ({ id, datatypes = [], includePassword = false }: DriverGetProps) => {\n\n let { data } = await listDrivers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listDrivers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: DriverListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(dvr.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"dvr\", \"users\", \"usr\", [\"dvr.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"dvr\", \"users\", \"creator\", [\"dvr.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"dvr\", \"users\", \"updater\", [\"dvr.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n buildSqlRelation(\"left\", \"dvr\", \"user_props\", \"usrprop_location\", [\"dvr.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n buildSqlRelation(\"left\", \"dvr\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(driverDataTypes.driverInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"driver\")\n\n const driverInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...driverInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, driverInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"dvr\", \"user_injection_fields\", \"uif\", [\"dvr.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'driver'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(driverInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(driverDataTypes.location)) {\n\n let locationSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationFields.location_id}', location.location_id,\n '${ModelLocationFields.location_code}', location.location_code,\n '${ModelLocationFields.location_name}', location.location_name,\n '${ModelLocationFields.location_type}', location.location_type,\n '${ModelLocationFields.address_1}', location.address_1,\n '${ModelLocationFields.address_2}', location.address_2,\n '${ModelLocationFields.area_id}', location.area_id,\n '${ModelLocationFields.country_id}', location.country_id,\n '${ModelLocationFields.state_id}', location.state_id,\n '${ModelLocationFields.postcode}', location.postcode,\n '${ModelLocationFields.is_default}', location.is_default,\n '${ModelLocationFields.person_contact}', location.person_contact,\n '${ModelLocationFields.person_name}', location.person_contact,\n '${ModelLocationFields.person_email}', location.person_email,\n '${ModelLocationFields.isdelete}', location.isdelete,\n '${ModelLocationFields.istrash}', location.istrash\n )\n ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false), \n '[]'\n )`]: \"locations\"\n }\n\n filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"dvr.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(driverDataTypes.locationCount)) {\n\n let locationCountSqlSelect = {\n [`COUNT(DISTINCT location.${ModelLocationFields.location_id})::INT`]: \"location_count\"\n }\n\n filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"dvr.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n if (datatypes.includes(driverDataTypes.parentUser)) {\n\n filterColumns = { ...filterColumns, ...userParentSqlSelect }\n\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"users\", \"parentuser\", [\"usr.parent_user_id = parentuser.user_id\", \"parentuser.isdelete = false\", \"parentuser.istrash = false\"])]\n sqlSelect = [...sqlSelect, buildSqlSelect(``, userParentSqlSelect)]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(userParentSqlSelect)]\n\n }\n\n\n let sqlWhere = [\n `dvr.isdelete = false`,\n `dvr.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"drivers\",\n mainAlias: \"dvr\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await driverModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeDrivers = async ({ userIds }: DriverRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await driverModel.remove({ where: { [`${ModelDriverFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(driverDataTypes);\n }\n\n return {\n createDriver,\n updateDriver,\n getDriver,\n listDrivers,\n removeDrivers,\n getDataTypes\n }\n\n}\n\n"]}
@@ -3,6 +3,7 @@ import { DefaultServiceProps } from "../../utils";
3
3
  export type UserType = "member";
4
4
  export declare const memberDataTypes: {
5
5
  memberInjectionFields: string;
6
+ parentUser: string;
6
7
  };
7
8
  export type MemberDataType = keyof typeof memberDataTypes;
8
9
  export type MemberServiceProps = DefaultServiceProps & {};
@@ -19,7 +20,6 @@ export type MemberRemoveProps = {
19
20
  userIds: BigInt[];
20
21
  };
21
22
  export type Member = {
22
- ownerUserId: number;
23
23
  code?: string;
24
24
  companyName: string;
25
25
  identityNo: string;
@@ -42,7 +42,7 @@ export type MemberCreateProps = {
42
42
  export type MemberUpdateProps = {
43
43
  userId: number;
44
44
  data: {
45
- member: Omit<Member, "code" | "ownerUserId">;
45
+ member: Omit<Member, "code">;
46
46
  };
47
47
  };
48
48
  export declare const MemberService: (props: MemberServiceProps) => {
@@ -66,16 +66,10 @@ export declare const MemberService: (props: MemberServiceProps) => {
66
66
  remark: string | null;
67
67
  company_name: string | null;
68
68
  member_id: bigint;
69
- owner_user_type: string | null;
70
- owner_user_id: bigint | null;
71
69
  identity_no: string | null;
72
70
  gender: string | null;
73
71
  dob: Date | null;
74
72
  }>;
75
- validateMemberOwnerUserId: (ownerUserId: Number) => Promise<{
76
- ownerUserId: Number;
77
- ownerUserType: string;
78
- }>;
79
73
  updateMember: ({ userId, data }: MemberUpdateProps) => Promise<{
80
74
  createdatetime: Date | null;
81
75
  createuserid: bigint;
@@ -96,8 +90,6 @@ export declare const MemberService: (props: MemberServiceProps) => {
96
90
  remark: string | null;
97
91
  company_name: string | null;
98
92
  member_id: bigint;
99
- owner_user_type: string | null;
100
- owner_user_id: bigint | null;
101
93
  identity_no: string | null;
102
94
  gender: string | null;
103
95
  dob: Date | null;
@@ -127,8 +119,6 @@ export declare const MemberService: (props: MemberServiceProps) => {
127
119
  remark: string | null;
128
120
  company_name: string | null;
129
121
  member_id: bigint;
130
- owner_user_type: string | null;
131
- owner_user_id: bigint | null;
132
122
  identity_no: string | null;
133
123
  gender: string | null;
134
124
  dob: Date | null;
@@ -8,6 +8,7 @@ const services_1 = require("../../services");
8
8
  const lib_1 = require("../../lib");
9
9
  exports.memberDataTypes = {
10
10
  memberInjectionFields: "member_injection_fields",
11
+ parentUser: "parent_user"
11
12
  };
12
13
  const getGender = (value) => {
13
14
  let gender = ``;
@@ -27,12 +28,13 @@ const getDob = (value) => {
27
28
  return null;
28
29
  return new Date(value);
29
30
  };
30
- const getCreatePayload = (userId, ownerUserType, data) => {
31
+ // const getCreatePayload = (userId: number, ownerUserType: string, data: MemberCreateProps["data"]) => {
32
+ const getCreatePayload = (userId, data) => {
31
33
  if ("member" in data) {
32
34
  return {
33
35
  [`${models_1.ModelMemberFields.user_id}`]: Number(userId),
34
- [`${models_1.ModelMemberFields.owner_user_id}`]: data.member.ownerUserId,
35
- [`${models_1.ModelMemberFields.owner_user_type}`]: ownerUserType ?? "",
36
+ // [`${ModelMemberFields.owner_user_id}`]: data.member.ownerUserId,
37
+ // [`${ModelMemberFields.owner_user_type}`]: ownerUserType ?? "",
36
38
  [`${models_1.ModelMemberFields.address_1}`]: data.member.address1,
37
39
  [`${models_1.ModelMemberFields.address_2}`]: data.member.address2,
38
40
  [`${models_1.ModelMemberFields.area_id}`]: data.member.areaId,
@@ -82,8 +84,8 @@ let mainSqlSelect = {
82
84
  [`mem.${models_1.ModelMemberFields.gender}`]: "gender",
83
85
  [`mem.${models_1.ModelMemberFields.remark}`]: "remark",
84
86
  [`mem.${models_1.ModelMemberFields.identity_no}`]: "identity_no",
85
- [`mem.${models_1.ModelMemberFields.owner_user_id}`]: "owner_user_id",
86
- [`mem.${models_1.ModelMemberFields.owner_user_type}`]: "owner_user_type",
87
+ // [`mem.${ModelMemberFields.owner_user_id}`]: "owner_user_id",
88
+ // [`mem.${ModelMemberFields.owner_user_type}`]: "owner_user_type",
87
89
  [`mem.${models_1.ModelMemberFields.user_id}`]: "user_id",
88
90
  [`mem.${models_1.ModelMemberFields.postcode}`]: "postcode",
89
91
  [`mem.${models_1.ModelMemberFields.area_id}`]: "area_id",
@@ -156,27 +158,27 @@ const MemberService = (props) => {
156
158
  // use back the request member code
157
159
  return requestMemberCode;
158
160
  };
159
- const validateMemberOwnerUserId = async (ownerUserId) => {
160
- let ownerUserType = ``;
161
- if (ownerUserId) {
162
- const userMemberService = (0, services_1.UserService)({ ...rest, userType: "member" });
163
- // validate owner user id
164
- const ownerUser = await userMemberService.getUser({ id: Number(ownerUserId), datatypes: [], skipFilterUserType: true });
165
- // console.log('ownerUser', ownerUser)
166
- if (!ownerUser?.user_id) {
167
- (0, utils_1.throwError)(`Invalid owner user id: ${ownerUserId}`);
168
- }
169
- ownerUserType = ownerUser?.user_type;
170
- }
171
- return {
172
- ownerUserId,
173
- ownerUserType
174
- };
175
- };
161
+ // const validateMemberOwnerUserId = async (ownerUserId: Number) => {
162
+ // let ownerUserType = ``
163
+ // if (ownerUserId) {
164
+ // const userMemberService = UserService({ ...rest, userType: "member" })
165
+ // // validate owner user id
166
+ // const ownerUser = await userMemberService.getUser({ id: Number(ownerUserId), datatypes: [], skipFilterUserType: true })
167
+ // // console.log('ownerUser', ownerUser)
168
+ // if (!ownerUser?.user_id) {
169
+ // throwError(`Invalid owner user id: ${ownerUserId}`)
170
+ // }
171
+ // ownerUserType = ownerUser?.user_type
172
+ // }
173
+ // return {
174
+ // ownerUserId,
175
+ // ownerUserType
176
+ // }
177
+ // }
176
178
  const createMember = async ({ userId, data }) => {
177
179
  // check owner user
178
- const ownerUserId = data?.member?.ownerUserId ?? "";
179
- const { ownerUserType = "" } = await validateMemberOwnerUserId(ownerUserId);
180
+ // const ownerUserId = data?.member?.ownerUserId ?? ""
181
+ // const { ownerUserType = "" } = await validateMemberOwnerUserId(ownerUserId)
180
182
  let requestMemberCode = data.member.code ?? "";
181
183
  let registerDate = (0, utils_2.dayjs)().format("YYYY-MM-DD");
182
184
  // if specify the custom member code - check occurance
@@ -195,7 +197,8 @@ const MemberService = (props) => {
195
197
  requestMemberCode = await buildMemberCode(requestMemberCode, registerDate);
196
198
  }
197
199
  data.member.code = requestMemberCode;
198
- const _data = getCreatePayload(userId, ownerUserType, data);
200
+ // const _data = getCreatePayload(userId, ownerUserType, data)
201
+ const _data = getCreatePayload(userId, data);
199
202
  if (!_data) {
200
203
  throw new Error(`Invalid create member payload: ${JSON.stringify(_data)}`);
201
204
  }
@@ -267,6 +270,12 @@ const MemberService = (props) => {
267
270
  sqlRelation = [...sqlRelation, (0, lib_1.buildSqlRelation)("left", "mem", "user_injection_fields", "uif", ["mem.user_id = uif.user_id", "uif.field_ref = 'user'", "uif.field_module = 'member'", "uif.isdelete = false", "uif.istrash = false"])];
268
271
  sqlGroupBy = [...sqlGroupBy, ...Object.keys(memberInjectionFieldSqlSelect)];
269
272
  }
273
+ if (datatypes.includes(exports.memberDataTypes.parentUser)) {
274
+ filterColumns = { ...filterColumns, ...services_1.userParentSqlSelect };
275
+ sqlRelation = [...sqlRelation, (0, lib_1.buildSqlRelation)("left", "wrk", "users", "parentuser", ["usr.parent_user_id = parentuser.user_id", "parentuser.isdelete = false", "parentuser.istrash = false"])];
276
+ sqlSelect = [...sqlSelect, (0, lib_1.buildSqlSelect)(``, services_1.userParentSqlSelect)];
277
+ sqlGroupBy = [...sqlGroupBy, ...Object.keys(services_1.userParentSqlSelect)];
278
+ }
270
279
  // if (datatypes.includes(memberDataTypes.location)) {
271
280
  // let locationSqlSelect = {
272
281
  // [`COALESCE(
@@ -341,7 +350,7 @@ const MemberService = (props) => {
341
350
  };
342
351
  return {
343
352
  createMember,
344
- validateMemberOwnerUserId,
353
+ // validateMemberOwnerUserId,
345
354
  updateMember,
346
355
  getMember,
347
356
  listMembers,