storemw-core-api 1.0.153 → 1.0.155

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 (84) hide show
  1. package/dist/features/index.d.ts +1 -1
  2. package/dist/features/index.js.map +1 -1
  3. package/dist/features/user_me/userMeRegistry.js +4 -0
  4. package/dist/features/user_me/userMeRegistry.js.map +1 -1
  5. package/dist/features/user_me/userMeType.d.ts +17 -3
  6. package/dist/features/user_me/userMeType.js.map +1 -1
  7. package/dist/services/access_control/AccessControlRoleService.js +1 -1
  8. package/dist/services/access_control/AccessControlRoleService.js.map +1 -1
  9. package/dist/services/access_key/AccessKeyService.js +1 -1
  10. package/dist/services/access_key/AccessKeyService.js.map +1 -1
  11. package/dist/services/account/AccountService.js +1 -1
  12. package/dist/services/account/AccountService.js.map +1 -1
  13. package/dist/services/auth/AuthService.js +2 -2
  14. package/dist/services/auth/AuthService.js.map +1 -1
  15. package/dist/services/business/BusinessService.js +1 -1
  16. package/dist/services/business/BusinessService.js.map +1 -1
  17. package/dist/services/file/FileService.js +4 -4
  18. package/dist/services/file/FileService.js.map +1 -1
  19. package/dist/services/gateway/SmtpEmailService.js +5 -4
  20. package/dist/services/gateway/SmtpEmailService.js.map +1 -1
  21. package/dist/services/injection_field/InjectionFieldService.js +1 -1
  22. package/dist/services/injection_field/InjectionFieldService.js.map +1 -1
  23. package/dist/services/item/ItemBrandService.js +1 -1
  24. package/dist/services/item/ItemBrandService.js.map +1 -1
  25. package/dist/services/item/ItemCategoryService.js +1 -1
  26. package/dist/services/item/ItemCategoryService.js.map +1 -1
  27. package/dist/services/item/ItemItemService.js +1 -1
  28. package/dist/services/item/ItemItemService.js.map +1 -1
  29. package/dist/services/item/ItemProductService.js +1 -1
  30. package/dist/services/item/ItemProductService.js.map +1 -1
  31. package/dist/services/item/ItemUomService.js +1 -1
  32. package/dist/services/item/ItemUomService.js.map +1 -1
  33. package/dist/services/location/LocationLocationService.js +1 -1
  34. package/dist/services/location/LocationLocationService.js.map +1 -1
  35. package/dist/services/location/LocationRackService.js +1 -1
  36. package/dist/services/location/LocationRackService.js.map +1 -1
  37. package/dist/services/location/LocationSlotService.js +1 -1
  38. package/dist/services/location/LocationSlotService.js.map +1 -1
  39. package/dist/services/one_time_code/OneTimeCodeService.js +1 -1
  40. package/dist/services/one_time_code/OneTimeCodeService.js.map +1 -1
  41. package/dist/services/region/AreaService.js +1 -1
  42. package/dist/services/region/AreaService.js.map +1 -1
  43. package/dist/services/region/CountryService.js +1 -1
  44. package/dist/services/region/CountryService.js.map +1 -1
  45. package/dist/services/region/StateService.js +1 -1
  46. package/dist/services/region/StateService.js.map +1 -1
  47. package/dist/services/reset_password/ResetPasswordService.js +4 -4
  48. package/dist/services/reset_password/ResetPasswordService.js.map +1 -1
  49. package/dist/services/scheduler/SchedulerLogService.js +1 -1
  50. package/dist/services/scheduler/SchedulerLogService.js.map +1 -1
  51. package/dist/services/subscription/account/AccountSubscribeService.js +1 -1
  52. package/dist/services/subscription/account/AccountSubscribeService.js.map +1 -1
  53. package/dist/services/subscription/plan/SubscribePlanService.js +1 -1
  54. package/dist/services/subscription/plan/SubscribePlanService.js.map +1 -1
  55. package/dist/services/user/AdministratorService.js +1 -1
  56. package/dist/services/user/AdministratorService.js.map +1 -1
  57. package/dist/services/user/AgentService.js +1 -1
  58. package/dist/services/user/AgentService.js.map +1 -1
  59. package/dist/services/user/CustomerService.js +1 -1
  60. package/dist/services/user/CustomerService.js.map +1 -1
  61. package/dist/services/user/DriverService.js +1 -1
  62. package/dist/services/user/DriverService.js.map +1 -1
  63. package/dist/services/user/MemberService.js +1 -1
  64. package/dist/services/user/MemberService.js.map +1 -1
  65. package/dist/services/user/OperatorService.js +1 -1
  66. package/dist/services/user/OperatorService.js.map +1 -1
  67. package/dist/services/user/RetailerService.js +1 -1
  68. package/dist/services/user/RetailerService.js.map +1 -1
  69. package/dist/services/user/UserMeService.js +29 -8
  70. package/dist/services/user/UserMeService.js.map +1 -1
  71. package/dist/services/user/UserService.js +1 -1
  72. package/dist/services/user/UserService.js.map +1 -1
  73. package/dist/services/user/WorkerService.js +1 -1
  74. package/dist/services/user/WorkerService.js.map +1 -1
  75. package/dist/utils/featureUtils.d.ts +3 -0
  76. package/dist/utils/featureUtils.js +11 -0
  77. package/dist/utils/featureUtils.js.map +1 -1
  78. package/dist/utils/index.d.ts +1 -0
  79. package/dist/utils/index.js +3 -1
  80. package/dist/utils/index.js.map +1 -1
  81. package/dist/utils/serviceUtils.d.ts +1 -0
  82. package/dist/utils/serviceUtils.js +2 -1
  83. package/dist/utils/serviceUtils.js.map +1 -1
  84. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ItemProductService.js","sourceRoot":"","sources":["../../../src/services/item/ItemProductService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ProductModel,\n ModelProductFields,\n ModelCategoryFields,\n ModelBrandFields,\n ModelUomFields,\n ModelItemFields,\n ModelFileFields,\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 ItemType = \"product\"\n\nexport const productDataTypes = {\n productInjectionFields: \"product_injection_fields\",\n itemInjectionFields: \"item_injection_fields\",\n allCategory: \"all_category\",\n allSupplier: \"all_supplier\",\n file: \"file\",\n product: \"product\"\n}\n\nexport type ItemProductDataType = keyof typeof productDataTypes;\n\nexport type ItemProductServiceProps = DefaultServiceProps & {};\n\nexport type ItemProductGetProps = QueryGet & {\n id: number,\n datatypes: ItemProductDataType[]\n};\n\nexport type ItemProductListProps = QueryList & {\n datatypes: ItemProductDataType[]\n};\n\nexport type ItemProductRemoveProps = {\n productIds: BigInt[]\n};\n\nexport type ItemProductCreateProps = {\n data:\n // product\n {\n product: {\n brandId: number\n categoryId: number\n productName: string\n model: string\n productCode: string\n description: string\n summary: string\n status: Boolean\n }\n }\n}\n\nexport type ItemProductUpdateProps = {\n productId: number,\n data:\n // product\n {\n product: {\n brandId: number\n categoryId: number\n productName: string\n model: string\n productCode: string\n description: string\n summary: string\n status: Boolean\n }\n }\n}\n\nconst getCreatePayload = (data: ItemProductCreateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n\n return {\n [`${ModelProductFields.brand_id}`]: data.product.brandId,\n [`${ModelProductFields.category_id}`]: data.product.categoryId,\n [`${ModelProductFields.description}`]: data.product.description,\n [`${ModelProductFields.product_name}`]: data.product.productName,\n [`${ModelProductFields.model}`]: data.product.model,\n [`${ModelProductFields.product_code}`]: data.product.productCode,\n [`${ModelProductFields.summary}`]: data.product.summary,\n [`${ModelProductFields.status}`]: data.product.status ? 1 : 0\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemProductUpdateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n\n return {\n [`${ModelProductFields.brand_id}`]: data.product.brandId,\n [`${ModelProductFields.category_id}`]: data.product.categoryId,\n [`${ModelProductFields.description}`]: data.product.description,\n [`${ModelProductFields.product_name}`]: data.product.productName,\n [`${ModelProductFields.model}`]: data.product.model,\n [`${ModelProductFields.product_code}`]: data.product.productCode,\n [`${ModelProductFields.summary}`]: data.product.summary,\n [`${ModelProductFields.status}`]: data.product.status ? 1 : 0\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`prd.${ModelProductFields.product_id}`]: \"product_id\",\n [`prd.${ModelProductFields.brand_id}`]: \"brand_id\",\n [`prd.${ModelProductFields.category_id}`]: \"category_id\",\n [`prd.${ModelProductFields.description}`]: \"description\",\n [`prd.${ModelProductFields.product_name}`]: \"product_name\",\n [`prd.${ModelProductFields.model}`]: \"model\",\n [`prd.${ModelProductFields.product_code}`]: \"product_code\",\n [`prd.${ModelProductFields.status}`]: \"status\",\n [`prd.${ModelProductFields.summary}`]: \"summary\",\n}\n\nlet itemSqlSelect = {\n [`catg.${ModelCategoryFields.name}`]: \"category_name\",\n [`catg.${ModelCategoryFields.status}`]: \"category_status\",\n [`catg.${ModelCategoryFields.description}`]: \"category_description\",\n [`catg.${ModelCategoryFields.parent_category_id}`]: \"parent_category_id\",\n [`brd.${ModelBrandFields.name}`]: \"brand_name\",\n [`brd.${ModelBrandFields.status}`]: \"brand_status\",\n [`brd.${ModelBrandFields.description}`]: \"brand_description\"\n}\n\nconst getItemsSqlSelect = async (datatypes: any, injectionFieldService: any) => {\n\n let iif2Select = ``\n\n if (datatypes.includes(productDataTypes.itemInjectionFields)) {\n\n const currentActiveFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n let bbb = currentActiveFields.map((col: any) => `'inf_${col}', iif2.${col}`).join(\", \")\n\n iif2Select = bbb.length > 0 ? `, ${bbb}` : ``\n\n }\n\n let itemsSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelItemFields.item_id}', itm.item_id,\n '${ModelItemFields.cbm}', itm.cbm,\n '${ModelItemFields.item_code}', itm.item_code,\n '${ModelItemFields.cost}', itm.cost,\n '${ModelItemFields.dimension_height}', itm.dimension_height::float,\n '${ModelItemFields.dimension_length}', itm.dimension_length::float,\n '${ModelItemFields.dimension_width}', itm.dimension_width::float,\n '${ModelItemFields.floor_price}', itm.floor_price::float,\n '${ModelItemFields.gross_weight}', itm.gross_weight::float,\n '${ModelItemFields.is_package}', itm.is_package,\n '${ModelItemFields.item_description}', itm.item_description,\n '${ModelItemFields.net_weight}', itm.net_weight::float,\n '${ModelItemFields.remark}', itm.remark,\n '${ModelItemFields.status}', itm.status,\n '${ModelItemFields.summary}', itm.summary,\n '${ModelItemFields.uom_id}', itm.uom_id,\n '${ModelItemFields.uom_price}', itm.uom_price::float,\n '${ModelItemFields.uom_bal}', itm.uom_bal::float,\n 'uom_description', uom.${ModelUomFields.description},\n 'uom_decimal_digit', uom.${ModelUomFields.decimal_digit}::float,\n 'uom_name', uom.${ModelUomFields.name},\n 'uom_status', uom.${ModelUomFields.status},\n 'uom_metric_type', uom.${ModelUomFields.metric_type},\n 'uom_metric_type_display_name', uom.${ModelUomFields.metric_type_display_name},\n '${ModelItemFields.volume_weight}', itm.volume_weight\n ${iif2Select}\n )\n ) FILTER (WHERE itm.item_id IS NOT NULL AND itm.isdelete = false AND itm.istrash = false),\n '[]'\n )`]: \"items\"\n }\n\n return itemsSqlSelect\n}\n\nlet defaultSqlSelect = {\n [`prd.${ModelProductFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`prd.${ModelProductFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`prd.${ModelProductFields.isdelete}`]: \"isdelete\",\n [`prd.${ModelProductFields.istrash}`]: \"istrash\",\n [`prd.${ModelProductFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemProductService = (props: ItemProductServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const productModel = ProductModel({ ...rest })\n\n const createItemProduct = async ({ data }: ItemProductCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create product payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await productModel.create({ data: _data })\n\n return response\n }\n\n const updateItemProduct = async ({ productId, data }: ItemProductUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update product payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await productModel.update({ where: { [`${ModelProductFields.product_id}`]: productId }, data: _data })\n\n return response\n }\n\n const getItemProduct = async ({ id, datatypes = [] }: ItemProductGetProps) => {\n\n let { data } = await listItemProducts({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelProductFields.product_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelProductFields.product_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listItemProducts = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemProductListProps) => {\n\n let itemsSqlSelect = await getItemsSqlSelect(datatypes, injectionFieldService)\n\n let data = []\n\n let sqlSelect = [\n `COUNT(prd.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, itemSqlSelect),\n buildSqlSelect(``, itemsSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"prd\", \"categories\", \"catg\", [\"prd.category_id = catg.category_id\", \"catg.isdelete = false\", \"catg.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"brands\", \"brd\", [\"prd.brand_id = brd.brand_id\", \"brd.isdelete = false\", \"brd.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"items\", \"itm\", [\"prd.product_id = itm.product_id\", \"itm.isdelete = false\", \"itm.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"uoms\", \"uom\", [\"itm.uom_id = uom.uom_id\", \"uom.isdelete = false\", \"uom.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"users\", \"creator\", [\"prd.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"users\", \"updater\", [\"prd.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(itemSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...itemSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(productDataTypes.productInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"product\")\n\n const productInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...productInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, productInjectionFieldSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"prd\", \"item_injection_fields\", \"iif\", [\"prd.product_id = iif.product_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'product'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(productInjectionFieldSqlSelect)]\n }\n\n // if (datatypes.includes(productDataTypes.itemInjectionFields)) {\n\n // let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n // const productItemInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif2\", activeInjectionFields)\n\n // filterColumns = { ...filterColumns, ...productItemInjectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, productItemInjectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"itm\", \"item_injection_fields\", \"iif2\", [\"itm.item_id = iif2.item_id\", \"iif2.field_ref = 'item'\", \"iif2.field_module = 'item'\", \"iif2.isdelete = false\", \"iif2.istrash = false\"])]\n // // sqlGroupBy = [...sqlGroupBy, ...Object.keys(itemInjectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(productDataTypes.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}', location.area,\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\", [\"prd.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(productDataTypes.file)) {\n\n let fileSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelFileFields.file_id}', files.file_id,\n '${ModelFileFields.asset_url}', files.asset_url,\n '${ModelFileFields.asset_path}', files.asset_path,\n '${ModelFileFields.batch_code}', files.batch_code,\n '${ModelFileFields.content_type}', files.content_type,\n '${ModelFileFields.description}', files.description,\n '${ModelFileFields.field_module}', files.field_module,\n '${ModelFileFields.field_ref}', files.field_ref,\n '${ModelFileFields.file_compress_format}', files.file_compress_format,\n '${ModelFileFields.file_label}', files.file_label,\n '${ModelFileFields.file_name}', files.file_name,\n '${ModelFileFields.file_size_bytes}', files.file_size_bytes,\n '${ModelFileFields.foldername_day}', files.foldername_day,\n '${ModelFileFields.foldername_month}', files.foldername_month,\n '${ModelFileFields.foldername_year}', files.foldername_year,\n '${ModelFileFields.input_file_name}', files.input_file_name,\n '${ModelFileFields.input_file_size_bytes}', files.input_file_size_bytes,\n '${ModelFileFields.input_type}', files.input_type,\n '${ModelFileFields.refer_id_1}', files.refer_id_1,\n '${ModelFileFields.refer_id_2}', files.refer_id_2,\n '${ModelFileFields.remark}', files.remark,\n '${ModelFileFields.storage_provider_name}', files.storage_provider_name,\n '${ModelFileFields.tag_name}', files.tag_name\n )\n ) FILTER (WHERE files.file_id IS NOT NULL AND files.isdelete = false AND files.istrash = false), \n '[]'\n )`]: \"files\"\n }\n\n // filterColumns = { ...filterColumns, ...fileSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, fileSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"prd\", \"files\", \"files\", [\"prd.product_id = files.refer_id_1\", \"files.field_ref = 'item'\", \"files.field_module = 'product'\", \"files.isdelete = false\", \"files.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\", [\"prd.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `prd.isdelete = false`,\n `prd.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: \"products\",\n mainAlias: \"prd\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await productModel.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 removeProducts = async ({ productIds }: ItemProductRemoveProps) => {\n\n if (!productIds.length) throwError('productIds is required');\n\n const response = await productModel.remove({ where: { [`${ModelProductFields.product_id}`]: { in: productIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(productDataTypes);\n }\n\n return {\n createItemProduct,\n updateItemProduct,\n getItemProduct,\n listItemProducts,\n removeProducts,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"ItemProductService.js","sourceRoot":"","sources":["../../../src/services/item/ItemProductService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ProductModel,\n ModelProductFields,\n ModelCategoryFields,\n ModelBrandFields,\n ModelUomFields,\n ModelItemFields,\n ModelFileFields,\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 ItemType = \"product\"\n\nexport const productDataTypes = {\n productInjectionFields: \"product_injection_fields\",\n itemInjectionFields: \"item_injection_fields\",\n allCategory: \"all_category\",\n allSupplier: \"all_supplier\",\n file: \"file\",\n product: \"product\"\n}\n\nexport type ItemProductDataType = keyof typeof productDataTypes;\n\nexport type ItemProductServiceProps = DefaultServiceProps & {};\n\nexport type ItemProductGetProps = QueryGet & {\n id: number,\n datatypes: ItemProductDataType[]\n};\n\nexport type ItemProductListProps = QueryList & {\n datatypes: ItemProductDataType[]\n};\n\nexport type ItemProductRemoveProps = {\n productIds: BigInt[]\n};\n\nexport type ItemProductCreateProps = {\n data:\n // product\n {\n product: {\n brandId: number\n categoryId: number\n productName: string\n model: string\n productCode: string\n description: string\n summary: string\n status: Boolean\n }\n }\n}\n\nexport type ItemProductUpdateProps = {\n productId: number,\n data:\n // product\n {\n product: {\n brandId: number\n categoryId: number\n productName: string\n model: string\n productCode: string\n description: string\n summary: string\n status: Boolean\n }\n }\n}\n\nconst getCreatePayload = (data: ItemProductCreateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n\n return {\n [`${ModelProductFields.brand_id}`]: data.product.brandId,\n [`${ModelProductFields.category_id}`]: data.product.categoryId,\n [`${ModelProductFields.description}`]: data.product.description,\n [`${ModelProductFields.product_name}`]: data.product.productName,\n [`${ModelProductFields.model}`]: data.product.model,\n [`${ModelProductFields.product_code}`]: data.product.productCode,\n [`${ModelProductFields.summary}`]: data.product.summary,\n [`${ModelProductFields.status}`]: data.product.status ? 1 : 0\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemProductUpdateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n\n return {\n [`${ModelProductFields.brand_id}`]: data.product.brandId,\n [`${ModelProductFields.category_id}`]: data.product.categoryId,\n [`${ModelProductFields.description}`]: data.product.description,\n [`${ModelProductFields.product_name}`]: data.product.productName,\n [`${ModelProductFields.model}`]: data.product.model,\n [`${ModelProductFields.product_code}`]: data.product.productCode,\n [`${ModelProductFields.summary}`]: data.product.summary,\n [`${ModelProductFields.status}`]: data.product.status ? 1 : 0\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`prd.${ModelProductFields.product_id}`]: \"product_id\",\n [`prd.${ModelProductFields.brand_id}`]: \"brand_id\",\n [`prd.${ModelProductFields.category_id}`]: \"category_id\",\n [`prd.${ModelProductFields.description}`]: \"description\",\n [`prd.${ModelProductFields.product_name}`]: \"product_name\",\n [`prd.${ModelProductFields.model}`]: \"model\",\n [`prd.${ModelProductFields.product_code}`]: \"product_code\",\n [`prd.${ModelProductFields.status}`]: \"status\",\n [`prd.${ModelProductFields.summary}`]: \"summary\",\n}\n\nlet itemSqlSelect = {\n [`catg.${ModelCategoryFields.name}`]: \"category_name\",\n [`catg.${ModelCategoryFields.status}`]: \"category_status\",\n [`catg.${ModelCategoryFields.description}`]: \"category_description\",\n [`catg.${ModelCategoryFields.parent_category_id}`]: \"parent_category_id\",\n [`brd.${ModelBrandFields.name}`]: \"brand_name\",\n [`brd.${ModelBrandFields.status}`]: \"brand_status\",\n [`brd.${ModelBrandFields.description}`]: \"brand_description\"\n}\n\nconst getItemsSqlSelect = async (datatypes: any, injectionFieldService: any) => {\n\n let iif2Select = ``\n\n if (datatypes.includes(productDataTypes.itemInjectionFields)) {\n\n const currentActiveFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n let bbb = currentActiveFields.map((col: any) => `'inf_${col}', iif2.${col}`).join(\", \")\n\n iif2Select = bbb.length > 0 ? `, ${bbb}` : ``\n\n }\n\n let itemsSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelItemFields.item_id}', itm.item_id,\n '${ModelItemFields.cbm}', itm.cbm,\n '${ModelItemFields.item_code}', itm.item_code,\n '${ModelItemFields.cost}', itm.cost,\n '${ModelItemFields.dimension_height}', itm.dimension_height::float,\n '${ModelItemFields.dimension_length}', itm.dimension_length::float,\n '${ModelItemFields.dimension_width}', itm.dimension_width::float,\n '${ModelItemFields.floor_price}', itm.floor_price::float,\n '${ModelItemFields.gross_weight}', itm.gross_weight::float,\n '${ModelItemFields.is_package}', itm.is_package,\n '${ModelItemFields.item_description}', itm.item_description,\n '${ModelItemFields.net_weight}', itm.net_weight::float,\n '${ModelItemFields.remark}', itm.remark,\n '${ModelItemFields.status}', itm.status,\n '${ModelItemFields.summary}', itm.summary,\n '${ModelItemFields.uom_id}', itm.uom_id,\n '${ModelItemFields.uom_price}', itm.uom_price::float,\n '${ModelItemFields.uom_bal}', itm.uom_bal::float,\n 'uom_description', uom.${ModelUomFields.description},\n 'uom_decimal_digit', uom.${ModelUomFields.decimal_digit}::float,\n 'uom_name', uom.${ModelUomFields.name},\n 'uom_status', uom.${ModelUomFields.status},\n 'uom_metric_type', uom.${ModelUomFields.metric_type},\n 'uom_metric_type_display_name', uom.${ModelUomFields.metric_type_display_name},\n '${ModelItemFields.volume_weight}', itm.volume_weight\n ${iif2Select}\n )\n ) FILTER (WHERE itm.item_id IS NOT NULL AND itm.isdelete = false AND itm.istrash = false),\n '[]'\n )`]: \"items\"\n }\n\n return itemsSqlSelect\n}\n\nlet defaultSqlSelect = {\n [`prd.${ModelProductFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`prd.${ModelProductFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`prd.${ModelProductFields.isdelete}`]: \"isdelete\",\n [`prd.${ModelProductFields.istrash}`]: \"istrash\",\n [`prd.${ModelProductFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemProductService = (props: ItemProductServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const productModel = ProductModel({ ...rest })\n\n const createItemProduct = async ({ data }: ItemProductCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create product payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await productModel.create({ data: _data })\n\n return response\n }\n\n const updateItemProduct = async ({ productId, data }: ItemProductUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update product payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await productModel.update({ where: { [`${ModelProductFields.product_id}`]: productId }, data: _data })\n\n return response\n }\n\n const getItemProduct = async ({ id, datatypes = [] }: ItemProductGetProps) => {\n\n let { data } = await listItemProducts({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelProductFields.product_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelProductFields.product_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listItemProducts = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemProductListProps) => {\n\n let itemsSqlSelect = await getItemsSqlSelect(datatypes, injectionFieldService)\n\n let data = []\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, itemSqlSelect),\n buildSqlSelect(``, itemsSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"prd\", \"categories\", \"catg\", [\"prd.category_id = catg.category_id\", \"catg.isdelete = false\", \"catg.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"brands\", \"brd\", [\"prd.brand_id = brd.brand_id\", \"brd.isdelete = false\", \"brd.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"items\", \"itm\", [\"prd.product_id = itm.product_id\", \"itm.isdelete = false\", \"itm.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"uoms\", \"uom\", [\"itm.uom_id = uom.uom_id\", \"uom.isdelete = false\", \"uom.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"users\", \"creator\", [\"prd.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"users\", \"updater\", [\"prd.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(itemSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...itemSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(productDataTypes.productInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"product\")\n\n const productInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...productInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, productInjectionFieldSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"prd\", \"item_injection_fields\", \"iif\", [\"prd.product_id = iif.product_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'product'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(productInjectionFieldSqlSelect)]\n }\n\n // if (datatypes.includes(productDataTypes.itemInjectionFields)) {\n\n // let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n // const productItemInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif2\", activeInjectionFields)\n\n // filterColumns = { ...filterColumns, ...productItemInjectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, productItemInjectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"itm\", \"item_injection_fields\", \"iif2\", [\"itm.item_id = iif2.item_id\", \"iif2.field_ref = 'item'\", \"iif2.field_module = 'item'\", \"iif2.isdelete = false\", \"iif2.istrash = false\"])]\n // // sqlGroupBy = [...sqlGroupBy, ...Object.keys(itemInjectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(productDataTypes.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}', location.area,\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\", [\"prd.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(productDataTypes.file)) {\n\n let fileSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelFileFields.file_id}', files.file_id,\n '${ModelFileFields.asset_url}', files.asset_url,\n '${ModelFileFields.asset_path}', files.asset_path,\n '${ModelFileFields.batch_code}', files.batch_code,\n '${ModelFileFields.content_type}', files.content_type,\n '${ModelFileFields.description}', files.description,\n '${ModelFileFields.field_module}', files.field_module,\n '${ModelFileFields.field_ref}', files.field_ref,\n '${ModelFileFields.file_compress_format}', files.file_compress_format,\n '${ModelFileFields.file_label}', files.file_label,\n '${ModelFileFields.file_name}', files.file_name,\n '${ModelFileFields.file_size_bytes}', files.file_size_bytes,\n '${ModelFileFields.foldername_day}', files.foldername_day,\n '${ModelFileFields.foldername_month}', files.foldername_month,\n '${ModelFileFields.foldername_year}', files.foldername_year,\n '${ModelFileFields.input_file_name}', files.input_file_name,\n '${ModelFileFields.input_file_size_bytes}', files.input_file_size_bytes,\n '${ModelFileFields.input_type}', files.input_type,\n '${ModelFileFields.refer_id_1}', files.refer_id_1,\n '${ModelFileFields.refer_id_2}', files.refer_id_2,\n '${ModelFileFields.remark}', files.remark,\n '${ModelFileFields.storage_provider_name}', files.storage_provider_name,\n '${ModelFileFields.tag_name}', files.tag_name\n )\n ) FILTER (WHERE files.file_id IS NOT NULL AND files.isdelete = false AND files.istrash = false), \n '[]'\n )`]: \"files\"\n }\n\n // filterColumns = { ...filterColumns, ...fileSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, fileSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"prd\", \"files\", \"files\", [\"prd.product_id = files.refer_id_1\", \"files.field_ref = 'item'\", \"files.field_module = 'product'\", \"files.isdelete = false\", \"files.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\", [\"prd.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `prd.isdelete = false`,\n `prd.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: \"products\",\n mainAlias: \"prd\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await productModel.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 removeProducts = async ({ productIds }: ItemProductRemoveProps) => {\n\n if (!productIds.length) throwError('productIds is required');\n\n const response = await productModel.remove({ where: { [`${ModelProductFields.product_id}`]: { in: productIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(productDataTypes);\n }\n\n return {\n createItemProduct,\n updateItemProduct,\n getItemProduct,\n listItemProducts,\n removeProducts,\n getDataTypes\n }\n\n}\n\n"]}
