storemw-core-api 1.0.170 → 1.0.171
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +1 -1
- package/dist/app.js.map +1 -1
- package/dist/controllers/item/itemController.js +22 -10
- package/dist/controllers/item/itemController.js.map +1 -1
- package/dist/models/item/BrandModel.d.ts +34 -23
- package/dist/models/item/CategoryModel.d.ts +34 -23
- package/dist/models/item/ItemModel.d.ts +100 -78
- package/dist/models/item/ProductModel.d.ts +33 -33
- package/dist/models/item/UomModel.d.ts +44 -33
- package/dist/schema/payload/item/schemaItemBrand.d.ts +28 -14
- package/dist/schema/payload/item/schemaItemBrand.js +4 -2
- package/dist/schema/payload/item/schemaItemBrand.js.map +1 -1
- package/dist/schema/payload/item/schemaItemCategory.d.ts +28 -14
- package/dist/schema/payload/item/schemaItemCategory.js +4 -2
- package/dist/schema/payload/item/schemaItemCategory.js.map +1 -1
- package/dist/schema/payload/item/schemaItemItem.d.ts +65 -65
- package/dist/schema/payload/item/schemaItemItem.js +3 -3
- package/dist/schema/payload/item/schemaItemItem.js.map +1 -1
- package/dist/schema/payload/item/schemaItemProduct.d.ts +41 -41
- package/dist/schema/payload/item/schemaItemProduct.js +1 -1
- package/dist/schema/payload/item/schemaItemProduct.js.map +1 -1
- package/dist/schema/payload/item/schemaItemUom.d.ts +28 -14
- package/dist/schema/payload/item/schemaItemUom.js +4 -2
- package/dist/schema/payload/item/schemaItemUom.js.map +1 -1
- package/dist/services/item/ItemBrandService.d.ts +11 -6
- package/dist/services/item/ItemBrandService.js +35 -6
- package/dist/services/item/ItemBrandService.js.map +1 -1
- package/dist/services/item/ItemCategoryService.d.ts +11 -6
- package/dist/services/item/ItemCategoryService.js +37 -7
- package/dist/services/item/ItemCategoryService.js.map +1 -1
- package/dist/services/item/ItemItemService.d.ts +29 -23
- package/dist/services/item/ItemItemService.js +57 -16
- package/dist/services/item/ItemItemService.js.map +1 -1
- package/dist/services/item/ItemProductService.d.ts +9 -9
- package/dist/services/item/ItemProductService.js +11 -10
- package/dist/services/item/ItemProductService.js.map +1 -1
- package/dist/services/item/ItemService.js +39 -12
- package/dist/services/item/ItemService.js.map +1 -1
- package/dist/services/item/ItemUomService.d.ts +14 -9
- package/dist/services/item/ItemUomService.js +35 -5
- package/dist/services/item/ItemUomService.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +101 -92
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemService.js","sourceRoot":"","sources":["../../../src/services/item/ItemService.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ItemModel,\n ModelItemFields\n} from \"@/models\";\n\nimport { ItemItemGetProps, ItemItemCreateProps, ItemItemListProps, ItemItemUpdateProps, ItemItemService } from \"./ItemItemService\";\nimport { ItemProductGetProps, ItemProductCreateProps, ItemProductListProps, ItemProductUpdateProps, ItemProductService } from \"./ItemProductService\";\nimport { ItemCategoryGetProps, ItemCategoryCreateProps, ItemCategoryListProps, ItemCategoryUpdateProps, ItemCategoryService } from \"./ItemCategoryService\";\nimport { ItemBrandGetProps, ItemBrandCreateProps, ItemBrandListProps, ItemBrandUpdateProps, ItemBrandService } from \"./ItemBrandService\";\nimport { ItemUomGetProps, ItemUomCreateProps, ItemUomListProps, ItemUomUpdateProps, ItemUomService } from \"./ItemUomService\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps, throwError } from \"@/utils\";\n\nexport const itemTypes = {\n product: \"product\",\n item: \"item\",\n category: \"category\",\n brand: \"brand\",\n uom: \"uom\"\n} as const\n\nexport type ItemType = typeof itemTypes[keyof typeof itemTypes]\n\nexport type ItemServiceProps = DefaultServiceProps & {\n itemType: ItemType\n};\n\nexport type ItemGetProps = QueryGet & {\n id: number,\n};\n\nexport type ItemListProps = QueryList & {\n // id: number,\n};\n\nexport type ItemRemoveProps = {\n ids: BigInt[]\n};\n\nexport type ItemCreateProps = {\n itemType?: ItemType,\n data: (\n // item\n {\n item: Omit<ItemItemCreateProps[\"data\"][\"item\"], \"itemId\">,\n } |\n // product\n {\n item: Omit<ItemItemCreateProps[\"data\"][\"item\"], \"itemId\" | \"productId\">,\n product: Omit<ItemProductCreateProps[\"data\"][\"product\"], \"productId\">,\n } |\n // category\n {\n category: Omit<ItemCategoryCreateProps[\"data\"][\"category\"], \"categoryId\">,\n } |\n // brand\n {\n brand: Omit<ItemBrandCreateProps[\"data\"][\"brand\"], \"brandId\">,\n } |\n // uom\n {\n uom: Omit<ItemUomCreateProps[\"data\"][\"uom\"], \"uomId\">,\n }\n )\n}\n\nexport type ItemUpdateProps = {\n id: number,\n itemType?: ItemType,\n data: (\n // item\n {\n item: Omit<ItemItemUpdateProps[\"data\"][\"item\"], \"itemId\">\n } |\n // product\n {\n product: Omit<ItemProductUpdateProps[\"data\"][\"product\"], \"productId\">\n } |\n // category\n {\n category: Omit<ItemCategoryUpdateProps[\"data\"][\"category\"], \"categoryId\">\n } |\n // brand\n {\n brand: Omit<ItemBrandUpdateProps[\"data\"][\"brand\"], \"brandId\">\n } |\n // uom\n {\n uom: Omit<ItemUomUpdateProps[\"data\"][\"uom\"], \"uomId\">\n }\n )\n}\n\nconst getCreatePayload = (itemType: ItemType, data: ItemCreateProps[\"data\"]) => {\n\n if (\"product\" in data && \"item\" in data) {\n return data\n }\n\n if (\"item\" in data && !(\"product\" in data)) {\n return data[\"item\"]\n }\n\n if (\"category\" in data) {\n return data[\"category\"]\n }\n\n if (\"brand\" in data) {\n return data[\"brand\"]\n }\n\n if (\"uom\" in data) {\n return data[\"uom\"]\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (itemType: ItemType, data: ItemUpdateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n return data[\"product\"]\n }\n\n if (\"item\" in data) {\n return data[\"item\"]\n }\n\n if (\"category\" in data) {\n return data[\"category\"]\n }\n\n if (\"brand\" in data) {\n return data[\"brand\"]\n }\n\n if (\"uom\" in data) {\n return data[\"uom\"]\n }\n\n return false\n\n}\n\nexport const ItemService = (props: ItemServiceProps) => {\n\n const {\n itemType = \"product\",\n ...rest\n } = props\n\n const itemItemService = ItemItemService({ ...rest })\n const itemProductService = ItemProductService({ ...rest })\n const itemCategoryService = ItemCategoryService({ ...rest })\n const itemBrandService = ItemBrandService({ ...rest })\n const itemUomService = ItemUomService({ ...rest })\n\n const createItem = async ({ data, itemType: overrideItemType }: ItemCreateProps) => {\n\n const _itemType = overrideItemType || itemType\n\n const _data = getCreatePayload(_itemType, data)\n\n if (!_data) {\n throw new Error(`Invalid create payload: ${JSON.stringify(_data)}`);\n }\n\n // create item\n // let responseItem = await itemModel.create({ data: _data })\n\n // let newItemId = responseItem.item_id\n\n let response: any = {}\n\n if (_itemType === \"product\" && \"product\" in data) {\n\n let dataProduct: ItemProductCreateProps[\"data\"] = {\n product: {\n ...data.product,\n }\n }\n\n // create product\n let actionResProduct = await itemProductService.createItemProduct({ data: dataProduct })\n\n const productId = actionResProduct?.product_id ?? 0\n\n let dataItem: ItemItemCreateProps[\"data\"] = {\n item: {\n productId: Number(productId),\n ...data.item\n }\n }\n\n // create first item\n let actionResItem = await itemItemService.createItem({ data: dataItem })\n\n response = await itemProductService.getItemProduct({ id: Number(productId), datatypes: [] })\n }\n\n if (_itemType === \"item\" && \"item\" in data && !(\"product\" in data)) {\n\n let dataItem: ItemItemCreateProps[\"data\"] = {\n item: {\n ...data.item,\n }\n }\n\n // create item\n let actionRes = await itemItemService.createItem({ data: dataItem })\n\n response = await itemItemService.getItem({ id: Number(actionRes?.item_id), datatypes: [] })\n }\n\n if (_itemType === \"category\" && \"category\" in data) {\n\n let dataCategory: ItemCategoryCreateProps[\"data\"] = {\n category: {\n ...data.category,\n }\n }\n\n // create category\n let actionRes = await itemCategoryService.createCategory({ data: dataCategory })\n\n response = await itemCategoryService.getCategory({ id: Number(actionRes?.category_id), datatypes: [] })\n }\n\n if (_itemType === \"brand\" && \"brand\" in data) {\n\n let dataBrand: ItemBrandCreateProps[\"data\"] = {\n brand: {\n ...data.brand,\n }\n }\n\n // create brand\n let actionRes = await itemBrandService.createBrand({ data: dataBrand })\n\n response = await itemBrandService.getBrand({ id: Number(actionRes?.brand_id), datatypes: [] })\n }\n\n if (_itemType === \"uom\" && \"uom\" in data) {\n\n let dataUom: ItemUomCreateProps[\"data\"] = {\n uom: {\n ...data.uom,\n }\n }\n\n // create uom\n let actionRes = await itemUomService.createUom({ data: dataUom })\n\n response = await itemUomService.getUom({ id: Number(actionRes?.uom_id), datatypes: [] })\n }\n\n return response\n }\n\n const updateItem = async ({ id, data, itemType: overrideItemType }: ItemUpdateProps) => {\n\n const _itemType = overrideItemType || itemType\n\n const _data = getUpdatePayload(_itemType, data)\n\n if (!_data) {\n throw new Error(`Invalid update payload: ${JSON.stringify(_data)}`);\n }\n\n let response: any = {}\n\n if (_itemType === \"product\" && \"product\" in data) {\n\n let dataProduct: ItemProductUpdateProps[\"data\"] = {\n product: {\n ...data.product\n }\n }\n\n await itemProductService.updateItemProduct({ productId: Number(id), data: dataProduct })\n\n response = await itemProductService.getItemProduct({ id: Number(id), datatypes: [] })\n\n }\n\n if (_itemType === \"item\" && \"item\" in data) {\n\n let dataItem: ItemItemUpdateProps[\"data\"] = {\n item: {\n ...data.item\n }\n }\n\n await itemItemService.updateItem({ itemId: Number(id), data: dataItem })\n\n response = await itemItemService.getItem({ id: Number(id), datatypes: [] })\n\n }\n\n if (_itemType === \"category\" && \"category\" in data) {\n\n let dataCategory: ItemCategoryUpdateProps[\"data\"] = {\n category: {\n ...data.category\n }\n }\n\n await itemCategoryService.updateCategory({ categoryId: Number(id), data: dataCategory })\n\n response = await itemCategoryService.getCategory({ id: Number(id), datatypes: [] })\n\n }\n\n if (_itemType === \"brand\" && \"brand\" in data) {\n\n let dataBrand: ItemBrandUpdateProps[\"data\"] = {\n brand: {\n ...data.brand\n }\n }\n\n await itemBrandService.updateBrand({ brandId: Number(id), data: dataBrand })\n\n response = await itemBrandService.getBrand({ id: Number(id), datatypes: [] })\n\n }\n\n if (_itemType === \"uom\" && \"uom\" in data) {\n\n let dataUom: ItemUomUpdateProps[\"data\"] = {\n uom: {\n ...data.uom\n }\n }\n\n await itemUomService.updateUom({ uomId: Number(id), data: dataUom })\n\n response = await itemUomService.getUom({ id: Number(id), datatypes: [] })\n\n }\n\n return response\n }\n\n const getItem = async ({ id, datatypes = [] }: ItemGetProps) => {\n\n let data: any = {}\n\n if (itemType === \"item\") {\n data = await itemItemService.getItem({ id, datatypes: datatypes as ItemItemGetProps[\"datatypes\"] })\n }\n\n if (itemType === \"product\") {\n data = await itemProductService.getItemProduct({ id, datatypes: datatypes as ItemProductGetProps[\"datatypes\"] })\n }\n\n if (itemType === \"category\") {\n data = await itemCategoryService.getCategory({ id, datatypes: datatypes as ItemCategoryGetProps[\"datatypes\"] })\n }\n\n if (itemType === \"brand\") {\n data = await itemBrandService.getBrand({ id, datatypes: datatypes as ItemBrandGetProps[\"datatypes\"] })\n }\n\n if (itemType === \"uom\") {\n data = await itemUomService.getUom({ id, datatypes: datatypes as ItemUomGetProps[\"datatypes\"] })\n }\n\n if (!data) {\n throw new Error(`Invalid id: ${id}`);\n }\n\n return data\n };\n\n const listItems = async ({ limit, offset, filters = [], sortfield, sortorder, datatypes }: ItemListProps) => {\n\n let data: any[] = [];\n let total = 0;\n\n if (itemType === \"item\") {\n ({ data, total } = await itemItemService.listItems(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemItemListProps[\"datatypes\"] }\n ))\n }\n\n if (itemType === \"product\") {\n ({ data, total } = await itemProductService.listItemProducts(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemProductListProps[\"datatypes\"] }\n ))\n }\n\n if (itemType === \"category\") {\n ({ data, total } = await itemCategoryService.listCategories(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemCategoryListProps[\"datatypes\"] }\n ))\n }\n\n if (itemType === \"brand\") {\n ({ data, total } = await itemBrandService.listBrands(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemBrandListProps[\"datatypes\"] }\n ))\n }\n\n if (itemType === \"uom\") {\n ({ data, total } = await itemUomService.listUoms(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemUomListProps[\"datatypes\"] }\n ))\n }\n\n return {\n data,\n total\n }\n };\n\n const removeItems = async ({ ids }: ItemRemoveProps) => {\n\n if (!ids.length) throwError('ids is required');\n\n let response: any[] = []\n\n if (itemType === \"item\") {\n response = await itemItemService.removeItems({ itemIds: ids })\n }\n\n if (itemType === \"product\") {\n response = await itemProductService.removeProducts({ productIds: ids })\n }\n\n if (itemType === \"category\") {\n response = await itemCategoryService.removeCategories({ categoryIds: ids })\n }\n\n if (itemType === \"brand\") {\n response = await itemBrandService.removeBrands({ brandIds: ids })\n }\n\n if (itemType === \"uom\") {\n response = await itemUomService.removeUoms({ uomIds: ids })\n }\n\n return response\n };\n\n const getItemDataTypes = () => {\n\n let data: any[] = [];\n let total = 0;\n\n if (itemType === \"item\") {\n data = itemItemService.getDataTypes()\n }\n\n if (itemType === \"product\") {\n data = itemProductService.getDataTypes()\n }\n\n if (itemType === \"category\") {\n data = itemCategoryService.getDataTypes()\n }\n\n if (itemType === \"brand\") {\n data = itemBrandService.getDataTypes()\n }\n\n if (itemType === \"uom\") {\n data = itemUomService.getDataTypes()\n }\n\n return data\n };\n\n return {\n createItem,\n updateItem,\n getItem,\n listItems,\n removeItems,\n getItemDataTypes\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"ItemService.js","sourceRoot":"","sources":["../../../src/services/item/ItemService.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ItemModel,\n ModelItemFields\n} from \"@/models\";\n\nimport { PrismaClient, items, Prisma } from \"@prisma/client\";\n\nimport { ItemItemGetProps, ItemItemCreateProps, ItemItemListProps, ItemItemUpdateProps, ItemItemService } from \"./ItemItemService\";\nimport { ItemProductGetProps, ItemProductCreateProps, ItemProductListProps, ItemProductUpdateProps, ItemProductService } from \"./ItemProductService\";\nimport { ItemCategoryGetProps, ItemCategoryCreateProps, ItemCategoryListProps, ItemCategoryUpdateProps, ItemCategoryService } from \"./ItemCategoryService\";\nimport { ItemBrandGetProps, ItemBrandCreateProps, ItemBrandListProps, ItemBrandUpdateProps, ItemBrandService } from \"./ItemBrandService\";\nimport { ItemUomGetProps, ItemUomCreateProps, ItemUomListProps, ItemUomUpdateProps, ItemUomService } from \"./ItemUomService\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps, throwError } from \"@/utils\";\n\nexport const itemTypes = {\n product: \"product\",\n item: \"item\",\n category: \"category\",\n brand: \"brand\",\n uom: \"uom\"\n} as const\n\nexport type ItemType = typeof itemTypes[keyof typeof itemTypes]\n\nexport type ItemServiceProps = DefaultServiceProps & {\n itemType: ItemType\n};\n\nexport type ItemGetProps = QueryGet & {\n id: number,\n};\n\nexport type ItemListProps = QueryList & {\n // id: number,\n};\n\nexport type ItemRemoveProps = {\n ids: BigInt[]\n};\n\nexport type ItemCreateProps = {\n itemType?: ItemType,\n data: (\n // item\n {\n item: Omit<ItemItemCreateProps[\"data\"][\"item\"], \"itemId\">,\n } |\n // product\n {\n item: Omit<ItemItemCreateProps[\"data\"][\"item\"], \"itemId\" | \"productId\">,\n product: Omit<ItemProductCreateProps[\"data\"][\"product\"], \"productId\">,\n } |\n // category\n {\n category: Omit<ItemCategoryCreateProps[\"data\"][\"category\"], \"categoryId\">,\n } |\n // brand\n {\n brand: Omit<ItemBrandCreateProps[\"data\"][\"brand\"], \"brandId\">,\n } |\n // uom\n {\n uom: Omit<ItemUomCreateProps[\"data\"][\"uom\"], \"uomId\">,\n }\n )\n}\n\nexport type ItemUpdateProps = {\n id: number,\n itemType?: ItemType,\n data: (\n // item\n {\n item: Omit<ItemItemUpdateProps[\"data\"][\"item\"], \"itemId\">\n } |\n // product\n {\n product: Omit<ItemProductUpdateProps[\"data\"][\"product\"], \"productId\">\n } |\n // category\n {\n category: Omit<ItemCategoryUpdateProps[\"data\"][\"category\"], \"categoryId\">\n } |\n // brand\n {\n brand: Omit<ItemBrandUpdateProps[\"data\"][\"brand\"], \"brandId\">\n } |\n // uom\n {\n uom: Omit<ItemUomUpdateProps[\"data\"][\"uom\"], \"uomId\">\n }\n )\n}\n\nconst getCreatePayload = (itemType: ItemType, data: ItemCreateProps[\"data\"]) => {\n\n if (\"product\" in data && \"item\" in data) {\n return data\n }\n\n if (\"item\" in data && !(\"product\" in data)) {\n return data[\"item\"]\n }\n\n if (\"category\" in data) {\n return data[\"category\"]\n }\n\n if (\"brand\" in data) {\n return data[\"brand\"]\n }\n\n if (\"uom\" in data) {\n return data[\"uom\"]\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (itemType: ItemType, data: ItemUpdateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n return data[\"product\"]\n }\n\n if (\"item\" in data) {\n return data[\"item\"]\n }\n\n if (\"category\" in data) {\n return data[\"category\"]\n }\n\n if (\"brand\" in data) {\n return data[\"brand\"]\n }\n\n if (\"uom\" in data) {\n return data[\"uom\"]\n }\n\n return false\n\n}\n\nexport const ItemService = (props: ItemServiceProps) => {\n\n const {\n itemType = \"product\",\n ...rest\n } = props\n\n const itemItemService = ItemItemService({ ...rest })\n const itemProductService = ItemProductService({ ...rest })\n const itemCategoryService = ItemCategoryService({ ...rest })\n const itemBrandService = ItemBrandService({ ...rest })\n const itemUomService = ItemUomService({ ...rest })\n\n const createItem = async ({ data, itemType: overrideItemType }: ItemCreateProps) => {\n\n const _itemType = overrideItemType || itemType\n\n const _data = getCreatePayload(_itemType, data)\n\n if (!_data) {\n throw new Error(`Invalid create payload: ${JSON.stringify(_data)}`);\n }\n\n // create item\n // let responseItem = await itemModel.create({ data: _data })\n\n // let newItemId = responseItem.item_id\n\n let response: any = {}\n\n if (_itemType === \"product\" && \"product\" in data) {\n\n let dataProduct: ItemProductCreateProps[\"data\"] = {\n product: {\n ...data.product,\n }\n }\n\n // // create product\n // let actionResProduct = await itemProductService.createItemProduct({ data: dataProduct })\n\n // const productId = actionResProduct?.product_id ?? 0\n\n // let dataItem: ItemItemCreateProps[\"data\"] = {\n // item: {\n // productId: Number(productId),\n // ...data.item\n // }\n // }\n\n // // create first item\n // let actionResItem = await itemItemService.createItem({ data: dataItem })\n\n // response = await itemProductService.getItemProduct({ id: Number(productId), datatypes: [] })\n\n const prisma = new PrismaClient();\n\n response = await prisma.$transaction(async (tx) => {\n\n const _itemItemService = ItemItemService({ ...rest, tx })\n const _itemProductService = ItemProductService({ ...rest, tx })\n\n // 1. create product\n const actionResProduct = await _itemProductService.createItemProduct({\n data: dataProduct\n })\n\n const productId = actionResProduct.product_id\n\n // 2. create item\n const dataItem: ItemItemCreateProps[\"data\"] = {\n item: {\n productId: Number(productId),\n ...data.item\n }\n }\n\n const actionResItem = await _itemItemService.createItem({\n data: dataItem\n })\n\n // 3. fetch final result\n const response = await _itemProductService.getItemProduct({\n id: Number(productId),\n datatypes: []\n })\n\n return response\n })\n }\n\n if (_itemType === \"item\" && \"item\" in data && !(\"product\" in data)) {\n\n let dataItem: ItemItemCreateProps[\"data\"] = {\n item: {\n ...data.item,\n }\n }\n\n // create item\n let actionRes = await itemItemService.createItem({ data: dataItem })\n\n response = await itemItemService.getItem({ id: Number(actionRes?.item_id), datatypes: [] })\n }\n\n if (_itemType === \"category\" && \"category\" in data) {\n\n let dataCategory: ItemCategoryCreateProps[\"data\"] = {\n category: {\n ...data.category,\n }\n }\n\n // create category\n let actionRes = await itemCategoryService.createCategory({ data: dataCategory })\n\n response = await itemCategoryService.getCategory({ id: Number(actionRes?.category_id), datatypes: [] })\n }\n\n if (_itemType === \"brand\" && \"brand\" in data) {\n\n let dataBrand: ItemBrandCreateProps[\"data\"] = {\n brand: {\n ...data.brand,\n }\n }\n\n // create brand\n let actionRes = await itemBrandService.createBrand({ data: dataBrand })\n\n response = await itemBrandService.getBrand({ id: Number(actionRes?.brand_id), datatypes: [] })\n }\n\n if (_itemType === \"uom\" && \"uom\" in data) {\n\n let dataUom: ItemUomCreateProps[\"data\"] = {\n uom: {\n ...data.uom,\n }\n }\n\n // create uom\n let actionRes = await itemUomService.createUom({ data: dataUom })\n\n response = await itemUomService.getUom({ id: Number(actionRes?.uom_id), datatypes: [] })\n }\n\n return response\n }\n\n const updateItem = async ({ id, data, itemType: overrideItemType }: ItemUpdateProps) => {\n\n const _itemType = overrideItemType || itemType\n\n const _data = getUpdatePayload(_itemType, data)\n\n if (!_data) {\n throw new Error(`Invalid update payload: ${JSON.stringify(_data)}`);\n }\n\n let response: any = {}\n\n if (_itemType === \"product\" && \"product\" in data) {\n\n let dataProduct: ItemProductUpdateProps[\"data\"] = {\n product: {\n ...data.product\n }\n }\n\n await itemProductService.updateItemProduct({ productId: Number(id), data: dataProduct })\n\n response = await itemProductService.getItemProduct({ id: Number(id), datatypes: [] })\n\n }\n\n if (_itemType === \"item\" && \"item\" in data) {\n\n let dataItem: ItemItemUpdateProps[\"data\"] = {\n item: {\n ...data.item\n }\n }\n\n await itemItemService.updateItem({ itemId: Number(id), data: dataItem })\n\n response = await itemItemService.getItem({ id: Number(id), datatypes: [] })\n\n }\n\n if (_itemType === \"category\" && \"category\" in data) {\n\n let dataCategory: ItemCategoryUpdateProps[\"data\"] = {\n category: {\n ...data.category\n }\n }\n\n await itemCategoryService.updateCategory({ categoryId: Number(id), data: dataCategory })\n\n response = await itemCategoryService.getCategory({ id: Number(id), datatypes: [] })\n\n }\n\n if (_itemType === \"brand\" && \"brand\" in data) {\n\n let dataBrand: ItemBrandUpdateProps[\"data\"] = {\n brand: {\n ...data.brand\n }\n }\n\n await itemBrandService.updateBrand({ brandId: Number(id), data: dataBrand })\n\n response = await itemBrandService.getBrand({ id: Number(id), datatypes: [] })\n\n }\n\n if (_itemType === \"uom\" && \"uom\" in data) {\n\n let dataUom: ItemUomUpdateProps[\"data\"] = {\n uom: {\n ...data.uom\n }\n }\n\n await itemUomService.updateUom({ uomId: Number(id), data: dataUom })\n\n response = await itemUomService.getUom({ id: Number(id), datatypes: [] })\n\n }\n\n return response\n }\n\n const getItem = async ({ id, datatypes = [] }: ItemGetProps) => {\n\n let data: any = {}\n\n if (itemType === \"item\") {\n data = await itemItemService.getItem({ id, datatypes: datatypes as ItemItemGetProps[\"datatypes\"] })\n }\n\n if (itemType === \"product\") {\n data = await itemProductService.getItemProduct({ id, datatypes: datatypes as ItemProductGetProps[\"datatypes\"] })\n }\n\n if (itemType === \"category\") {\n data = await itemCategoryService.getCategory({ id, datatypes: datatypes as ItemCategoryGetProps[\"datatypes\"] })\n }\n\n if (itemType === \"brand\") {\n data = await itemBrandService.getBrand({ id, datatypes: datatypes as ItemBrandGetProps[\"datatypes\"] })\n }\n\n if (itemType === \"uom\") {\n data = await itemUomService.getUom({ id, datatypes: datatypes as ItemUomGetProps[\"datatypes\"] })\n }\n\n if (!data) {\n throw new Error(`Invalid id: ${id}`);\n }\n\n return data\n };\n\n const listItems = async ({ limit, offset, filters = [], sortfield, sortorder, datatypes }: ItemListProps) => {\n\n let data: any[] = [];\n let total = 0;\n\n if (itemType === \"item\") {\n ({ data, total } = await itemItemService.listItems(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemItemListProps[\"datatypes\"] }\n ))\n }\n\n if (itemType === \"product\") {\n ({ data, total } = await itemProductService.listItemProducts(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemProductListProps[\"datatypes\"] }\n ))\n }\n\n if (itemType === \"category\") {\n ({ data, total } = await itemCategoryService.listCategories(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemCategoryListProps[\"datatypes\"] }\n ))\n }\n\n if (itemType === \"brand\") {\n ({ data, total } = await itemBrandService.listBrands(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemBrandListProps[\"datatypes\"] }\n ))\n }\n\n if (itemType === \"uom\") {\n ({ data, total } = await itemUomService.listUoms(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as ItemUomListProps[\"datatypes\"] }\n ))\n }\n\n return {\n data,\n total\n }\n };\n\n const removeItems = async ({ ids }: ItemRemoveProps) => {\n\n if (!ids.length) throwError('ids is required');\n\n let response: any[] = []\n\n if (itemType === \"item\") {\n response = await itemItemService.removeItems({ itemIds: ids })\n }\n\n if (itemType === \"product\") {\n response = await itemProductService.removeProducts({ productIds: ids })\n }\n\n if (itemType === \"category\") {\n response = await itemCategoryService.removeCategories({ categoryIds: ids })\n }\n\n if (itemType === \"brand\") {\n response = await itemBrandService.removeBrands({ brandIds: ids })\n }\n\n if (itemType === \"uom\") {\n response = await itemUomService.removeUoms({ uomIds: ids })\n }\n\n return response\n };\n\n const getItemDataTypes = () => {\n\n let data: any[] = [];\n let total = 0;\n\n if (itemType === \"item\") {\n data = itemItemService.getDataTypes()\n }\n\n if (itemType === \"product\") {\n data = itemProductService.getDataTypes()\n }\n\n if (itemType === \"category\") {\n data = itemCategoryService.getDataTypes()\n }\n\n if (itemType === \"brand\") {\n data = itemBrandService.getDataTypes()\n }\n\n if (itemType === \"uom\") {\n data = itemUomService.getDataTypes()\n }\n\n return data\n };\n\n return {\n createItem,\n updateItem,\n getItem,\n listItems,\n removeItems,\n getItemDataTypes\n }\n\n}\n\n"]}
|
|
@@ -21,6 +21,7 @@ export type ItemUomCreateProps = {
|
|
|
21
21
|
data: {
|
|
22
22
|
uom: {
|
|
23
23
|
name: string;
|
|
24
|
+
code: string;
|
|
24
25
|
description: string;
|
|
25
26
|
metricType: ItemUomMetricType;
|
|
26
27
|
metricTypeDisplayName: string;
|
|
@@ -34,6 +35,7 @@ export type ItemUomUpdateProps = {
|
|
|
34
35
|
data: {
|
|
35
36
|
uom: {
|
|
36
37
|
name: string;
|
|
38
|
+
code?: string;
|
|
37
39
|
description: string;
|
|
38
40
|
metricType: ItemUomMetricType;
|
|
39
41
|
metricTypeDisplayName: string;
|
|
@@ -51,13 +53,14 @@ export declare const ItemUomService: (props: ItemUomServiceProps) => {
|
|
|
51
53
|
isdelete: boolean | null;
|
|
52
54
|
istrash: boolean | null;
|
|
53
55
|
accountid: bigint;
|
|
54
|
-
status:
|
|
55
|
-
name: string | null;
|
|
56
|
+
status: boolean | null;
|
|
56
57
|
description: string | null;
|
|
57
58
|
uom_id: bigint;
|
|
59
|
+
uom_name: string | null;
|
|
60
|
+
uom_code: string;
|
|
58
61
|
metric_type: string | null;
|
|
59
62
|
metric_type_display_name: string | null;
|
|
60
|
-
decimal_digit: number
|
|
63
|
+
decimal_digit: number;
|
|
61
64
|
}>;
|
|
62
65
|
updateUom: ({ uomId, data }: ItemUomUpdateProps) => Promise<{
|
|
63
66
|
createdatetime: Date | null;
|
|
@@ -67,13 +70,14 @@ export declare const ItemUomService: (props: ItemUomServiceProps) => {
|
|
|
67
70
|
isdelete: boolean | null;
|
|
68
71
|
istrash: boolean | null;
|
|
69
72
|
accountid: bigint;
|
|
70
|
-
status:
|
|
71
|
-
name: string | null;
|
|
73
|
+
status: boolean | null;
|
|
72
74
|
description: string | null;
|
|
73
75
|
uom_id: bigint;
|
|
76
|
+
uom_name: string | null;
|
|
77
|
+
uom_code: string;
|
|
74
78
|
metric_type: string | null;
|
|
75
79
|
metric_type_display_name: string | null;
|
|
76
|
-
decimal_digit: number
|
|
80
|
+
decimal_digit: number;
|
|
77
81
|
}>;
|
|
78
82
|
getUom: ({ id, datatypes }: ItemUomGetProps) => Promise<any>;
|
|
79
83
|
listUoms: ({ limit, offset, filters, sortfield, sortorder, datatypes }: ItemUomListProps) => Promise<{
|
|
@@ -88,13 +92,14 @@ export declare const ItemUomService: (props: ItemUomServiceProps) => {
|
|
|
88
92
|
isdelete: boolean | null;
|
|
89
93
|
istrash: boolean | null;
|
|
90
94
|
accountid: bigint;
|
|
91
|
-
status:
|
|
92
|
-
name: string | null;
|
|
95
|
+
status: boolean | null;
|
|
93
96
|
description: string | null;
|
|
94
97
|
uom_id: bigint;
|
|
98
|
+
uom_name: string | null;
|
|
99
|
+
uom_code: string;
|
|
95
100
|
metric_type: string | null;
|
|
96
101
|
metric_type_display_name: string | null;
|
|
97
|
-
decimal_digit: number
|
|
102
|
+
decimal_digit: number;
|
|
98
103
|
}[]>;
|
|
99
104
|
getDataTypes: () => string[];
|
|
100
105
|
};
|
|
@@ -11,9 +11,10 @@ exports.uomDataTypes = {
|
|
|
11
11
|
const getCreatePayload = (data) => {
|
|
12
12
|
if ("uom" in data) {
|
|
13
13
|
return {
|
|
14
|
-
[`${models_1.ModelUomFields.
|
|
14
|
+
[`${models_1.ModelUomFields.uom_name}`]: data.uom.name,
|
|
15
|
+
[`${models_1.ModelUomFields.uom_code}`]: data.uom.code,
|
|
15
16
|
[`${models_1.ModelUomFields.description}`]: data.uom.description,
|
|
16
|
-
[`${models_1.ModelUomFields.status}`]: data.uom.status
|
|
17
|
+
[`${models_1.ModelUomFields.status}`]: Boolean(data.uom.status),
|
|
17
18
|
[`${models_1.ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,
|
|
18
19
|
[`${models_1.ModelUomFields.metric_type}`]: data.uom.metricType,
|
|
19
20
|
[`${models_1.ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName
|
|
@@ -24,9 +25,10 @@ const getCreatePayload = (data) => {
|
|
|
24
25
|
const getUpdatePayload = (data) => {
|
|
25
26
|
if ("uom" in data) {
|
|
26
27
|
return {
|
|
27
|
-
[`${models_1.ModelUomFields.
|
|
28
|
+
[`${models_1.ModelUomFields.uom_name}`]: data.uom.name,
|
|
29
|
+
...(data.uom?.code) ? { [`${models_1.ModelUomFields.uom_code}`]: data.uom.code } : {},
|
|
28
30
|
[`${models_1.ModelUomFields.description}`]: data.uom.description,
|
|
29
|
-
[`${models_1.ModelUomFields.status}`]: data.uom.status
|
|
31
|
+
[`${models_1.ModelUomFields.status}`]: Boolean(data.uom.status),
|
|
30
32
|
[`${models_1.ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,
|
|
31
33
|
[`${models_1.ModelUomFields.metric_type}`]: data.uom.metricType,
|
|
32
34
|
[`${models_1.ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName
|
|
@@ -37,7 +39,8 @@ const getUpdatePayload = (data) => {
|
|
|
37
39
|
let mainSqlSelect = {
|
|
38
40
|
[`uom.${models_1.ModelUomFields.uom_id}`]: "uom_id",
|
|
39
41
|
[`uom.${models_1.ModelUomFields.description}`]: "description",
|
|
40
|
-
[`uom.${models_1.ModelUomFields.
|
|
42
|
+
[`uom.${models_1.ModelUomFields.uom_name}`]: "name",
|
|
43
|
+
[`uom.${models_1.ModelUomFields.uom_code}`]: "code",
|
|
41
44
|
[`uom.${models_1.ModelUomFields.status}`]: "status",
|
|
42
45
|
[`uom.${models_1.ModelUomFields.metric_type}`]: "metric_type",
|
|
43
46
|
[`uom.${models_1.ModelUomFields.metric_type_display_name}`]: "metric_type_display_name",
|
|
@@ -57,6 +60,17 @@ const ItemUomService = (props) => {
|
|
|
57
60
|
const injectionFieldService = (0, services_1.InjectionFieldService)({ ...rest, injectionFieldType: "item" });
|
|
58
61
|
const uomModel = (0, models_1.UomModel)({ ...rest });
|
|
59
62
|
const createUom = async ({ data }) => {
|
|
63
|
+
// validate code is existed
|
|
64
|
+
const validateCode = await uomModel.get({
|
|
65
|
+
where: {
|
|
66
|
+
[`${models_1.ModelUomFields.uom_code}`]: data.uom.code,
|
|
67
|
+
[`${models_1.ModelUomFields.accountid}`]: rest.accountId,
|
|
68
|
+
[`${models_1.ModelUomFields.isdelete}`]: false
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
if (validateCode) {
|
|
72
|
+
throw new Error(`Uom code is existed: ${validateCode.uom_code ?? 0}(${validateCode.uom_id})`);
|
|
73
|
+
}
|
|
60
74
|
const _data = getCreatePayload(data);
|
|
61
75
|
if (!_data) {
|
|
62
76
|
throw new Error(`Invalid create uom payload: ${JSON.stringify(_data)}`);
|
|
@@ -65,6 +79,22 @@ const ItemUomService = (props) => {
|
|
|
65
79
|
return response;
|
|
66
80
|
};
|
|
67
81
|
const updateUom = async ({ uomId, data }) => {
|
|
82
|
+
// validate code is existed - only if code is passed in
|
|
83
|
+
if (data.uom?.code) {
|
|
84
|
+
const validateCode = await uomModel.get({
|
|
85
|
+
where: {
|
|
86
|
+
[`${models_1.ModelUomFields.uom_id}`]: {
|
|
87
|
+
not: BigInt(uomId)
|
|
88
|
+
},
|
|
89
|
+
[`${models_1.ModelUomFields.uom_code}`]: data.uom.code,
|
|
90
|
+
[`${models_1.ModelUomFields.accountid}`]: rest.accountId,
|
|
91
|
+
[`${models_1.ModelUomFields.isdelete}`]: false
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
if (validateCode) {
|
|
95
|
+
throw new Error(`Uom code is existed: ${validateCode.uom_code ?? 0}(${validateCode.uom_id})`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
68
98
|
const _data = getUpdatePayload(data);
|
|
69
99
|
if (!_data) {
|
|
70
100
|
throw new Error(`Invalid update uom payload: ${JSON.stringify(_data)}`);
|
|
@@ -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(*) 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":";;;AAAA,mCAA+C;AAE/C,qCAIkB;AAElB,yCAAmD;AAMnD,+BAAgK;AAInJ,QAAA,YAAY,GAAG;IACxB,kBAAkB,EAAE,sBAAsB;CAC7C,CAAA;AAsDD,MAAM,gBAAgB,GAAG,CAAC,IAAgC,EAAE,EAAE;IAE1D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAEhB,OAAO;YACH,CAAC,GAAG,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;YAC7C,CAAC,GAAG,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;YAC7C,CAAC,GAAG,uBAAc,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW;YACvD,CAAC,GAAG,uBAAc,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YACtD,CAAC,GAAG,uBAAc,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY;YAC1D,CAAC,GAAG,uBAAc,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;YACtD,CAAC,GAAG,uBAAc,CAAC,wBAAwB,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB;SACjF,CAAA;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAEhB,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAgC,EAAE,EAAE;IAE1D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAEhB,OAAO;YACH,CAAC,GAAG,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;YAC7C,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;YAC5E,CAAC,GAAG,uBAAc,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW;YACvD,CAAC,GAAG,uBAAc,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YACtD,CAAC,GAAG,uBAAc,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY;YAC1D,CAAC,GAAG,uBAAc,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;YACtD,CAAC,GAAG,uBAAc,CAAC,wBAAwB,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB;SACjF,CAAA;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAEhB,CAAC,CAAA;AAED,IAAI,aAAa,GAAG;IAChB,CAAC,OAAO,uBAAc,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ;IAC1C,CAAC,OAAO,uBAAc,CAAC,WAAW,EAAE,CAAC,EAAE,aAAa;IACpD,CAAC,OAAO,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM;IAC1C,CAAC,OAAO,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM;IAC1C,CAAC,OAAO,uBAAc,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ;IAC1C,CAAC,OAAO,uBAAc,CAAC,WAAW,EAAE,CAAC,EAAE,aAAa;IACpD,CAAC,OAAO,uBAAc,CAAC,wBAAwB,EAAE,CAAC,EAAE,0BAA0B;IAC9E,CAAC,OAAO,uBAAc,CAAC,aAAa,EAAE,CAAC,EAAE,eAAe;CAC3D,CAAA;AAED,IAAI,gBAAgB,GAAG;IACnB,CAAC,OAAO,uBAAc,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC1D,CAAC,WAAW,wBAAe,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC/D,CAAC,OAAO,uBAAc,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC1D,CAAC,WAAW,wBAAe,CAAC,cAAc,EAAE,CAAC,EAAE,gBAAgB;IAC/D,CAAC,OAAO,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU;IAC9C,CAAC,OAAO,uBAAc,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS;IAC5C,CAAC,OAAO,uBAAc,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW;CACnD,CAAA;AAEM,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAEzD,MAAM,EACF,GAAG,IAAI,EACV,GAAG,KAAK,CAAA;IAET,MAAM,qBAAqB,GAAG,IAAA,gCAAqB,EAAC,EAAE,GAAG,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAA;IAE5F,MAAM,QAAQ,GAAG,IAAA,iBAAQ,EAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;IAEtC,MAAM,SAAS,GAAG,KAAK,EAAE,EAAE,IAAI,EAAsB,EAAE,EAAE;QAErD,2BAA2B;QAC3B,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;YACpC,KAAK,EAAE;gBACH,CAAC,GAAG,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;gBAC7C,CAAC,GAAG,uBAAc,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS;gBAC/C,CAAC,GAAG,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK;aACxC;SACJ,CAAC,CAAA;QAEF,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,CAAC,QAAQ,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAErD,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAsB,EAAE,EAAE;QAE5D,uDAAuD;QACvD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBACpC,KAAK,EAAE;oBACH,CAAC,GAAG,uBAAc,CAAC,MAAM,EAAE,CAAC,EAAE;wBAC1B,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;qBACrB;oBACD,CAAC,GAAG,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;oBAC7C,CAAC,GAAG,uBAAc,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS;oBAC/C,CAAC,GAAG,uBAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK;iBACxC;aACJ,CAAC,CAAA;YAEF,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,CAAC,QAAQ,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YAClG,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,uBAAc,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAErG,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAmB,EAAE,EAAE;QAE7D,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC;YAC1B,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,uBAAc,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC1E,SAAS,EAAE,GAAG,uBAAc,CAAC,MAAM,EAAE;YACrC,SAAS,EAAE,KAAK;YAChB,SAAS;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAE3B,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,EACpB,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,GAAG,EAAE,EACC,EAAE,EAAE;QAEnB,IAAI,IAAI,GAAG,EAAE,CAAA;QAEb,IAAI,SAAS,GAAG;YACZ,mCAAmC;YACnC,IAAA,oBAAc,EAAC,EAAE,EAAE,aAAa,CAAC;YACjC,IAAA,oBAAc,EAAC,EAAE,EAAE,gBAAgB,CAAC;SACvC,CAAA;QAED,IAAI,WAAW,GAAG;YACd,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,oCAAoC,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;YAClJ,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,oCAAoC,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;SACrJ,CAAA;QAED,IAAI,UAAU,GAAa;YACvB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7B,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;SACnC,CAAA;QAED,IAAI,aAAa,GAAG;YAChB,GAAG,aAAa;YAChB,GAAG,gBAAgB;SACtB,CAAA;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,oBAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAEtD,IAAI,qBAAqB,GAAG,MAAM,qBAAqB,CAAC,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAEhG,MAAM,0BAA0B,GAAG,IAAA,mCAA6B,EAAC,KAAK,EAAE,qBAAqB,CAAC,CAAA;YAE9F,kFAAkF;YAClF,oCAAoC;YACpC,kBAAkB;YAClB,oCAAoC;YAEpC,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,0BAA0B,EAAE,CAAA;YAEnE,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAc,EAAC,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACzH,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,IAAA,sBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;YACjO,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAA;QAC5E,CAAC;QAED,IAAI,QAAQ,GAAG;YACX,sBAAsB;YACtB,qBAAqB;YACrB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAa,EAAC,OAAO,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAA;QAED,IAAI,UAAU,GAAG,IAAA,qBAAe,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACtD,IAAI,cAAc,GAAG,IAAA,yBAAmB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEvD,MAAM,MAAM,GAAG,IAAA,uBAAiB,EAAC;YAC7B,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS;YACT,WAAW;YACX,QAAQ;YACR,UAAU;YACV,UAAU;YACV,cAAc;SACjB,CAAC,CAAA;QAEF,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEjC,MAAM,QAAQ,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YACrD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D,CAAA;QAED,OAAO,QAAQ,CAAA;IAEnB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;QAExD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,IAAA,kBAAU,EAAC,oBAAoB,CAAC,CAAC;QAErD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,uBAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAEpG,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC;IACvC,CAAC,CAAA;IAED,OAAO;QACH,SAAS;QACT,SAAS;QACT,MAAM;QACN,QAAQ;QACR,UAAU;QACV,YAAY;KACf,CAAA;AAEL,CAAC,CAAA;AA1LY,QAAA,cAAc,kBA0L1B","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 code: 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 code?: 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.uom_name}`]: data.uom.name,\n [`${ModelUomFields.uom_code}`]: data.uom.code,\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: Boolean(data.uom.status),\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.uom_name}`]: data.uom.name,\n ...(data.uom?.code) ? { [`${ModelUomFields.uom_code}`]: data.uom.code } : {},\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: Boolean(data.uom.status),\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.uom_name}`]: \"name\",\n [`uom.${ModelUomFields.uom_code}`]: \"code\",\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 // validate code is existed\n const validateCode = await uomModel.get({\n where: {\n [`${ModelUomFields.uom_code}`]: data.uom.code,\n [`${ModelUomFields.accountid}`]: rest.accountId,\n [`${ModelUomFields.isdelete}`]: false\n }\n })\n\n if (validateCode) {\n throw new Error(`Uom code is existed: ${validateCode.uom_code ?? 0}(${validateCode.uom_id})`);\n }\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 // validate code is existed - only if code is passed in\n if (data.uom?.code) {\n const validateCode = await uomModel.get({\n where: {\n [`${ModelUomFields.uom_id}`]: {\n not: BigInt(uomId)\n },\n [`${ModelUomFields.uom_code}`]: data.uom.code,\n [`${ModelUomFields.accountid}`]: rest.accountId,\n [`${ModelUomFields.isdelete}`]: false\n }\n })\n\n if (validateCode) {\n throw new Error(`Uom code is existed: ${validateCode.uom_code ?? 0}(${validateCode.uom_id})`);\n }\n }\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"]}
|
package/package.json
CHANGED
package/prisma/schema.prisma
CHANGED
|
@@ -407,36 +407,37 @@ model branches {
|
|
|
407
407
|
}
|
|
408
408
|
|
|
409
409
|
model brands {
|
|
410
|
-
brand_id BigInt @id
|
|
411
|
-
|
|
412
|
-
description String? @db.VarChar(256)
|
|
413
|
-
status Int? @db.SmallInt
|
|
414
|
-
createdatetime DateTime? @db.Timestamp(6)
|
|
410
|
+
brand_id BigInt @id @default(autoincrement())
|
|
411
|
+
createdatetime DateTime? @db.Timestamptz(6)
|
|
415
412
|
createuserid BigInt @default(0)
|
|
416
|
-
updatedatetime DateTime? @db.
|
|
413
|
+
updatedatetime DateTime? @db.Timestamptz(6)
|
|
417
414
|
updateuserid BigInt @default(0)
|
|
418
415
|
isdelete Boolean? @default(false)
|
|
419
416
|
istrash Boolean? @default(false)
|
|
420
417
|
accountid BigInt @default(0)
|
|
418
|
+
brand_name String? @db.VarChar(128)
|
|
419
|
+
brand_code String @default(dbgenerated("0")) @db.VarChar(128)
|
|
420
|
+
description String? @db.VarChar(256)
|
|
421
|
+
status Boolean?
|
|
421
422
|
|
|
422
423
|
@@schema("public")
|
|
423
424
|
}
|
|
424
425
|
|
|
425
426
|
model categories {
|
|
426
|
-
category_id BigInt @id
|
|
427
|
-
|
|
428
|
-
name String? @db.VarChar(128)
|
|
429
|
-
description String? @db.VarChar(256)
|
|
430
|
-
status Int? @db.SmallInt
|
|
431
|
-
createdatetime DateTime? @db.Timestamp(6)
|
|
427
|
+
category_id BigInt @id @default(autoincrement())
|
|
428
|
+
createdatetime DateTime? @db.Timestamptz(6)
|
|
432
429
|
createuserid BigInt @default(0)
|
|
433
|
-
updatedatetime DateTime? @db.
|
|
430
|
+
updatedatetime DateTime? @db.Timestamptz(6)
|
|
434
431
|
updateuserid BigInt @default(0)
|
|
435
432
|
isdelete Boolean? @default(false)
|
|
436
433
|
istrash Boolean? @default(false)
|
|
437
434
|
accountid BigInt @default(0)
|
|
435
|
+
category_code String @default(dbgenerated("0")) @db.VarChar(128)
|
|
436
|
+
parent_category_id BigInt @default(0)
|
|
437
|
+
category_name String? @db.VarChar(128)
|
|
438
|
+
description String? @db.VarChar(256)
|
|
439
|
+
status Boolean?
|
|
438
440
|
|
|
439
|
-
@@index([category_id], map: "ids_categories_category_id")
|
|
440
441
|
@@schema("public")
|
|
441
442
|
}
|
|
442
443
|
|
|
@@ -804,44 +805,6 @@ model item_injection_fields {
|
|
|
804
805
|
@@schema("public")
|
|
805
806
|
}
|
|
806
807
|
|
|
807
|
-
model items {
|
|
808
|
-
item_id BigInt @id(map: "cl_items_pkey") @default(autoincrement())
|
|
809
|
-
uom_id BigInt @default(0)
|
|
810
|
-
item_code String? @db.VarChar(256)
|
|
811
|
-
item_description String?
|
|
812
|
-
cost Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
813
|
-
uom_price Decimal? @default(0.0000) @db.Decimal(15, 4)
|
|
814
|
-
remark String?
|
|
815
|
-
summary String? @db.VarChar(256)
|
|
816
|
-
gross_weight Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
817
|
-
net_weight Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
818
|
-
uom_bal Decimal @default(0.0000) @db.Decimal(10, 4)
|
|
819
|
-
status Int? @default(0) @db.SmallInt
|
|
820
|
-
is_package Int @default(0) @db.SmallInt
|
|
821
|
-
createdatetime DateTime? @db.Timestamp(6)
|
|
822
|
-
createuserid BigInt @default(0)
|
|
823
|
-
updatedatetime DateTime? @db.Timestamp(6)
|
|
824
|
-
updateuserid BigInt @default(0)
|
|
825
|
-
isdelete Boolean? @default(false)
|
|
826
|
-
istrash Boolean? @default(false)
|
|
827
|
-
accountid BigInt @default(0)
|
|
828
|
-
product_id BigInt @default(0)
|
|
829
|
-
floor_price Decimal? @db.Decimal(10, 4)
|
|
830
|
-
dimension_width Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
831
|
-
dimension_height Decimal? @db.Decimal(10, 4)
|
|
832
|
-
dimension_length Decimal? @db.Decimal(10, 4)
|
|
833
|
-
cbm Decimal? @db.Decimal(10, 4)
|
|
834
|
-
volume_weight Decimal? @db.Decimal(10, 4)
|
|
835
|
-
|
|
836
|
-
@@index([product_id], map: "cl_items_product_id_index")
|
|
837
|
-
@@index([accountid], map: "ids_items_account_id")
|
|
838
|
-
@@index([accountid, isdelete, status], map: "ids_items_account_status_is_delete")
|
|
839
|
-
@@index([isdelete], map: "ids_items_is_delete")
|
|
840
|
-
@@index([status], map: "ids_items_status")
|
|
841
|
-
@@index([uom_id], map: "ids_items_uom_id")
|
|
842
|
-
@@schema("public")
|
|
843
|
-
}
|
|
844
|
-
|
|
845
808
|
model location_zones {
|
|
846
809
|
location_zone_id BigInt @id(map: "cl_location_zones_pkey") @default(autoincrement())
|
|
847
810
|
location_id BigInt @default(0)
|
|
@@ -881,27 +844,23 @@ model logistic_injection_fields {
|
|
|
881
844
|
}
|
|
882
845
|
|
|
883
846
|
model products {
|
|
884
|
-
product_id BigInt @id
|
|
885
|
-
|
|
886
|
-
category_id BigInt @default(0)
|
|
887
|
-
brand_id BigInt? @default(0)
|
|
888
|
-
model String? @db.VarChar(256)
|
|
889
|
-
description String?
|
|
890
|
-
summary String?
|
|
891
|
-
status Int? @default(0) @db.SmallInt
|
|
892
|
-
createdatetime DateTime? @db.Timestamp(6)
|
|
847
|
+
product_id BigInt @id @default(autoincrement())
|
|
848
|
+
createdatetime DateTime? @db.Timestamptz(6)
|
|
893
849
|
createuserid BigInt @default(0)
|
|
894
|
-
updatedatetime DateTime? @db.
|
|
850
|
+
updatedatetime DateTime? @db.Timestamptz(6)
|
|
895
851
|
updateuserid BigInt @default(0)
|
|
896
852
|
isdelete Boolean? @default(false)
|
|
897
853
|
istrash Boolean? @default(false)
|
|
898
854
|
accountid BigInt @default(0)
|
|
899
|
-
product_code String
|
|
855
|
+
product_code String @default(dbgenerated("0")) @db.VarChar(255)
|
|
856
|
+
product_name String @db.VarChar(255)
|
|
857
|
+
category_id BigInt @default(0)
|
|
858
|
+
brand_id BigInt @default(0)
|
|
859
|
+
model String? @db.VarChar(128)
|
|
860
|
+
description String? @db.VarChar(256)
|
|
861
|
+
summary String? @db.VarChar(256)
|
|
862
|
+
status Boolean? @default(false)
|
|
900
863
|
|
|
901
|
-
@@index([brand_id], map: "ids_products_brand_id")
|
|
902
|
-
@@index([category_id], map: "ids_products_category_id")
|
|
903
|
-
@@index([product_name], map: "ids_products_item_name")
|
|
904
|
-
@@index([product_code], map: "ids_products_product_code")
|
|
905
864
|
@@schema("public")
|
|
906
865
|
}
|
|
907
866
|
|
|
@@ -955,22 +914,22 @@ model retailers {
|
|
|
955
914
|
}
|
|
956
915
|
|
|
957
916
|
model uoms {
|
|
958
|
-
uom_id BigInt @id
|
|
959
|
-
|
|
960
|
-
description String? @db.VarChar(256)
|
|
961
|
-
metric_type String? @db.VarChar(256)
|
|
962
|
-
status Int? @db.SmallInt
|
|
963
|
-
createdatetime DateTime? @db.Timestamp(6)
|
|
917
|
+
uom_id BigInt @id @default(autoincrement())
|
|
918
|
+
createdatetime DateTime? @db.Timestamptz(6)
|
|
964
919
|
createuserid BigInt @default(0)
|
|
965
|
-
updatedatetime DateTime? @db.
|
|
920
|
+
updatedatetime DateTime? @db.Timestamptz(6)
|
|
966
921
|
updateuserid BigInt @default(0)
|
|
967
922
|
isdelete Boolean? @default(false)
|
|
968
923
|
istrash Boolean? @default(false)
|
|
969
924
|
accountid BigInt @default(0)
|
|
925
|
+
uom_name String? @db.VarChar(128)
|
|
926
|
+
uom_code String @default(dbgenerated("0")) @db.VarChar(128)
|
|
927
|
+
description String? @db.VarChar(256)
|
|
928
|
+
metric_type String? @db.VarChar(256)
|
|
970
929
|
metric_type_display_name String? @db.VarChar(128)
|
|
971
|
-
decimal_digit Int
|
|
930
|
+
decimal_digit Int @default(2) @db.SmallInt
|
|
931
|
+
status Boolean?
|
|
972
932
|
|
|
973
|
-
@@index([metric_type], map: "ids_uoms_metric_type")
|
|
974
933
|
@@schema("public")
|
|
975
934
|
}
|
|
976
935
|
|
|
@@ -2407,22 +2366,6 @@ model cl_wallets {
|
|
|
2407
2366
|
@@schema("public")
|
|
2408
2367
|
}
|
|
2409
2368
|
|
|
2410
|
-
model custom_brands {
|
|
2411
|
-
custom_brand_id BigInt @id @default(autoincrement())
|
|
2412
|
-
createdatetime DateTime? @db.Timestamptz(6)
|
|
2413
|
-
createuserid BigInt @default(0)
|
|
2414
|
-
updatedatetime DateTime? @db.Timestamptz(6)
|
|
2415
|
-
updateuserid BigInt @default(0)
|
|
2416
|
-
isdelete Boolean? @default(false)
|
|
2417
|
-
istrash Boolean? @default(false)
|
|
2418
|
-
accountid BigInt @default(0)
|
|
2419
|
-
name String? @db.VarChar(128)
|
|
2420
|
-
description String?
|
|
2421
|
-
status Boolean? @default(false)
|
|
2422
|
-
|
|
2423
|
-
@@schema("public")
|
|
2424
|
-
}
|
|
2425
|
-
|
|
2426
2369
|
model document_amounts_unuse {
|
|
2427
2370
|
document_amount_id BigInt @id(map: "cl_document_amount_pkey") @default(autoincrement())
|
|
2428
2371
|
document_id BigInt @default(0)
|
|
@@ -3130,3 +3073,69 @@ model scheduler_requests {
|
|
|
3130
3073
|
|
|
3131
3074
|
@@schema("public")
|
|
3132
3075
|
}
|
|
3076
|
+
|
|
3077
|
+
model items {
|
|
3078
|
+
item_id BigInt @id(map: "items_pkey1") @default(autoincrement())
|
|
3079
|
+
createdatetime DateTime? @db.Timestamptz(6)
|
|
3080
|
+
createuserid BigInt @default(0)
|
|
3081
|
+
updatedatetime DateTime? @db.Timestamptz(6)
|
|
3082
|
+
updateuserid BigInt @default(0)
|
|
3083
|
+
isdelete Boolean? @default(false)
|
|
3084
|
+
istrash Boolean? @default(false)
|
|
3085
|
+
accountid BigInt @default(0)
|
|
3086
|
+
product_id BigInt @default(0)
|
|
3087
|
+
uom_id BigInt @default(0)
|
|
3088
|
+
uom_name String? @db.VarChar(128)
|
|
3089
|
+
uom_code String @default(dbgenerated("0")) @db.VarChar(128)
|
|
3090
|
+
item_code String? @db.VarChar(255)
|
|
3091
|
+
item_description String? @db.VarChar(256)
|
|
3092
|
+
item_cost Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
3093
|
+
item_price Decimal? @default(0.0000) @db.Decimal(15, 4)
|
|
3094
|
+
floor_price Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
3095
|
+
remark String? @db.VarChar(256)
|
|
3096
|
+
summary String? @db.VarChar(256)
|
|
3097
|
+
gross_weight Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
3098
|
+
net_weight Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
3099
|
+
volume_weight Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
3100
|
+
dimension_width Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
3101
|
+
dimension_height Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
3102
|
+
dimension_length Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
3103
|
+
cbm Decimal? @default(0.0000) @db.Decimal(10, 4)
|
|
3104
|
+
balance_quantity Decimal @default(0.0000) @db.Decimal(10, 4)
|
|
3105
|
+
status Boolean? @default(false)
|
|
3106
|
+
is_package Boolean? @default(false)
|
|
3107
|
+
|
|
3108
|
+
@@schema("public")
|
|
3109
|
+
}
|
|
3110
|
+
|
|
3111
|
+
model items2 {
|
|
3112
|
+
item_id BigInt @id(map: "items_pkey") @default(autoincrement())
|
|
3113
|
+
createdatetime DateTime? @db.Timestamptz(6)
|
|
3114
|
+
createuserid BigInt
|
|
3115
|
+
updatedatetime DateTime? @db.Timestamptz(6)
|
|
3116
|
+
updateuserid BigInt
|
|
3117
|
+
isdelete Boolean? @default(false)
|
|
3118
|
+
istrash Boolean? @default(false)
|
|
3119
|
+
accountid BigInt
|
|
3120
|
+
product_id BigInt
|
|
3121
|
+
uom_id BigInt
|
|
3122
|
+
item_code String? @db.VarChar(255)
|
|
3123
|
+
item_description String? @db.VarChar(256)
|
|
3124
|
+
item_cost Decimal? @db.Decimal(10, 4)
|
|
3125
|
+
item_price Decimal? @db.Decimal(15, 4)
|
|
3126
|
+
floor_price Decimal? @db.Decimal(10, 4)
|
|
3127
|
+
remark String? @db.VarChar(256)
|
|
3128
|
+
summary String? @db.VarChar(256)
|
|
3129
|
+
gross_weight Decimal? @db.Decimal(10, 4)
|
|
3130
|
+
net_weight Decimal? @db.Decimal(10, 4)
|
|
3131
|
+
volume_weight Decimal? @db.Decimal(10, 4)
|
|
3132
|
+
dimension_width Decimal? @db.Decimal(10, 4)
|
|
3133
|
+
dimension_height Decimal? @db.Decimal(10, 4)
|
|
3134
|
+
dimension_length Decimal? @db.Decimal(10, 4)
|
|
3135
|
+
cbm Decimal? @db.Decimal(10, 4)
|
|
3136
|
+
balance_quantity Decimal? @db.Decimal(10, 4)
|
|
3137
|
+
status Boolean? @default(false)
|
|
3138
|
+
is_package Boolean @default(false)
|
|
3139
|
+
|
|
3140
|
+
@@schema("public")
|
|
3141
|
+
}
|