@@ -86,7 +86,7 @@ const ItemUomService = (props) => {
86
86
  const listUoms = async ({ limit, offset, filters, sortfield, sortorder, datatypes = [] }) => {
87
87
  let data = [];
88
88
  let sqlSelect = [
89
- `COUNT(uom.*) OVER() as filtered_count`,
89
+ `COUNT(*) OVER() as filtered_count`,
90
90
  (0, lib_1.buildSqlSelect)(``, mainSqlSelect),
91
91
  (0, lib_1.buildSqlSelect)(``, defaultSqlSelect),
92
92
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"ItemUomService.js","sourceRoot":"","sources":["../../../src/services/item/ItemUomService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ModelUomFields,\n UomModel\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 ItemType = \"uom\"\n\nexport const uomDataTypes = {\n uomInjectionFields: \"uom_injection_fields\"\n}\n\nexport type ItemUomDataType = keyof typeof uomDataTypes;\n\nexport type ItemUomServiceProps = DefaultServiceProps & {};\n\nexport type ItemUomGetProps = {\n id: number,\n datatypes: ItemUomDataType[]\n};\n\nexport type ItemUomListProps = QueryList & {\n datatypes: ItemUomDataType[]\n};\n\nexport type ItemUomRemoveProps = {\n uomIds: BigInt[]\n};\n\ntype ItemUomMetricType = \"weight\" | \"unit\" | \"volumn\"\n\nexport type ItemUomCreateProps = {\n data:\n // uom\n {\n uom: {\n name: string,\n description: string,\n metricType: ItemUomMetricType\n metricTypeDisplayName: string\n decimalDigit: number\n status: boolean\n }\n }\n}\n\nexport type ItemUomUpdateProps = {\n uomId: number,\n data:\n // uom\n {\n uom: {\n name: string,\n description: string,\n metricType: ItemUomMetricType\n metricTypeDisplayName: string\n decimalDigit: number\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: ItemUomCreateProps[\"data\"]) => {\n\n if (\"uom\" in data) {\n\n return {\n [`${ModelUomFields.name}`]: data.uom.description,\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: data.uom.status ? 1 : 0,\n [`${ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,\n [`${ModelUomFields.metric_type}`]: data.uom.metricType,\n [`${ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemUomUpdateProps[\"data\"]) => {\n\n if (\"uom\" in data) {\n\n return {\n [`${ModelUomFields.name}`]: data.uom.description,\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: data.uom.status ? 1 : 0,\n [`${ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,\n [`${ModelUomFields.metric_type}`]: data.uom.metricType,\n [`${ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`uom.${ModelUomFields.uom_id}`]: \"uom_id\",\n [`uom.${ModelUomFields.description}`]: \"description\",\n [`uom.${ModelUomFields.name}`]: \"name\",\n [`uom.${ModelUomFields.status}`]: \"status\",\n [`uom.${ModelUomFields.metric_type}`]: \"metric_type\",\n [`uom.${ModelUomFields.metric_type_display_name}`]: \"metric_type_display_name\",\n [`uom.${ModelUomFields.decimal_digit}`]: \"decimal_digit\",\n}\n\nlet defaultSqlSelect = {\n [`uom.${ModelUomFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`uom.${ModelUomFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`uom.${ModelUomFields.isdelete}`]: \"isdelete\",\n [`uom.${ModelUomFields.istrash}`]: \"istrash\",\n [`uom.${ModelUomFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemUomService = (props: ItemUomServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const uomModel = UomModel({ ...rest })\n\n const createUom = async ({ data }: ItemUomCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create uom payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await uomModel.create({ data: _data })\n\n return response\n }\n\n const updateUom = async ({ uomId, data }: ItemUomUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update uom payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await uomModel.update({ where: { [`${ModelUomFields.uom_id}`]: uomId }, data: _data })\n\n return response\n }\n\n const getUom = async ({ id, datatypes = [] }: ItemUomGetProps) => {\n\n let { data } = await listUoms({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelUomFields.uom_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelUomFields.uom_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listUoms = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemUomListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(uom.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"uom\", \"users\", \"creator\", [\"uom.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"uom\", \"users\", \"updater\", [\"uom.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(uomDataTypes.uomInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"uom\")\n\n const uomInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n // const uomInjectionFieldSqlSelect = activeInjectionFields.reduce((acc, col) => {\n // acc[`iif.${col}`] = `${col}`;\n // return acc;\n // }, {} as Record<string, string>);\n\n filterColumns = { ...filterColumns, ...uomInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, uomInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"uom\", \"item_injection_fields\", \"iif\", [\"uom.uom_id = iif.uom_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'uom'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(uomInjectionFieldSqlSelect)]\n }\n\n let sqlWhere = [\n `uom.isdelete = false`,\n `uom.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: \"uoms\",\n mainAlias: \"uom\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await uomModel.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 removeUoms = async ({ uomIds }: ItemUomRemoveProps) => {\n\n if (!uomIds.length) throwError('uomIds is required');\n\n const response = await uomModel.remove({ where: { [`${ModelUomFields.uom_id}`]: { in: uomIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(uomDataTypes);\n }\n\n return {\n createUom,\n updateUom,\n getUom,\n listUoms,\n removeUoms,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"ItemUomService.js","sourceRoot":"","sources":["../../../src/services/item/ItemUomService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ModelUomFields,\n UomModel\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 ItemType = \"uom\"\n\nexport const uomDataTypes = {\n uomInjectionFields: \"uom_injection_fields\"\n}\n\nexport type ItemUomDataType = keyof typeof uomDataTypes;\n\nexport type ItemUomServiceProps = DefaultServiceProps & {};\n\nexport type ItemUomGetProps = {\n id: number,\n datatypes: ItemUomDataType[]\n};\n\nexport type ItemUomListProps = QueryList & {\n datatypes: ItemUomDataType[]\n};\n\nexport type ItemUomRemoveProps = {\n uomIds: BigInt[]\n};\n\ntype ItemUomMetricType = \"weight\" | \"unit\" | \"volumn\"\n\nexport type ItemUomCreateProps = {\n data:\n // uom\n {\n uom: {\n name: string,\n description: string,\n metricType: ItemUomMetricType\n metricTypeDisplayName: string\n decimalDigit: number\n status: boolean\n }\n }\n}\n\nexport type ItemUomUpdateProps = {\n uomId: number,\n data:\n // uom\n {\n uom: {\n name: string,\n description: string,\n metricType: ItemUomMetricType\n metricTypeDisplayName: string\n decimalDigit: number\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: ItemUomCreateProps[\"data\"]) => {\n\n if (\"uom\" in data) {\n\n return {\n [`${ModelUomFields.name}`]: data.uom.description,\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: data.uom.status ? 1 : 0,\n [`${ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,\n [`${ModelUomFields.metric_type}`]: data.uom.metricType,\n [`${ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemUomUpdateProps[\"data\"]) => {\n\n if (\"uom\" in data) {\n\n return {\n [`${ModelUomFields.name}`]: data.uom.description,\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: data.uom.status ? 1 : 0,\n [`${ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,\n [`${ModelUomFields.metric_type}`]: data.uom.metricType,\n [`${ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`uom.${ModelUomFields.uom_id}`]: \"uom_id\",\n [`uom.${ModelUomFields.description}`]: \"description\",\n [`uom.${ModelUomFields.name}`]: \"name\",\n [`uom.${ModelUomFields.status}`]: \"status\",\n [`uom.${ModelUomFields.metric_type}`]: \"metric_type\",\n [`uom.${ModelUomFields.metric_type_display_name}`]: \"metric_type_display_name\",\n [`uom.${ModelUomFields.decimal_digit}`]: \"decimal_digit\",\n}\n\nlet defaultSqlSelect = {\n [`uom.${ModelUomFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`uom.${ModelUomFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`uom.${ModelUomFields.isdelete}`]: \"isdelete\",\n [`uom.${ModelUomFields.istrash}`]: \"istrash\",\n [`uom.${ModelUomFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemUomService = (props: ItemUomServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const uomModel = UomModel({ ...rest })\n\n const createUom = async ({ data }: ItemUomCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create uom payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await uomModel.create({ data: _data })\n\n return response\n }\n\n const updateUom = async ({ uomId, data }: ItemUomUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update uom payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await uomModel.update({ where: { [`${ModelUomFields.uom_id}`]: uomId }, data: _data })\n\n return response\n }\n\n const getUom = async ({ id, datatypes = [] }: ItemUomGetProps) => {\n\n let { data } = await listUoms({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelUomFields.uom_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelUomFields.uom_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listUoms = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemUomListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"uom\", \"users\", \"creator\", [\"uom.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"uom\", \"users\", \"updater\", [\"uom.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(uomDataTypes.uomInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"uom\")\n\n const uomInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n // const uomInjectionFieldSqlSelect = activeInjectionFields.reduce((acc, col) => {\n // acc[`iif.${col}`] = `${col}`;\n // return acc;\n // }, {} as Record<string, string>);\n\n filterColumns = { ...filterColumns, ...uomInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, uomInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"uom\", \"item_injection_fields\", \"iif\", [\"uom.uom_id = iif.uom_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'uom'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(uomInjectionFieldSqlSelect)]\n }\n\n let sqlWhere = [\n `uom.isdelete = false`,\n `uom.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: \"uoms\",\n mainAlias: \"uom\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await uomModel.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 removeUoms = async ({ uomIds }: ItemUomRemoveProps) => {\n\n if (!uomIds.length) throwError('uomIds is required');\n\n const response = await uomModel.remove({ where: { [`${ModelUomFields.uom_id}`]: { in: uomIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(uomDataTypes);\n }\n\n return {\n createUom,\n updateUom,\n getUom,\n listUoms,\n removeUoms,\n getDataTypes\n }\n\n}\n\n"]}
@@ -118,7 +118,7 @@ const LocationLocationService = (props) => {
118
118
  const listLocations = async ({ limit, offset, filters, sortfield, sortorder, datatypes = [] }) => {
119
119
  let data = [];
120
120
  let sqlSelect = [
121
- `COUNT(locc.*) OVER() as filtered_count`,
121
+ `COUNT(*) OVER() as filtered_count`,
122
122
  (0, lib_1.buildSqlSelect)(``, mainSqlSelect),
123
123
  (0, lib_1.buildSqlSelect)(``, regionSqlSelect),
124
124
  (0, lib_1.buildSqlSelect)(``, defaultSqlSelect)
@@ -1 +1 @@
1
- {"version":3,"file":"LocationLocationService.js","sourceRoot":"","sources":["../../../src/services/location/LocationLocationService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationModel,\n ModelLocationFields,\n ModelCountryFields,\n ModelStateFields,\n ModelAreaFields,\n ModelLocationRackFields,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"location\"\n\nexport const locationLocationDataTypes = {\n rackSlot: \"rack_slot\",\n // branch: \"branch\",\n // locationArea: \"location_area\",\n zoneCount: \"zone_count\",\n rackCount: \"rack_count\"\n}\n\nexport type LocationLocationDataType = keyof typeof locationLocationDataTypes;\n\nexport type LocationLocationServiceProps = DefaultServiceProps & {};\n\nexport type LocationLocationGetProps = QueryGet & {\n id: number,\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationListProps = QueryList & {\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationRemoveProps = {\n locationIds: BigInt[]\n};\n\nexport type LocationLocationCreateProps = {\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nexport type LocationLocationUpdateProps = {\n locationId: number,\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n // area: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationLocationCreateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: LocationLocationUpdateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locc.${ModelLocationFields.location_id}`]: \"location_id\",\n [`locc.${ModelLocationFields.location_code}`]: \"location_code\",\n [`locc.${ModelLocationFields.location_name}`]: \"location_name\",\n [`locc.${ModelLocationFields.location_type}`]: \"location_type\",\n [`locc.${ModelLocationFields.address_1}`]: \"address_1\",\n [`locc.${ModelLocationFields.address_2}`]: \"address_2\",\n [`locc.${ModelLocationFields.postcode}`]: \"postcode\",\n [`locc.${ModelLocationFields.area_id}`]: \"area_id\",\n [`locc.${ModelLocationFields.state_id}`]: \"state_id\",\n [`locc.${ModelLocationFields.country_id}`]: \"country_id\",\n [`locc.${ModelLocationFields.status}`]: \"status\",\n [`locc.${ModelLocationFields.is_default}`]: \"is_default\",\n [`locc.${ModelLocationFields.person_contact}`]: \"person_contact\",\n [`locc.${ModelLocationFields.person_email}`]: \"person_email\",\n [`locc.${ModelLocationFields.person_name}`]: \"person_name\",\n}\n\nlet regionSqlSelect = {\n [`ctry.${ModelCountryFields.country_name}`]: \"country_name\",\n [`state.${ModelStateFields.state_name}`]: \"state_name\",\n [`area.${ModelAreaFields.area_name}`]: \"area_name\",\n}\n\nlet defaultSqlSelect = {\n [`locc.${ModelLocationFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locc.${ModelLocationFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locc.${ModelLocationFields.isdelete}`]: \"isdelete\",\n [`locc.${ModelLocationFields.istrash}`]: \"istrash\",\n [`locc.${ModelLocationFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationLocationService = (props: LocationLocationServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const locationModel = LocationModel({ ...rest })\n\n const createLocation = async ({ data }: LocationLocationCreateProps) => {\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 locationModel.create({ data: _data })\n\n return response\n }\n\n const updateLocation = async ({ locationId, data }: LocationLocationUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.update({ where: { [`${ModelLocationFields.location_id}`]: locationId }, data: _data })\n\n return response\n }\n\n const getLocation = async ({ id, datatypes = [] }: LocationLocationGetProps) => {\n\n let { data } = await listLocations({\n limit: 1,\n offset: 0,\n filters: [{ field: \"location_id\", operator: \"=\", value: id }],\n sortfield: \"location_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocations = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: LocationLocationListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(locc.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, regionSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locc\", \"countries\", \"ctry\", [\"locc.country_id = ctry.country_id\", \"ctry.isdelete = false\", \"ctry.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"states\", \"state\", [\"locc.state_id = state.state_id\", \"state.isdelete = false\", \"state.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"areas\", \"area\", [\"locc.area_id = area.area_id\", \"area.isdelete = false\", \"area.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"creator\", [\"locc.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"updater\", [\"locc.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(regionSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...regionSqlSelect, ...defaultSqlSelect }\n\n // if (datatypes.includes(locationLocationDataTypes.customerInjectionFields)) {\n\n // let injectionFieldSqlSelect = {\n // [`uip.usr_cust_cust_qty`]: \"inf_usr_cust_cust_qty\",\n // // [`uip.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`uip.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`uip.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`uip.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`uip.${ModelUserFields.contact}`]: \"contact\",\n // // [`uip.${ModelUserFields.email}`]: \"email\",\n // }\n\n // filterColumns = { ...filterColumns, ...injectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, injectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"user_injection_fields\", \"uip\", [\"locc.user_id = uip.user_id\", \"uip.field_ref = 'user'\", \"uip.isdelete = false\", \"uip.istrash = false\"])]\n // sqlGroupBy = [...sqlGroupBy, ...Object.keys(injectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(locationLocationDataTypes.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\", \"locc\", \"branches\", \"brn\", [\"locc.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(locationLocationDataTypes.rackSlot)) {\n\n let rackSlotSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationRackFields.is_default}', loccrack1.is_default,\n '${ModelLocationRackFields.status}', loccrack1.status,\n '${ModelLocationRackFields.location_rack_id}', loccrack1.location_rack_id,\n '${ModelLocationRackFields.rack_name}', loccrack1.rack_name,\n '${ModelLocationRackFields.rack_sequence}', loccrack1.rack_sequence,\n '${ModelLocationRackFields.rack_type}', loccrack1.rack_type,\n 'slots', COALESCE(\n (\n SELECT JSON_AGG(\n JSONB_BUILD_OBJECT(\n '${ModelLocationSlotFields.location_slot_id}', loccslot1.location_slot_id,\n '${ModelLocationSlotFields.rack_id}', loccslot1.rack_id,\n '${ModelLocationSlotFields.slot_name}', loccslot1.slot_name,\n '${ModelLocationSlotFields.slot_sequence}', loccslot1.slot_sequence,\n '${ModelLocationSlotFields.status}', loccslot1.status,\n '${ModelLocationSlotFields.is_default}', loccslot1.is_default\n )\n )\n FROM location_slots loccslot1\n WHERE loccslot1.rack_id = loccrack1.location_rack_id\n AND loccslot1.isdelete = false\n AND loccslot1.istrash = false\n ), '[]'::json\n )\n )\n ) FILTER (WHERE loccrack1.location_rack_id IS NOT NULL AND loccrack1.isdelete = false AND loccrack1.istrash = false), \n '[]'\n )`]: \"racks\"\n }\n\n filterColumns = { ...filterColumns, ...rackSlotSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, rackSlotSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack1\", [\"locc.location_id = loccrack1.location_id\", \"loccrack1.isdelete = false\", \"loccrack1.istrash = false\"])]\n\n }\n\n if (datatypes.includes(locationLocationDataTypes.rackCount)) {\n\n let zoneCountSqlSelect = {\n [`COUNT(DISTINCT loccrack.${ModelLocationRackFields.location_rack_id})::INT`]: \"rack_count\"\n }\n\n filterColumns = { ...filterColumns, ...zoneCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, zoneCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack\", [\"locc.location_id = loccrack.location_id\", \"loccrack.isdelete = false\", \"loccrack.istrash = false\"])]\n\n }\n\n let sqlWhere = [\n `locc.isdelete = false`,\n `locc.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: \"locations\",\n mainAlias: \"locc\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationModel.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 removeLocations = async ({ locationIds }: LocationLocationRemoveProps) => {\n\n if (!locationIds.length) throwError('locationIds is required');\n\n const response = await locationModel.remove({ where: { [`${ModelLocationFields.location_id}`]: { in: locationIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationLocationDataTypes);\n }\n\n return {\n createLocation,\n updateLocation,\n getLocation,\n listLocations,\n removeLocations,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"LocationLocationService.js","sourceRoot":"","sources":["../../../src/services/location/LocationLocationService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationModel,\n ModelLocationFields,\n ModelCountryFields,\n ModelStateFields,\n ModelAreaFields,\n ModelLocationRackFields,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"location\"\n\nexport const locationLocationDataTypes = {\n rackSlot: \"rack_slot\",\n // branch: \"branch\",\n // locationArea: \"location_area\",\n zoneCount: \"zone_count\",\n rackCount: \"rack_count\"\n}\n\nexport type LocationLocationDataType = keyof typeof locationLocationDataTypes;\n\nexport type LocationLocationServiceProps = DefaultServiceProps & {};\n\nexport type LocationLocationGetProps = QueryGet & {\n id: number,\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationListProps = QueryList & {\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationRemoveProps = {\n locationIds: BigInt[]\n};\n\nexport type LocationLocationCreateProps = {\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nexport type LocationLocationUpdateProps = {\n locationId: number,\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n // area: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationLocationCreateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: LocationLocationUpdateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locc.${ModelLocationFields.location_id}`]: \"location_id\",\n [`locc.${ModelLocationFields.location_code}`]: \"location_code\",\n [`locc.${ModelLocationFields.location_name}`]: \"location_name\",\n [`locc.${ModelLocationFields.location_type}`]: \"location_type\",\n [`locc.${ModelLocationFields.address_1}`]: \"address_1\",\n [`locc.${ModelLocationFields.address_2}`]: \"address_2\",\n [`locc.${ModelLocationFields.postcode}`]: \"postcode\",\n [`locc.${ModelLocationFields.area_id}`]: \"area_id\",\n [`locc.${ModelLocationFields.state_id}`]: \"state_id\",\n [`locc.${ModelLocationFields.country_id}`]: \"country_id\",\n [`locc.${ModelLocationFields.status}`]: \"status\",\n [`locc.${ModelLocationFields.is_default}`]: \"is_default\",\n [`locc.${ModelLocationFields.person_contact}`]: \"person_contact\",\n [`locc.${ModelLocationFields.person_email}`]: \"person_email\",\n [`locc.${ModelLocationFields.person_name}`]: \"person_name\",\n}\n\nlet regionSqlSelect = {\n [`ctry.${ModelCountryFields.country_name}`]: \"country_name\",\n [`state.${ModelStateFields.state_name}`]: \"state_name\",\n [`area.${ModelAreaFields.area_name}`]: \"area_name\",\n}\n\nlet defaultSqlSelect = {\n [`locc.${ModelLocationFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locc.${ModelLocationFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locc.${ModelLocationFields.isdelete}`]: \"isdelete\",\n [`locc.${ModelLocationFields.istrash}`]: \"istrash\",\n [`locc.${ModelLocationFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationLocationService = (props: LocationLocationServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const locationModel = LocationModel({ ...rest })\n\n const createLocation = async ({ data }: LocationLocationCreateProps) => {\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 locationModel.create({ data: _data })\n\n return response\n }\n\n const updateLocation = async ({ locationId, data }: LocationLocationUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.update({ where: { [`${ModelLocationFields.location_id}`]: locationId }, data: _data })\n\n return response\n }\n\n const getLocation = async ({ id, datatypes = [] }: LocationLocationGetProps) => {\n\n let { data } = await listLocations({\n limit: 1,\n offset: 0,\n filters: [{ field: \"location_id\", operator: \"=\", value: id }],\n sortfield: \"location_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocations = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: LocationLocationListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, regionSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locc\", \"countries\", \"ctry\", [\"locc.country_id = ctry.country_id\", \"ctry.isdelete = false\", \"ctry.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"states\", \"state\", [\"locc.state_id = state.state_id\", \"state.isdelete = false\", \"state.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"areas\", \"area\", [\"locc.area_id = area.area_id\", \"area.isdelete = false\", \"area.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"creator\", [\"locc.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"updater\", [\"locc.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(regionSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...regionSqlSelect, ...defaultSqlSelect }\n\n // if (datatypes.includes(locationLocationDataTypes.customerInjectionFields)) {\n\n // let injectionFieldSqlSelect = {\n // [`uip.usr_cust_cust_qty`]: \"inf_usr_cust_cust_qty\",\n // // [`uip.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`uip.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`uip.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`uip.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`uip.${ModelUserFields.contact}`]: \"contact\",\n // // [`uip.${ModelUserFields.email}`]: \"email\",\n // }\n\n // filterColumns = { ...filterColumns, ...injectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, injectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"user_injection_fields\", \"uip\", [\"locc.user_id = uip.user_id\", \"uip.field_ref = 'user'\", \"uip.isdelete = false\", \"uip.istrash = false\"])]\n // sqlGroupBy = [...sqlGroupBy, ...Object.keys(injectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(locationLocationDataTypes.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\", \"locc\", \"branches\", \"brn\", [\"locc.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(locationLocationDataTypes.rackSlot)) {\n\n let rackSlotSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationRackFields.is_default}', loccrack1.is_default,\n '${ModelLocationRackFields.status}', loccrack1.status,\n '${ModelLocationRackFields.location_rack_id}', loccrack1.location_rack_id,\n '${ModelLocationRackFields.rack_name}', loccrack1.rack_name,\n '${ModelLocationRackFields.rack_sequence}', loccrack1.rack_sequence,\n '${ModelLocationRackFields.rack_type}', loccrack1.rack_type,\n 'slots', COALESCE(\n (\n SELECT JSON_AGG(\n JSONB_BUILD_OBJECT(\n '${ModelLocationSlotFields.location_slot_id}', loccslot1.location_slot_id,\n '${ModelLocationSlotFields.rack_id}', loccslot1.rack_id,\n '${ModelLocationSlotFields.slot_name}', loccslot1.slot_name,\n '${ModelLocationSlotFields.slot_sequence}', loccslot1.slot_sequence,\n '${ModelLocationSlotFields.status}', loccslot1.status,\n '${ModelLocationSlotFields.is_default}', loccslot1.is_default\n )\n )\n FROM location_slots loccslot1\n WHERE loccslot1.rack_id = loccrack1.location_rack_id\n AND loccslot1.isdelete = false\n AND loccslot1.istrash = false\n ), '[]'::json\n )\n )\n ) FILTER (WHERE loccrack1.location_rack_id IS NOT NULL AND loccrack1.isdelete = false AND loccrack1.istrash = false), \n '[]'\n )`]: \"racks\"\n }\n\n filterColumns = { ...filterColumns, ...rackSlotSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, rackSlotSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack1\", [\"locc.location_id = loccrack1.location_id\", \"loccrack1.isdelete = false\", \"loccrack1.istrash = false\"])]\n\n }\n\n if (datatypes.includes(locationLocationDataTypes.rackCount)) {\n\n let zoneCountSqlSelect = {\n [`COUNT(DISTINCT loccrack.${ModelLocationRackFields.location_rack_id})::INT`]: \"rack_count\"\n }\n\n filterColumns = { ...filterColumns, ...zoneCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, zoneCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack\", [\"locc.location_id = loccrack.location_id\", \"loccrack.isdelete = false\", \"loccrack.istrash = false\"])]\n\n }\n\n let sqlWhere = [\n `locc.isdelete = false`,\n `locc.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: \"locations\",\n mainAlias: \"locc\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationModel.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 removeLocations = async ({ locationIds }: LocationLocationRemoveProps) => {\n\n if (!locationIds.length) throwError('locationIds is required');\n\n const response = await locationModel.remove({ where: { [`${ModelLocationFields.location_id}`]: { in: locationIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationLocationDataTypes);\n }\n\n return {\n createLocation,\n updateLocation,\n getLocation,\n listLocations,\n removeLocations,\n getDataTypes\n }\n\n}\n\n"]}
@@ -111,7 +111,7 @@ const LocationRackService = (props) => {
111
111
  }) => {
112
112
  let data = [];
113
113
  let sqlSelect = [
114
- `COUNT(locr.*) OVER() as filtered_count`,
114
+ `COUNT(*) OVER() as filtered_count`,
115
115
  (0, lib_1.buildSqlSelect)(``, mainSqlSelect),
116
116
  (0, lib_1.buildSqlSelect)(``, locationSqlSelect),
117
117
  (0, lib_1.buildSqlSelect)(``, locationSlotSqlSelect),
@@ -1 +1 @@
1
- {"version":3,"file":"LocationRackService.js","sourceRoot":"","sources":["../../../src/services/location/LocationRackService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationRackModel,\n ModelLocationRackFields,\n ModelLocationFields,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"rack\"\n\nexport const locationRackDataTypes = {\n}\n\n// export type LocationRackDataType = keyof typeof locationRackDataTypes;\n\nexport type LocationRackServiceProps = DefaultServiceProps & {};\n\nexport type LocationRackGetProps = Omit<QueryGet, \"datatypes\"> & {\n id: number,\n // datatypes: LocationRackDataType[]\n};\n\nexport type LocationRackListProps = Omit<QueryList, \"datatypes\"> & {\n // datatypes: LocationRackDataType[]\n};\n\nexport type LocationRackRemoveProps = {\n locationRackIds: BigInt[]\n};\n\nexport type LocationRackCreateProps = {\n data:\n // rack\n {\n rack: {\n // rackId: number\n locationId: number\n isDefault: boolean\n rackName: string\n rackSequence: number\n rackType: \"normal\" | \"reserve\"\n status: boolean\n }\n }\n}\n\nexport type LocationRackUpdateProps = {\n locationRackId: number,\n data:\n // rack\n {\n rack: {\n // rackId: number,\n // locationId: number\n isDefault: boolean\n rackName: string\n rackSequence: number\n rackType: \"normal\" | \"reserve\"\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationRackCreateProps[\"data\"]) => {\n\n if (\"rack\" in data) {\n\n return {\n [`${ModelLocationRackFields.is_default}`]: Boolean(data.rack.isDefault),\n [`${ModelLocationRackFields.location_id}`]: data.rack.locationId,\n [`${ModelLocationRackFields.rack_name}`]: data.rack.rackName,\n [`${ModelLocationRackFields.rack_sequence}`]: data.rack.rackSequence,\n [`${ModelLocationRackFields.rack_type}`]: data.rack.rackType,\n [`${ModelLocationRackFields.status}`]: Boolean(data.rack.status),\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: LocationRackUpdateProps[\"data\"]) => {\n\n if (\"rack\" in data) {\n\n return {\n // [`${ModelLocationRackFields.location_id}`]: data.rack.locationId,\n [`${ModelLocationRackFields.is_default}`]: Boolean(data.rack.isDefault),\n [`${ModelLocationRackFields.rack_name}`]: data.rack.rackName,\n [`${ModelLocationRackFields.rack_sequence}`]: data.rack.rackSequence,\n [`${ModelLocationRackFields.rack_type}`]: data.rack.rackType,\n [`${ModelLocationRackFields.status}`]: Boolean(data.rack.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locr.${ModelLocationRackFields.location_rack_id}`]: \"location_rack_id\",\n [`locr.${ModelLocationRackFields.is_default}`]: \"is_default\",\n [`locr.${ModelLocationRackFields.location_id}`]: \"location_id\",\n [`locr.${ModelLocationRackFields.rack_name}`]: \"rack_name\",\n [`locr.${ModelLocationRackFields.rack_sequence}`]: \"rack_sequence\",\n [`locr.${ModelLocationRackFields.rack_type}`]: \"rack_type\",\n [`locr.${ModelLocationRackFields.status}`]: \"status\"\n}\n\nlet locationSqlSelect = {\n [`locc.${ModelLocationFields.location_code}`]: \"location_code\",\n [`locc.${ModelLocationFields.location_name}`]: \"location_name\",\n [`locc.${ModelLocationFields.location_type}`]: \"location_type\",\n}\n\nlet locationSlotSqlSelect = {\n [`COALESCE(\n STRING_AGG(locslot.${ModelLocationSlotFields.slot_name}::text, ', '),\n ''\n )`]: \"slots_lbl\",\n [`COALESCE(\n STRING_AGG(locslot.${ModelLocationSlotFields.location_slot_id}::text, ', '),\n ''\n )`]: \"slots_ids\",\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationSlotFields.location_slot_id}', locslot.location_slot_id,\n '${ModelLocationSlotFields.rack_id}', locslot.rack_id,\n '${ModelLocationSlotFields.slot_name}', locslot.slot_name,\n '${ModelLocationSlotFields.slot_sequence}', locslot.slot_sequence,\n '${ModelLocationSlotFields.status}', locslot.status\n )\n ) FILTER (WHERE locslot.rack_id IS NOT NULL AND locslot.isdelete = false AND locslot.istrash = false), \n '[]'\n )`]: \"slots\"\n}\n\nlet defaultSqlSelect = {\n [`locr.${ModelLocationRackFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locr.${ModelLocationRackFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locr.${ModelLocationRackFields.isdelete}`]: \"isdelete\",\n [`locr.${ModelLocationRackFields.istrash}`]: \"istrash\",\n [`locr.${ModelLocationRackFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationRackService = (props: LocationRackServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const locationRackModel = LocationRackModel({ ...rest })\n\n const createLocationRack = async ({ data }: LocationRackCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create location rack payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationRackModel.create({ data: _data })\n\n return response\n }\n\n const updateLocationRack = async ({ locationRackId, data }: LocationRackUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location rack payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationRackModel.update({ where: { [`${ModelLocationRackFields.location_rack_id}`]: locationRackId }, data: _data })\n\n return response\n }\n\n const getLocationRack = async ({ id }: LocationRackGetProps) => {\n\n let { data } = await listLocationRacks({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelLocationRackFields.location_rack_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelLocationRackFields.location_rack_id}`,\n sortorder: \"ASC\",\n // datatypes: []\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocationRacks = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n // datatypes = []\n }: LocationRackListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(locr.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, locationSqlSelect),\n buildSqlSelect(``, locationSlotSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locr\", \"locations\", \"locc\", [\"locr.location_id = locc.location_id\", \"locc.isdelete = false\", \"locc.istrash = false\"]),\n buildSqlRelation(\"left\", \"locr\", \"location_slots\", \"locslot\", [\"locr.location_rack_id = locslot.rack_id\", \"locslot.isdelete = false\", \"locslot.istrash = false\"]),\n buildSqlRelation(\"left\", \"locr\", \"users\", \"creator\", [\"locr.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locr\", \"users\", \"updater\", [\"locr.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(locationSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...locationSqlSelect, ...defaultSqlSelect }\n\n let sqlWhere = [\n `locr.isdelete = false`,\n `locr.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: \"location_racks\",\n mainAlias: \"locr\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationRackModel.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 removeLocationRacks = async ({ locationRackIds }: LocationRackRemoveProps) => {\n\n if (!locationRackIds.length) throwError('locationRackIds is required');\n\n const response = await locationRackModel.remove({ where: { [`${ModelLocationRackFields.location_rack_id}`]: { in: locationRackIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationRackDataTypes);\n }\n\n return {\n createLocationRack,\n updateLocationRack,\n getLocationRack,\n listLocationRacks,\n removeLocationRacks,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"LocationRackService.js","sourceRoot":"","sources":["../../../src/services/location/LocationRackService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationRackModel,\n ModelLocationRackFields,\n ModelLocationFields,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"rack\"\n\nexport const locationRackDataTypes = {\n}\n\n// export type LocationRackDataType = keyof typeof locationRackDataTypes;\n\nexport type LocationRackServiceProps = DefaultServiceProps & {};\n\nexport type LocationRackGetProps = Omit<QueryGet, \"datatypes\"> & {\n id: number,\n // datatypes: LocationRackDataType[]\n};\n\nexport type LocationRackListProps = Omit<QueryList, \"datatypes\"> & {\n // datatypes: LocationRackDataType[]\n};\n\nexport type LocationRackRemoveProps = {\n locationRackIds: BigInt[]\n};\n\nexport type LocationRackCreateProps = {\n data:\n // rack\n {\n rack: {\n // rackId: number\n locationId: number\n isDefault: boolean\n rackName: string\n rackSequence: number\n rackType: \"normal\" | \"reserve\"\n status: boolean\n }\n }\n}\n\nexport type LocationRackUpdateProps = {\n locationRackId: number,\n data:\n // rack\n {\n rack: {\n // rackId: number,\n // locationId: number\n isDefault: boolean\n rackName: string\n rackSequence: number\n rackType: \"normal\" | \"reserve\"\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationRackCreateProps[\"data\"]) => {\n\n if (\"rack\" in data) {\n\n return {\n [`${ModelLocationRackFields.is_default}`]: Boolean(data.rack.isDefault),\n [`${ModelLocationRackFields.location_id}`]: data.rack.locationId,\n [`${ModelLocationRackFields.rack_name}`]: data.rack.rackName,\n [`${ModelLocationRackFields.rack_sequence}`]: data.rack.rackSequence,\n [`${ModelLocationRackFields.rack_type}`]: data.rack.rackType,\n [`${ModelLocationRackFields.status}`]: Boolean(data.rack.status),\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: LocationRackUpdateProps[\"data\"]) => {\n\n if (\"rack\" in data) {\n\n return {\n // [`${ModelLocationRackFields.location_id}`]: data.rack.locationId,\n [`${ModelLocationRackFields.is_default}`]: Boolean(data.rack.isDefault),\n [`${ModelLocationRackFields.rack_name}`]: data.rack.rackName,\n [`${ModelLocationRackFields.rack_sequence}`]: data.rack.rackSequence,\n [`${ModelLocationRackFields.rack_type}`]: data.rack.rackType,\n [`${ModelLocationRackFields.status}`]: Boolean(data.rack.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locr.${ModelLocationRackFields.location_rack_id}`]: \"location_rack_id\",\n [`locr.${ModelLocationRackFields.is_default}`]: \"is_default\",\n [`locr.${ModelLocationRackFields.location_id}`]: \"location_id\",\n [`locr.${ModelLocationRackFields.rack_name}`]: \"rack_name\",\n [`locr.${ModelLocationRackFields.rack_sequence}`]: \"rack_sequence\",\n [`locr.${ModelLocationRackFields.rack_type}`]: \"rack_type\",\n [`locr.${ModelLocationRackFields.status}`]: \"status\"\n}\n\nlet locationSqlSelect = {\n [`locc.${ModelLocationFields.location_code}`]: \"location_code\",\n [`locc.${ModelLocationFields.location_name}`]: \"location_name\",\n [`locc.${ModelLocationFields.location_type}`]: \"location_type\",\n}\n\nlet locationSlotSqlSelect = {\n [`COALESCE(\n STRING_AGG(locslot.${ModelLocationSlotFields.slot_name}::text, ', '),\n ''\n )`]: \"slots_lbl\",\n [`COALESCE(\n STRING_AGG(locslot.${ModelLocationSlotFields.location_slot_id}::text, ', '),\n ''\n )`]: \"slots_ids\",\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationSlotFields.location_slot_id}', locslot.location_slot_id,\n '${ModelLocationSlotFields.rack_id}', locslot.rack_id,\n '${ModelLocationSlotFields.slot_name}', locslot.slot_name,\n '${ModelLocationSlotFields.slot_sequence}', locslot.slot_sequence,\n '${ModelLocationSlotFields.status}', locslot.status\n )\n ) FILTER (WHERE locslot.rack_id IS NOT NULL AND locslot.isdelete = false AND locslot.istrash = false), \n '[]'\n )`]: \"slots\"\n}\n\nlet defaultSqlSelect = {\n [`locr.${ModelLocationRackFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locr.${ModelLocationRackFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locr.${ModelLocationRackFields.isdelete}`]: \"isdelete\",\n [`locr.${ModelLocationRackFields.istrash}`]: \"istrash\",\n [`locr.${ModelLocationRackFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationRackService = (props: LocationRackServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const locationRackModel = LocationRackModel({ ...rest })\n\n const createLocationRack = async ({ data }: LocationRackCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create location rack payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationRackModel.create({ data: _data })\n\n return response\n }\n\n const updateLocationRack = async ({ locationRackId, data }: LocationRackUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location rack payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationRackModel.update({ where: { [`${ModelLocationRackFields.location_rack_id}`]: locationRackId }, data: _data })\n\n return response\n }\n\n const getLocationRack = async ({ id }: LocationRackGetProps) => {\n\n let { data } = await listLocationRacks({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelLocationRackFields.location_rack_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelLocationRackFields.location_rack_id}`,\n sortorder: \"ASC\",\n // datatypes: []\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocationRacks = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n // datatypes = []\n }: LocationRackListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, locationSqlSelect),\n buildSqlSelect(``, locationSlotSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locr\", \"locations\", \"locc\", [\"locr.location_id = locc.location_id\", \"locc.isdelete = false\", \"locc.istrash = false\"]),\n buildSqlRelation(\"left\", \"locr\", \"location_slots\", \"locslot\", [\"locr.location_rack_id = locslot.rack_id\", \"locslot.isdelete = false\", \"locslot.istrash = false\"]),\n buildSqlRelation(\"left\", \"locr\", \"users\", \"creator\", [\"locr.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locr\", \"users\", \"updater\", [\"locr.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(locationSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...locationSqlSelect, ...defaultSqlSelect }\n\n let sqlWhere = [\n `locr.isdelete = false`,\n `locr.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: \"location_racks\",\n mainAlias: \"locr\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationRackModel.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 removeLocationRacks = async ({ locationRackIds }: LocationRackRemoveProps) => {\n\n if (!locationRackIds.length) throwError('locationRackIds is required');\n\n const response = await locationRackModel.remove({ where: { [`${ModelLocationRackFields.location_rack_id}`]: { in: locationRackIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationRackDataTypes);\n }\n\n return {\n createLocationRack,\n updateLocationRack,\n getLocationRack,\n listLocationRacks,\n removeLocationRacks,\n getDataTypes\n }\n\n}\n\n"]}
@@ -81,7 +81,7 @@ const LocationSlotService = (props) => {
81
81
  }) => {
82
82
  let data = [];
83
83
  let sqlSelect = [
84
- `COUNT(locslot.*) OVER() as filtered_count`,
84
+ `COUNT(*) OVER() as filtered_count`,
85
85
  (0, lib_1.buildSqlSelect)(``, mainSqlSelect),
86
86
  (0, lib_1.buildSqlSelect)(``, defaultSqlSelect)
87
87
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"LocationSlotService.js","sourceRoot":"","sources":["../../../src/services/location/LocationSlotService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationSlotModel,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"slot\"\n\nexport const locationSlotDataTypes = {\n}\n\n// export type LocationSlotDataType = keyof typeof locationSlotDataTypes;\n\nexport type LocationSlotServiceProps = DefaultServiceProps & {};\n\nexport type LocationSlotGetProps = Omit<QueryGet, \"datatypes\"> & {\n id: number,\n // datatypes: LocationSlotDataType[]\n};\n\nexport type LocationSlotListProps = Omit<QueryList, \"datatypes\"> & {\n // datatypes: LocationSlotDataType[]\n};\n\nexport type LocationSlotRemoveProps = {\n locationSlotIds: BigInt[]\n};\n\nexport type LocationSlotCreateProps = {\n data:\n // slot\n {\n slot: {\n rackId: number\n slotName: string\n slotSequence: number\n isDefault: boolean\n status: boolean\n }\n }\n}\n\nexport type LocationSlotUpdateProps = {\n locationSlotId: number,\n data:\n // slot\n {\n slot: {\n // rackId: number\n locationSlotId?: number,\n isDefault: boolean\n slotName: string\n slotSequence: number\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationSlotCreateProps[\"data\"]) => {\n\n if (\"slot\" in data) {\n\n return {\n [`${ModelLocationSlotFields.is_default}`]: Boolean(data.slot.isDefault),\n [`${ModelLocationSlotFields.rack_id}`]: data.slot.rackId,\n [`${ModelLocationSlotFields.slot_name}`]: data.slot.slotName,\n [`${ModelLocationSlotFields.slot_sequence}`]: data.slot.slotSequence,\n [`${ModelLocationSlotFields.status}`]: Boolean(data.slot.status)\n }\n }\n\n return false\n}\n\nconst getUpdatePayload = (data: LocationSlotUpdateProps[\"data\"]) => {\n\n if (\"slot\" in data) {\n\n return {\n // [`${ModelLocationSlotFields.rack_id}`]: data.slot.rackId,\n [`${ModelLocationSlotFields.is_default}`]: Boolean(data.slot.isDefault),\n [`${ModelLocationSlotFields.slot_name}`]: data.slot.slotName,\n [`${ModelLocationSlotFields.slot_sequence}`]: data.slot.slotSequence,\n [`${ModelLocationSlotFields.status}`]: Boolean(data.slot.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locslot.${ModelLocationSlotFields.location_slot_id}`]: \"location_slot_id\",\n [`locslot.${ModelLocationSlotFields.is_default}`]: \"is_default\",\n [`locslot.${ModelLocationSlotFields.rack_id}`]: \"rack_id\",\n [`locslot.${ModelLocationSlotFields.slot_name}`]: \"slot_name\",\n [`locslot.${ModelLocationSlotFields.slot_sequence}`]: \"slot_sequence\",\n [`locslot.${ModelLocationSlotFields.status}`]: \"status\"\n}\n\nlet defaultSqlSelect = {\n [`locslot.${ModelLocationSlotFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locslot.${ModelLocationSlotFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locslot.${ModelLocationSlotFields.isdelete}`]: \"isdelete\",\n [`locslot.${ModelLocationSlotFields.istrash}`]: \"istrash\",\n [`locslot.${ModelLocationSlotFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationSlotService = (props: LocationSlotServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const locationSlotModel = LocationSlotModel({ ...rest })\n\n const createLocationSlot = async ({ data }: LocationSlotCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create location slot payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationSlotModel.create({ data: _data })\n\n return response\n }\n\n const updateLocationSlot = async ({ locationSlotId, data }: LocationSlotUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location slot payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationSlotModel.update({ where: { [`${ModelLocationSlotFields.location_slot_id}`]: locationSlotId }, data: _data })\n\n return response\n }\n\n const getLocationSlot = async ({ id }: LocationSlotGetProps) => {\n\n let { data } = await listLocationSlots({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelLocationSlotFields.location_slot_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelLocationSlotFields.location_slot_id}`,\n sortorder: \"ASC\",\n // datatypes: []\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocationSlots = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n // datatypes = []\n }: LocationSlotListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(locslot.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locslot\", \"users\", \"creator\", [\"locslot.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locslot\", \"users\", \"updater\", [\"locslot.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...defaultSqlSelect }\n\n let sqlWhere = [\n `locslot.isdelete = false`,\n `locslot.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: \"location_slots\",\n mainAlias: \"locslot\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationSlotModel.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 removeLocationSlots = async ({ locationSlotIds }: LocationSlotRemoveProps) => {\n\n if (!locationSlotIds.length) throwError('locationSlotIds is required');\n\n const response = await locationSlotModel.remove({ where: { [`${ModelLocationSlotFields.location_slot_id}`]: { in: locationSlotIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationSlotDataTypes);\n }\n\n return {\n createLocationSlot,\n updateLocationSlot,\n getLocationSlot,\n listLocationSlots,\n removeLocationSlots,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"LocationSlotService.js","sourceRoot":"","sources":["../../../src/services/location/LocationSlotService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationSlotModel,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"slot\"\n\nexport const locationSlotDataTypes = {\n}\n\n// export type LocationSlotDataType = keyof typeof locationSlotDataTypes;\n\nexport type LocationSlotServiceProps = DefaultServiceProps & {};\n\nexport type LocationSlotGetProps = Omit<QueryGet, \"datatypes\"> & {\n id: number,\n // datatypes: LocationSlotDataType[]\n};\n\nexport type LocationSlotListProps = Omit<QueryList, \"datatypes\"> & {\n // datatypes: LocationSlotDataType[]\n};\n\nexport type LocationSlotRemoveProps = {\n locationSlotIds: BigInt[]\n};\n\nexport type LocationSlotCreateProps = {\n data:\n // slot\n {\n slot: {\n rackId: number\n slotName: string\n slotSequence: number\n isDefault: boolean\n status: boolean\n }\n }\n}\n\nexport type LocationSlotUpdateProps = {\n locationSlotId: number,\n data:\n // slot\n {\n slot: {\n // rackId: number\n locationSlotId?: number,\n isDefault: boolean\n slotName: string\n slotSequence: number\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationSlotCreateProps[\"data\"]) => {\n\n if (\"slot\" in data) {\n\n return {\n [`${ModelLocationSlotFields.is_default}`]: Boolean(data.slot.isDefault),\n [`${ModelLocationSlotFields.rack_id}`]: data.slot.rackId,\n [`${ModelLocationSlotFields.slot_name}`]: data.slot.slotName,\n [`${ModelLocationSlotFields.slot_sequence}`]: data.slot.slotSequence,\n [`${ModelLocationSlotFields.status}`]: Boolean(data.slot.status)\n }\n }\n\n return false\n}\n\nconst getUpdatePayload = (data: LocationSlotUpdateProps[\"data\"]) => {\n\n if (\"slot\" in data) {\n\n return {\n // [`${ModelLocationSlotFields.rack_id}`]: data.slot.rackId,\n [`${ModelLocationSlotFields.is_default}`]: Boolean(data.slot.isDefault),\n [`${ModelLocationSlotFields.slot_name}`]: data.slot.slotName,\n [`${ModelLocationSlotFields.slot_sequence}`]: data.slot.slotSequence,\n [`${ModelLocationSlotFields.status}`]: Boolean(data.slot.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locslot.${ModelLocationSlotFields.location_slot_id}`]: \"location_slot_id\",\n [`locslot.${ModelLocationSlotFields.is_default}`]: \"is_default\",\n [`locslot.${ModelLocationSlotFields.rack_id}`]: \"rack_id\",\n [`locslot.${ModelLocationSlotFields.slot_name}`]: \"slot_name\",\n [`locslot.${ModelLocationSlotFields.slot_sequence}`]: \"slot_sequence\",\n [`locslot.${ModelLocationSlotFields.status}`]: \"status\"\n}\n\nlet defaultSqlSelect = {\n [`locslot.${ModelLocationSlotFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locslot.${ModelLocationSlotFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locslot.${ModelLocationSlotFields.isdelete}`]: \"isdelete\",\n [`locslot.${ModelLocationSlotFields.istrash}`]: \"istrash\",\n [`locslot.${ModelLocationSlotFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationSlotService = (props: LocationSlotServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const locationSlotModel = LocationSlotModel({ ...rest })\n\n const createLocationSlot = async ({ data }: LocationSlotCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create location slot payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationSlotModel.create({ data: _data })\n\n return response\n }\n\n const updateLocationSlot = async ({ locationSlotId, data }: LocationSlotUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location slot payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationSlotModel.update({ where: { [`${ModelLocationSlotFields.location_slot_id}`]: locationSlotId }, data: _data })\n\n return response\n }\n\n const getLocationSlot = async ({ id }: LocationSlotGetProps) => {\n\n let { data } = await listLocationSlots({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelLocationSlotFields.location_slot_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelLocationSlotFields.location_slot_id}`,\n sortorder: \"ASC\",\n // datatypes: []\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocationSlots = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n // datatypes = []\n }: LocationSlotListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locslot\", \"users\", \"creator\", [\"locslot.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locslot\", \"users\", \"updater\", [\"locslot.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...defaultSqlSelect }\n\n let sqlWhere = [\n `locslot.isdelete = false`,\n `locslot.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: \"location_slots\",\n mainAlias: \"locslot\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationSlotModel.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 removeLocationSlots = async ({ locationSlotIds }: LocationSlotRemoveProps) => {\n\n if (!locationSlotIds.length) throwError('locationSlotIds is required');\n\n const response = await locationSlotModel.remove({ where: { [`${ModelLocationSlotFields.location_slot_id}`]: { in: locationSlotIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationSlotDataTypes);\n }\n\n return {\n createLocationSlot,\n updateLocationSlot,\n getLocationSlot,\n listLocationSlots,\n removeLocationSlots,\n getDataTypes\n }\n\n}\n\n"]}
@@ -112,7 +112,7 @@ const OneTimeCodeService = (props) => {
112
112
  const listOneTimeCodes = async ({ limit, offset, filters = [], sortfield, sortorder, datatypes = [], revealCode = false }) => {
113
113
  let data = [];
114
114
  let sqlSelect = [
115
- `COUNT(otp.*) OVER() as filtered_count`,
115
+ `COUNT(*) OVER() as filtered_count`,
116
116
  (0, lib_1.buildSqlSelect)(``, mainSqlSelect),
117
117
  ...(revealCode === true ? [(0, lib_1.buildSqlSelect)(``, mainCodeSqlSelect)] : []),
118
118
  (0, lib_1.buildSqlSelect)(``, defaultSqlSelect)