@things-factory/product-base 5.0.14 → 5.0.15

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 (36) hide show
  1. package/dist-server/service/product/product-mutation.js.map +1 -1
  2. package/dist-server/service/product/product-query.js.map +1 -1
  3. package/dist-server/service/product/product-types.js.map +1 -1
  4. package/dist-server/service/product/product.js +2 -1
  5. package/dist-server/service/product/product.js.map +1 -1
  6. package/dist-server/service/product-bundle/product-bundle-mutation.js.map +1 -1
  7. package/dist-server/service/product-bundle/product-bundle-query.js.map +1 -1
  8. package/dist-server/service/product-bundle/product-bundle-types.js.map +1 -1
  9. package/dist-server/service/product-bundle/product-bundle.js.map +1 -1
  10. package/dist-server/service/product-bundle-setting/product-bundle-setting-mutation.js.map +1 -1
  11. package/dist-server/service/product-bundle-setting/product-bundle-setting-query.js.map +1 -1
  12. package/dist-server/service/product-bundle-setting/product-bundle-setting-types.js.map +1 -1
  13. package/dist-server/service/product-bundle-setting/product-bundle-setting.js.map +1 -1
  14. package/dist-server/service/product-combination/product-combination-mutation.js.map +1 -1
  15. package/dist-server/service/product-combination/product-combination-query.js.map +1 -1
  16. package/dist-server/service/product-combination/product-combination-type.js.map +1 -1
  17. package/dist-server/service/product-combination/product-combination.js.map +1 -1
  18. package/dist-server/service/product-combination-setting/product-combination-setting-mutation.js.map +1 -1
  19. package/dist-server/service/product-combination-setting/product-combination-setting-query.js.map +1 -1
  20. package/dist-server/service/product-combination-setting/product-combination-setting-type.js.map +1 -1
  21. package/dist-server/service/product-combination-setting/product-combination-setting.js.map +1 -1
  22. package/dist-server/service/product-detail/product-detail-mutation.js.map +1 -1
  23. package/dist-server/service/product-detail/product-detail-query.js.map +1 -1
  24. package/dist-server/service/product-detail/product-detail-types.js.map +1 -1
  25. package/dist-server/service/product-detail/product-detail.js +2 -1
  26. package/dist-server/service/product-detail/product-detail.js.map +1 -1
  27. package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-mutation.js.map +1 -1
  28. package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-query.js.map +1 -1
  29. package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-types.js.map +1 -1
  30. package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting.js.map +1 -1
  31. package/dist-server/service/product-set/product-set-mutation.js.map +1 -1
  32. package/dist-server/service/product-set/product-set-query.js.map +1 -1
  33. package/dist-server/service/product-set/product-set-types.js.map +1 -1
  34. package/dist-server/service/product-set/product-set.js.map +1 -1
  35. package/dist-server/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"product-mutation.js","sourceRoot":"","sources":["../../../server/service/product/product-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import promisesAll from 'promises-all'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, getRepository, In, Repository } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { Domain } from '@things-factory/shell'\n\nimport { PRODUCT_STATUS } from '../../constants'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport {\n createProductDetail,\n updateMultipleProductDetail,\n updateProductDetail\n} from '../product-detail/product-detail-mutation'\nimport { ProductSet } from '../product-set/product-set'\nimport { Product } from './product'\nimport { NewProduct, ProductPatch } from './product-types'\nimport { validateProduct } from './validate-product'\n\n@Resolver(Product)\nexport class ProductMutation {\n @Directive('@transaction')\n @Mutation(returns => Product)\n async createProduct(@Arg('product') product: NewProduct, @Ctx() context: any): Promise<Product> {\n return await createProduct(product, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Product])\n async createProducts(\n @Arg('products', type => [NewProduct]) products: NewProduct[],\n @Ctx() context: any\n ): Promise<Product[]> {\n return await createProducts(products, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => Product)\n async updateProduct(@Arg('id') id: string, @Arg('patch') patch: ProductPatch, @Ctx() context: any): Promise<Product> {\n return await updateProduct(id, patch, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Product])\n async importMultipleProduct(\n @Arg('patches', type => [ProductPatch]) patches: ProductPatch[],\n @Ctx() context: any\n ): Promise<Product[]> {\n try {\n let results = []\n\n //// 1. Group and massage data based on sku for Product and Product Details.\n let massagedPatch = patches.reduce(function (acc, currentObj) {\n let existingParent = acc.find(itm => itm.sku == currentObj.sku)\n if (existingParent) {\n existingParent.productDetails = [\n ...existingParent.productDetails,\n new ProductDetail({ ...currentObj, childProductDetail: currentObj.childGtin })\n ]\n return acc\n } else {\n let newProduct = {\n ...currentObj,\n productDetails: [\n new ProductDetail({ ...currentObj, childProductDetail: currentObj.childGtin, isDefault: true })\n ]\n }\n return [...acc, newProduct]\n }\n }, [])\n\n //// 2. Update all Grouped Product data and Product Details Data\n for (let i = 0; i < massagedPatch.length; i++) {\n const patch: Product = massagedPatch[i]\n const result = await createProduct(patch, context)\n results.push({ ...result, cuFlag: '+' })\n }\n\n return results\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Product])\n async updateMultipleProduct(\n @Arg('patches', type => [ProductPatch]) patches: ProductPatch[],\n @Ctx() context: any\n ): Promise<Product[]> {\n try {\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const patch: NewProduct = _createRecords[i]\n const result = await createProduct(patch, context)\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const patch: ProductPatch = _updateRecords[i]\n const result = await updateProduct(patch.id, patch, context)\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"mutation\") ')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async linkProduct(\n @Arg('productSetId') productSetId: string,\n @Arg('patches', type => [ProductPatch]) patches: ProductPatch[],\n @Ctx() context: any\n ): Promise<Boolean> {\n const { tx }: { tx: EntityManager } = context.state\n\n let productSet = await tx.getRepository(ProductSet).findOne({\n where: { id: productSetId },\n relations: ['domain', 'creator', 'updater', 'product']\n })\n\n let existingProductLink: any = productSet.product\n\n let newProductLink: Product[] = patches.reduce((acc, curr) => {\n if (!existingProductLink.find(itm => itm.id == curr.id)) {\n acc.push({ id: curr.id })\n }\n return acc\n }, [])\n\n let removeProductLink: Product[] = existingProductLink.reduce((acc, curr) => {\n if (!patches.find(itm => itm.id == curr.id)) {\n acc.push({ id: curr.id })\n }\n return acc\n }, [])\n\n if (newProductLink.length > 0) {\n for (let i = 0; i < newProductLink.length; i++) {\n const patch: Product = { ...newProductLink[i], productSet }\n await updateProduct(newProductLink[i].id, patch, context)\n }\n }\n\n if (removeProductLink.length > 0) {\n for (let i = 0; i < removeProductLink.length; i++) {\n const patch: Product = { ...removeProductLink[i], productSet: null }\n await updateProduct(removeProductLink[i].id, patch, context)\n }\n }\n\n return true\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"mutation\") ')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteProduct(@Arg('id') id: string, @Ctx() context: any): Promise<Boolean> {\n const { tx, user, domain }: { tx: EntityManager; user: User; domain: Domain } = context.state\n const productSetRepo: Repository<Product> = tx.getRepository(Product)\n const productSet = await productSetRepo.findOne({ domain, id })\n\n await productSetRepo.save({\n ...productSet,\n status: PRODUCT_STATUS.DELETED,\n updater: user\n })\n\n return true\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"mutation\") ')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteProducts(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {\n const { tx, user }: { tx: EntityManager; user: User } = context.state\n const productRepo = tx.getRepository(Product)\n\n await productRepo.update(\n {\n id: In(ids)\n },\n {\n deletedAt: new Date()\n }\n )\n\n return true\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"mutation\") ')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async undeleteProducts(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {\n const { tx, user }: { tx: EntityManager; user: User } = context.state\n const productRepo = tx.getRepository(Product)\n\n await productRepo.update(\n {\n id: In(ids)\n },\n {\n deletedAt: null\n }\n )\n\n return true\n }\n}\n\nexport async function createProduct(product: any, context: any) {\n try {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n const productRepo: Repository<Product> = tx.getRepository(Product) || getRepository(Product)\n const bizplaceRepo: Repository<Bizplace> = tx.getRepository(Bizplace) || getRepository(Bizplace)\n\n let bizplace: Bizplace\n if (product.bizplace?.id) {\n bizplace = await bizplaceRepo.findOne(product.bizplace.id)\n } else if (context.state?.bizplace) {\n bizplace = context.state.bizplace\n } else {\n bizplace = await bizplaceRepo.findOne({ where: { domain } })\n }\n\n if (product?.productRef?.id) {\n product.productRef = await productRepo.findOne(product.productRef.id)\n }\n\n if (!product?.id) delete product.id\n\n await validateProduct(\n {\n ...product,\n bizplace,\n domain\n },\n context\n )\n\n if (product.uom) {\n product.primaryUnit = product.uom\n }\n\n if (product.uomValue) {\n product.primaryValue = product.uomValue\n }\n\n const result = await productRepo.save({\n ...product,\n bizplace,\n domain,\n creator: user,\n updater: user\n })\n\n let productDetails = product.productDetails\n if (!productDetails) {\n productDetails = [new ProductDetail({ ...product, product: result, isDefault: true })]\n if (productDetails[0].gtin == null || productDetails[0] == undefined) {\n productDetails[0].gtin = product.sku\n }\n }\n\n await updateMultipleProductDetail(result.id, productDetails, context)\n\n if (product.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: product.thumbnail,\n refType: Product.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n } catch (error) {\n throw error\n }\n}\n\nexport async function createProducts(products, context: any) {\n const { resolve, reject } = await promisesAll.all(products.map(product => createProduct(product, context)))\n\n if (reject.length) {\n reject.forEach(({ name, message }) => logger.error(`${name}: ${message}`))\n\n return reject\n }\n\n return resolve\n}\n\nexport async function updateProduct(id: string, patch, context) {\n try {\n const { user, tx, domain }: { user: User; tx: EntityManager; domain: Domain } = context.state\n\n const bizplaceRepo: Repository<Bizplace> = tx.getRepository(Bizplace)\n const productRepo: Repository<Product> = tx.getRepository(Product)\n const productDetailRepo: Repository<ProductDetail> = tx.getRepository(ProductDetail)\n\n let product = await productRepo.findOne({ where: { id }, relations: ['domain'] })\n\n let productDetail = await productDetailRepo.findOne({\n where: { product: { id }, isDefault: true },\n relations: ['domain']\n })\n\n if (patch.productRef && patch.productRef.id) {\n patch.productRef = await productRepo.findOne(patch.productRef.id)\n }\n\n let bizplace: Bizplace\n if (product.bizplace?.id) {\n bizplace = await bizplaceRepo.findOne(product.bizplace.id)\n } else {\n bizplace = await bizplaceRepo.findOne({ where: { name: domain.name } })\n }\n\n await validateProduct(\n {\n ...product,\n ...patch,\n bizplace,\n domain\n },\n context\n )\n\n if (patch.uom) {\n product.primaryUnit = patch.uom\n }\n\n if (patch.uomValue) {\n product.primaryValue = patch.uomValue\n }\n\n product = await productRepo.save({\n ...product,\n ...patch,\n domain,\n updater: user\n })\n\n if (productDetail) {\n if (product.gtin) {\n delete product.gtin\n }\n productDetail = await updateProductDetail(\n productDetail.id,\n new ProductDetail({ ...product, ...patch, product }),\n context\n )\n } else {\n productDetail = await createProductDetail(\n new ProductDetail({ ...product, ...patch, product, isDefault: true }),\n context\n )\n }\n\n const productId = id\n if (patch.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [productId] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: patch.thumbnail,\n refType: Product.name,\n refBy: product.id\n }\n },\n context\n )\n }\n\n return product\n } catch (error) {\n throw error\n }\n}\n"]}
1
+ {"version":3,"file":"product-mutation.js","sourceRoot":"","sources":["../../../server/service/product/product-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import promisesAll from 'promises-all'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, getRepository, In, Repository } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { Domain } from '@things-factory/shell'\n\nimport { PRODUCT_STATUS } from '../../constants'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport {\n createProductDetail,\n updateMultipleProductDetail,\n updateProductDetail\n} from '../product-detail/product-detail-mutation'\nimport { ProductSet } from '../product-set/product-set'\nimport { Product } from './product'\nimport { NewProduct, ProductPatch } from './product-types'\nimport { validateProduct } from './validate-product'\n\n@Resolver(Product)\nexport class ProductMutation {\n @Directive('@transaction')\n @Mutation(returns => Product)\n async createProduct(@Arg('product') product: NewProduct, @Ctx() context: any): Promise<Product> {\n return await createProduct(product, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Product])\n async createProducts(\n @Arg('products', type => [NewProduct]) products: NewProduct[],\n @Ctx() context: any\n ): Promise<Product[]> {\n return await createProducts(products, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => Product)\n async updateProduct(@Arg('id') id: string, @Arg('patch') patch: ProductPatch, @Ctx() context: any): Promise<Product> {\n return await updateProduct(id, patch, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Product])\n async importMultipleProduct(\n @Arg('patches', type => [ProductPatch]) patches: ProductPatch[],\n @Ctx() context: any\n ): Promise<Product[]> {\n try {\n let results = []\n\n //// 1. Group and massage data based on sku for Product and Product Details.\n let massagedPatch = patches.reduce(function (acc, currentObj) {\n let existingParent = acc.find(itm => itm.sku == currentObj.sku)\n if (existingParent) {\n existingParent.productDetails = [\n ...existingParent.productDetails,\n new ProductDetail({ ...currentObj, childProductDetail: currentObj.childGtin })\n ]\n return acc\n } else {\n let newProduct = {\n ...currentObj,\n productDetails: [\n new ProductDetail({ ...currentObj, childProductDetail: currentObj.childGtin, isDefault: true })\n ]\n }\n return [...acc, newProduct]\n }\n }, [])\n\n //// 2. Update all Grouped Product data and Product Details Data\n for (let i = 0; i < massagedPatch.length; i++) {\n const patch: Product = massagedPatch[i]\n const result = await createProduct(patch, context)\n results.push({ ...result, cuFlag: '+' })\n }\n\n return results\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Product])\n async updateMultipleProduct(\n @Arg('patches', type => [ProductPatch]) patches: ProductPatch[],\n @Ctx() context: any\n ): Promise<Product[]> {\n try {\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const patch: NewProduct = _createRecords[i]\n const result = await createProduct(patch, context)\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const patch: ProductPatch = _updateRecords[i]\n const result = await updateProduct(patch.id, patch, context)\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"mutation\") ')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async linkProduct(\n @Arg('productSetId') productSetId: string,\n @Arg('patches', type => [ProductPatch]) patches: ProductPatch[],\n @Ctx() context: any\n ): Promise<Boolean> {\n const { tx }: { tx: EntityManager } = context.state\n\n let productSet = await tx.getRepository(ProductSet).findOne({\n where: { id: productSetId },\n relations: ['domain', 'creator', 'updater', 'product']\n })\n\n let existingProductLink: any = productSet.product\n\n let newProductLink: Product[] = patches.reduce((acc, curr) => {\n if (!existingProductLink.find(itm => itm.id == curr.id)) {\n acc.push({ id: curr.id })\n }\n return acc\n }, [])\n\n let removeProductLink: Product[] = existingProductLink.reduce((acc, curr) => {\n if (!patches.find(itm => itm.id == curr.id)) {\n acc.push({ id: curr.id })\n }\n return acc\n }, [])\n\n if (newProductLink.length > 0) {\n for (let i = 0; i < newProductLink.length; i++) {\n const patch: Product = { ...newProductLink[i], productSet }\n await updateProduct(newProductLink[i].id, patch, context)\n }\n }\n\n if (removeProductLink.length > 0) {\n for (let i = 0; i < removeProductLink.length; i++) {\n const patch: Product = { ...removeProductLink[i], productSet: null }\n await updateProduct(removeProductLink[i].id, patch, context)\n }\n }\n\n return true\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"mutation\") ')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteProduct(@Arg('id') id: string, @Ctx() context: any): Promise<Boolean> {\n const { tx, user, domain }: { tx: EntityManager; user: User; domain: Domain } = context.state\n const productSetRepo: Repository<Product> = tx.getRepository(Product)\n const productSet = await productSetRepo.findOne({ domain, id })\n\n await productSetRepo.save({\n ...productSet,\n status: PRODUCT_STATUS.DELETED,\n updater: user\n })\n\n return true\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"mutation\") ')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteProducts(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {\n const { tx, user }: { tx: EntityManager; user: User } = context.state\n const productRepo = tx.getRepository(Product)\n\n await productRepo.update(\n {\n id: In(ids)\n },\n {\n deletedAt: new Date()\n }\n )\n\n return true\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"mutation\") ')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async undeleteProducts(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {\n const { tx, user }: { tx: EntityManager; user: User } = context.state\n const productRepo = tx.getRepository(Product)\n\n await productRepo.update(\n {\n id: In(ids)\n },\n {\n deletedAt: null\n }\n )\n\n return true\n }\n}\n\nexport async function createProduct(product: any, context: any) {\n try {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n const productRepo: Repository<Product> = tx.getRepository(Product) || getRepository(Product)\n const bizplaceRepo: Repository<Bizplace> = tx.getRepository(Bizplace) || getRepository(Bizplace)\n\n let bizplace: Bizplace\n if (product.bizplace?.id) {\n bizplace = await bizplaceRepo.findOne(product.bizplace.id)\n } else if (context.state?.bizplace) {\n bizplace = context.state.bizplace\n } else {\n bizplace = await bizplaceRepo.findOne({ where: { domain } })\n }\n\n if (product?.productRef?.id) {\n product.productRef = await productRepo.findOne(product.productRef.id)\n }\n\n if (!product?.id) delete product.id\n\n await validateProduct(\n {\n ...product,\n bizplace,\n domain\n },\n context\n )\n\n if (product.uom) {\n product.primaryUnit = product.uom\n }\n\n if (product.uomValue) {\n product.primaryValue = product.uomValue\n }\n\n const result = await productRepo.save({\n ...product,\n bizplace,\n domain,\n creator: user,\n updater: user\n })\n\n let productDetails = product.productDetails\n if (!productDetails) {\n productDetails = [new ProductDetail({ ...product, product: result, isDefault: true })]\n if (productDetails[0].gtin == null || productDetails[0] == undefined) {\n productDetails[0].gtin = product.sku\n }\n }\n\n await updateMultipleProductDetail(result.id, productDetails, context)\n\n if (product.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: product.thumbnail,\n refType: Product.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n } catch (error) {\n throw error\n }\n}\n\nexport async function createProducts(products, context: any) {\n const { resolve, reject } = await promisesAll.all(products.map(product => createProduct(product, context)))\n\n if (reject.length) {\n reject.forEach(({ name, message }) => logger.error(`${name}: ${message}`))\n\n return reject\n }\n\n return resolve\n}\n\nexport async function updateProduct(id: string, patch, context) {\n try {\n const { user, tx, domain }: { user: User; tx: EntityManager; domain: Domain } = context.state\n\n const bizplaceRepo: Repository<Bizplace> = tx.getRepository(Bizplace)\n const productRepo: Repository<Product> = tx.getRepository(Product)\n const productDetailRepo: Repository<ProductDetail> = tx.getRepository(ProductDetail)\n\n let product = await productRepo.findOne({ where: { id }, relations: ['domain'] })\n\n let productDetail = await productDetailRepo.findOne({\n where: { product: { id }, isDefault: true },\n relations: ['domain']\n })\n\n if (patch.productRef && patch.productRef.id) {\n patch.productRef = await productRepo.findOne(patch.productRef.id)\n }\n\n let bizplace: Bizplace\n if (product.bizplace?.id) {\n bizplace = await bizplaceRepo.findOne(product.bizplace.id)\n } else {\n bizplace = await bizplaceRepo.findOne({ where: { name: domain.name } })\n }\n\n await validateProduct(\n {\n ...product,\n ...patch,\n bizplace,\n domain\n },\n context\n )\n\n if (patch.uom) {\n product.primaryUnit = patch.uom\n }\n\n if (patch.uomValue) {\n product.primaryValue = patch.uomValue\n }\n\n product = await productRepo.save({\n ...product,\n ...patch,\n domain,\n updater: user\n })\n\n if (productDetail) {\n if (product.gtin) {\n delete product.gtin\n }\n productDetail = await updateProductDetail(\n productDetail.id,\n new ProductDetail({ ...product, ...patch, product }),\n context\n )\n } else {\n productDetail = await createProductDetail(\n new ProductDetail({ ...product, ...patch, product, isDefault: true }),\n context\n )\n }\n\n const productId = id\n if (patch.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [productId] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: patch.thumbnail,\n refType: Product.name,\n refBy: product.id\n }\n },\n context\n )\n }\n\n return product\n } catch (error) {\n throw error\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-query.js","sourceRoot":"","sources":["../../../server/service/product/product-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, getRepository, In, SelectQueryBuilder } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport {\n Bizplace,\n getCompaniesBizplaces,\n getCompanyBizplace,\n getMyBizplace,\n getPartnersCompanyBizplaces,\n getPermittedBizplaceIds\n} from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, Domain, ListParam } from '@things-factory/shell'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from './product'\nimport { ProductList } from './product-types'\n\nconst debug = require('debug')('things-factory:product-base:product')\n\n@Resolver(Product)\nexport class ProductQuery {\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => Product)\n async product(@Arg('sku') sku: string, @Ctx() context: any): Promise<Product> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n if (context?.state?.bizplace) {\n return await getRepository(Product).findOne({\n where: {\n domain: domain,\n sku,\n bizplace: context.state.bizplace\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n } else {\n return await getRepository(Product).findOne({\n where: {\n domain: domain,\n sku,\n bizplace: In(await getPermittedBizplaceIds(domain, user))\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => ProductList)\n async products(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const { domains }: { domains: Domain[] } = user as any /* TODO clarify this */\n let bizplaces: Bizplace[]\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplace_id')) {\n const warehouseDomain: Domain = domain\n const companiesBizplaces: Bizplace[] = await getCompaniesBizplaces(domains, warehouseDomain)\n const partnersCompanyBizplaces: Bizplace[] = await getPartnersCompanyBizplaces(domain, user)\n\n bizplaces = [...companiesBizplaces, ...partnersCompanyBizplaces]\n } else {\n const bizplaceId: string[] = params.filters.filter(param => param.name == 'bizplace_id').map(item => item.value)\n\n const foundBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceId[0] },\n relations: ['company', 'company.domain']\n })\n\n if (foundBizplace) {\n const companyDomain: Domain = foundBizplace.company?.domain\n const companyBizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain: companyDomain } })\n\n bizplaces = [companyBizplace, foundBizplace]\n }\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb\n .leftJoinAndSelect('Product.productDetails', 'ProductDetails')\n .leftJoinAndSelect('ProductDetails.childProductDetail', 'ChildProductDetail')\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => ProductList)\n async myBizplaceProducts(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const bizplaceFilter = params.filters.find(filter => filter.name === 'bizplace_id')\n\n let bizplaces: Bizplace[] = []\n if (!bizplaceFilter) {\n bizplaces.push(await getRepository(Bizplace).findOne({ where: { domain } }))\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb\n .leftJoinAndSelect('Product.productDetails', 'ProductDetails')\n .leftJoinAndSelect('Product.routing', 'Routing')\n .getManyAndCount()\n\n items = items.map(itm => {\n let defaultProductDetail = itm.productDetails.find(itm => itm.isDefault)\n return {\n ...itm,\n ...new ProductDetail(defaultProductDetail, true)\n }\n })\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => ProductList)\n async productsByBizplace(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')\n\n try {\n let bizplaces: Bizplace[]\n if (!bizplaceFilter || bizplaceFilter.value == '') {\n bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]\n } else {\n let myBizplace: Bizplace = await getRepository(Bizplace).findOne(bizplaceFilter.value, {\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: myBizplace.company.domain }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb.leftJoinAndSelect('Product.productDetails', 'ProductDetails').getManyAndCount()\n\n items = items.map(itm => {\n let defaultProductDetail = itm.productDetails?.find(itm => itm.isDefault)\n return {\n ...itm,\n ...new ProductDetail(defaultProductDetail, true)\n }\n })\n\n return { items, total }\n } catch (error) {\n throw error\n }\n }\n\n /**\n * @description this resolver was specially made to return huge products data\n * without dropping off performance due to typegraphql limitations\n * @returns pure product data only. there will be no other table joined to avoid\n * ORM lagging issue (converting to object extremely withdraws the performance)\n * */\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => ProductList)\n async pureProductsByBizplace(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')\n\n try {\n let bizplaces: Bizplace[]\n if (!bizplaceFilter || bizplaceFilter.value == '') {\n bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]\n } else {\n let myBizplace: Bizplace = await getRepository(Bizplace).findOne(bizplaceFilter.value, {\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: myBizplace.company.domain }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n let items = await qb.getRawMany()\n let total = await qb.getCount()\n\n return { items: items.map(item => new Product(item)), total }\n } catch (error) {\n throw error\n }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() product: Product): Promise<Domain> {\n if (product.domainId) return await getRepository(Domain).findOne(product.domainId)\n else return null\n }\n\n @FieldResolver(type => Bizplace)\n async bizplace(@Root() product: Product): Promise<Bizplace> {\n if (product.bizplaceId) return await getRepository(Bizplace).findOne(product.bizplaceId)\n else return null\n }\n\n @FieldResolver(type => User)\n async creator(@Root() product: Product): Promise<User> {\n if (product.creatorId) return await getRepository(User).findOne(product.creatorId)\n else return null\n }\n\n @FieldResolver(type => User)\n async updater(@Root() product: Product): Promise<User> {\n if (product.updaterId) return await getRepository(User).findOne(product.updaterId)\n else return null\n }\n\n @FieldResolver(type => Product)\n async parentProductRef(@Root() product: Product): Promise<Product> {\n if (product.parentProductRefId) return await getRepository(Product).findOne(product.parentProductRefId)\n else return null\n }\n\n @FieldResolver(type => Product)\n async productRef(@Root() product: Product): Promise<Product> {\n if (product.productRefId) return await getRepository(Product).findOne(product.productRefId)\n else return null\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() product: Product): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: product.domainId,\n refBy: product.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => String)\n productInformation(@Root() product: Product): String {\n return `[${product.sku}] ${product.name}${product.description ? ` - ${product.description}` : ''}`\n }\n\n @FieldResolver(type => String, { nullable: true })\n async warehouseId(@Root() product: Product): Promise<String | undefined> {\n if (!product.warehouseName) return null\n\n const items = await getRepository(Product).query(`\n SELECT w.id as \"warehouseId\" FROM products p LEFT JOIN warehouses w ON p.warehouse_name = w.name and w.domain_id = p.domain_id WHERE p.id = '${product.id}'\n `)\n\n return items[0].warehouseId || null\n }\n}\n\nfunction buildCustomConditions(params, context, bizplaces): SelectQueryBuilder<Product> {\n const deletedFilter = params.filters.find(x => x.name == 'deleted')\n const productFilters = params.filters.find(x => x.name == 'product_info')\n const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']\n\n try {\n params.filters = [\n ...params.filters.filter(x => ['product_info', 'bizplace', 'bizplace_id', 'deleted'].indexOf(x.name) == -1),\n { name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' },\n { name: 'bizplace_id', operator: 'in', value: bizplaces.map(bizplace => bizplace.id) }\n ]\n } catch (err) {\n // error with no bizplace.\n debug('[WARN] params.filters', err.message)\n }\n\n const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder()\n\n buildQuery(qb, params, context, { domainRef: false, searchables: ['sku', 'name'] })\n if (productFilters) {\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productFilters.operator,\n productFilters.value,\n productFilters.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n return qb\n}\n"]}
1
+ {"version":3,"file":"product-query.js","sourceRoot":"","sources":["../../../server/service/product/product-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, getRepository, In, SelectQueryBuilder } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport {\n Bizplace,\n getCompaniesBizplaces,\n getCompanyBizplace,\n getMyBizplace,\n getPartnersCompanyBizplaces,\n getPermittedBizplaceIds\n} from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, Domain, ListParam } from '@things-factory/shell'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from './product'\nimport { ProductList } from './product-types'\n\nconst debug = require('debug')('things-factory:product-base:product')\n\n@Resolver(Product)\nexport class ProductQuery {\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => Product)\n async product(@Arg('sku') sku: string, @Ctx() context: any): Promise<Product> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n if (context?.state?.bizplace) {\n return await getRepository(Product).findOne({\n where: {\n domain: domain,\n sku,\n bizplace: context.state.bizplace\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n } else {\n return await getRepository(Product).findOne({\n where: {\n domain: domain,\n sku,\n bizplace: In(await getPermittedBizplaceIds(domain, user))\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => ProductList)\n async products(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const { domains }: { domains: Domain[] } = user as any /* TODO clarify this */\n let bizplaces: Bizplace[]\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplace_id')) {\n const warehouseDomain: Domain = domain\n const companiesBizplaces: Bizplace[] = await getCompaniesBizplaces(domains, warehouseDomain)\n const partnersCompanyBizplaces: Bizplace[] = await getPartnersCompanyBizplaces(domain, user)\n\n bizplaces = [...companiesBizplaces, ...partnersCompanyBizplaces]\n } else {\n const bizplaceId: string[] = params.filters.filter(param => param.name == 'bizplace_id').map(item => item.value)\n\n const foundBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceId[0] },\n relations: ['company', 'company.domain']\n })\n\n if (foundBizplace) {\n const companyDomain: Domain = foundBizplace.company?.domain\n const companyBizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain: companyDomain } })\n\n bizplaces = [companyBizplace, foundBizplace]\n }\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb\n .leftJoinAndSelect('Product.productDetails', 'ProductDetails')\n .leftJoinAndSelect('ProductDetails.childProductDetail', 'ChildProductDetail')\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => ProductList)\n async myBizplaceProducts(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const bizplaceFilter = params.filters.find(filter => filter.name === 'bizplace_id')\n\n let bizplaces: Bizplace[] = []\n if (!bizplaceFilter) {\n bizplaces.push(await getRepository(Bizplace).findOne({ where: { domain } }))\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb\n .leftJoinAndSelect('Product.productDetails', 'ProductDetails')\n .leftJoinAndSelect('Product.routing', 'Routing')\n .getManyAndCount()\n\n items = items.map(itm => {\n let defaultProductDetail = itm.productDetails.find(itm => itm.isDefault)\n return {\n ...itm,\n ...new ProductDetail(defaultProductDetail, true)\n }\n })\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => ProductList)\n async productsByBizplace(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')\n\n try {\n let bizplaces: Bizplace[]\n if (!bizplaceFilter || bizplaceFilter.value == '') {\n bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]\n } else {\n let myBizplace: Bizplace = await getRepository(Bizplace).findOne(bizplaceFilter.value, {\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: myBizplace.company.domain }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb.leftJoinAndSelect('Product.productDetails', 'ProductDetails').getManyAndCount()\n\n items = items.map(itm => {\n let defaultProductDetail = itm.productDetails?.find(itm => itm.isDefault)\n return {\n ...itm,\n ...new ProductDetail(defaultProductDetail, true)\n }\n })\n\n return { items, total }\n } catch (error) {\n throw error\n }\n }\n\n /**\n * @description this resolver was specially made to return huge products data\n * without dropping off performance due to typegraphql limitations\n * @returns pure product data only. there will be no other table joined to avoid\n * ORM lagging issue (converting to object extremely withdraws the performance)\n * */\n @Directive('@privilege(category: \"order\", privilege: \"query\")')\n @Query(returns => ProductList)\n async pureProductsByBizplace(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')\n\n try {\n let bizplaces: Bizplace[]\n if (!bizplaceFilter || bizplaceFilter.value == '') {\n bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]\n } else {\n let myBizplace: Bizplace = await getRepository(Bizplace).findOne(bizplaceFilter.value, {\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: myBizplace.company.domain }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n let items = await qb.getRawMany()\n let total = await qb.getCount()\n\n return { items: items.map(item => new Product(item)), total }\n } catch (error) {\n throw error\n }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() product: Product): Promise<Domain> {\n if (product.domainId) return await getRepository(Domain).findOne(product.domainId)\n else return null\n }\n\n @FieldResolver(type => Bizplace)\n async bizplace(@Root() product: Product): Promise<Bizplace> {\n if (product.bizplaceId) return await getRepository(Bizplace).findOne(product.bizplaceId)\n else return null\n }\n\n @FieldResolver(type => User)\n async creator(@Root() product: Product): Promise<User> {\n if (product.creatorId) return await getRepository(User).findOne(product.creatorId)\n else return null\n }\n\n @FieldResolver(type => User)\n async updater(@Root() product: Product): Promise<User> {\n if (product.updaterId) return await getRepository(User).findOne(product.updaterId)\n else return null\n }\n\n @FieldResolver(type => Product)\n async parentProductRef(@Root() product: Product): Promise<Product> {\n if (product.parentProductRefId) return await getRepository(Product).findOne(product.parentProductRefId)\n else return null\n }\n\n @FieldResolver(type => Product)\n async productRef(@Root() product: Product): Promise<Product> {\n if (product.productRefId) return await getRepository(Product).findOne(product.productRefId)\n else return null\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() product: Product): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: product.domainId,\n refBy: product.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => String)\n productInformation(@Root() product: Product): String {\n return `[${product.sku}] ${product.name}${product.description ? ` - ${product.description}` : ''}`\n }\n\n @FieldResolver(type => String, { nullable: true })\n async warehouseId(@Root() product: Product): Promise<String | undefined> {\n if (!product.warehouseName) return null\n\n const items = await getRepository(Product).query(`\n SELECT w.id as \"warehouseId\" FROM products p LEFT JOIN warehouses w ON p.warehouse_name = w.name and w.domain_id = p.domain_id WHERE p.id = '${product.id}'\n `)\n\n return items[0].warehouseId || null\n }\n}\n\nfunction buildCustomConditions(params, context, bizplaces): SelectQueryBuilder<Product> {\n const deletedFilter = params.filters.find(x => x.name == 'deleted')\n const productFilters = params.filters.find(x => x.name == 'product_info')\n const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']\n\n try {\n params.filters = [\n ...params.filters.filter(x => ['product_info', 'bizplace', 'bizplace_id', 'deleted'].indexOf(x.name) == -1),\n { name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' },\n { name: 'bizplace_id', operator: 'in', value: bizplaces.map(bizplace => bizplace.id) }\n ]\n } catch (err) {\n // error with no bizplace.\n debug('[WARN] params.filters', err.message)\n }\n\n const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder()\n\n buildQuery(qb, params, context, { domainRef: false, searchables: ['sku', 'name'] })\n if (productFilters) {\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productFilters.operator,\n productFilters.value,\n productFilters.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n return qb\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-types.js","sourceRoot":"","sources":["../../../server/service/product/product-types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Field, Float, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { BizplacePatch } from '@things-factory/biz-base'\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { ProductDetailPatch } from '../product-detail/product-detail-types'\nimport { Product } from './product'\n\n@InputType()\nexport class NewProduct {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n sku?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n bizplace?: BizplacePatch\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => ObjectRef, { nullable: true })\n productRef?: ObjectRef\n\n @Field({ nullable: true })\n parentProductRef?: ObjectRef\n\n @Field(type => [ObjectRef], { nullable: true })\n childProducts?: ObjectRef[]\n\n @Field(type => [ProductDetailPatch], { nullable: true })\n productDetails?: ProductDetailPatch[]\n\n @Field(type => Float, { nullable: true })\n bundleQty?: number\n\n @Field({ nullable: true })\n type?: string\n\n @Field(type => Int, { nullable: true })\n expirationPeriod?: number\n\n @Field({ nullable: true })\n movement?: string\n\n @Field({ nullable: true })\n weightUnit?: string\n\n @Field(type => Float, { nullable: true })\n nettWeight?: number\n\n @Field(type => Float, { nullable: true })\n density?: number\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field({ nullable: true })\n lengthUnit?: string\n\n @Field(type => Float, { nullable: true })\n costPrice?: number\n\n @Field(type => Float, { nullable: true })\n afterTaxCostPrice?: number\n\n @Field(type => Float, { nullable: true })\n sellPrice?: number\n\n @Field(type => Float, { nullable: true })\n afterTaxSalesPrice?: number\n\n @Field(type => Float, { nullable: true })\n mrpPrice?: number\n\n @Field(type => Float, { nullable: true })\n bufferQty?: number\n\n @Field(type => Float, { nullable: true })\n minQty?: number\n\n @Field(type => Float, { nullable: true })\n maxQty?: number\n\n @Field(type => Float, { nullable: true })\n width?: number\n\n @Field(type => Float, { nullable: true })\n depth?: number\n\n @Field(type => Float, { nullable: true })\n height?: number\n\n @Field({ nullable: true })\n primaryUnit?: string\n\n @Field(type => Float, { nullable: true })\n primaryValue?: number\n\n @Field({ nullable: true })\n uom?: string\n\n @Field(type => Float, { nullable: true })\n uomValue?: number\n\n @Field({ nullable: true })\n inventoryAccountCode?: string\n\n @Field({ nullable: true })\n cogsAccountCode?: string\n\n @Field({ nullable: true })\n auxUnit1?: string\n\n @Field({ nullable: true })\n auxValue1?: string\n\n @Field({ nullable: true })\n auxUnit2?: string\n\n @Field({ nullable: true })\n auxValue2?: string\n\n @Field({ nullable: true })\n auxUnit3?: string\n\n @Field({ nullable: true })\n auxValue3?: string\n\n @Field({ nullable: true })\n auxUnit4?: string\n\n @Field({ nullable: true })\n auxValue4?: string\n\n @Field({ nullable: true })\n auxUnit5?: string\n\n @Field({ nullable: true })\n auxValue5?: string\n\n @Field({ nullable: true })\n groupType?: string\n\n @Field({ nullable: true })\n brandSku?: string\n\n @Field({ nullable: true })\n brand?: string\n\n @Field({ nullable: true })\n subBrand?: string\n\n @Field({ nullable: true })\n isRequiredCheckExpiry?: boolean\n\n @Field({ nullable: true })\n isRequireSerialNumberScanning?: boolean\n\n @Field({ nullable: true })\n isRequireSerialNumberScanningInbound?: boolean\n\n @Field({ nullable: true })\n isRequireSerialNumberScanningOutbound?: boolean\n\n @Field({ nullable: true })\n gtin?: string\n\n @Field(type => Float, { nullable: true })\n grossWeight?: number\n\n @Field(type => Float, { nullable: true })\n volume?: number\n\n @Field(type => Float, { nullable: true })\n volumeSize?: number\n\n @Field(type => ObjectRef, { nullable: true })\n routing?: ObjectRef\n\n @Field({ nullable: true })\n warehouseName?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n pickingStrategy?: string\n}\n\n@ObjectType()\nexport class ProductList {\n @Field(type => [Product], { nullable: true })\n items?: Product[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class ProductPatch {\n @Field({ nullable: true })\n id?: string\n\n @Field({ nullable: true })\n sku?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n productRef?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n parentProductRef?: ObjectRef\n\n @Field(type => [ObjectRef], { nullable: true })\n childProducts?: ObjectRef[]\n\n @Field(type => Float, { nullable: true })\n bundleQty?: number\n\n @Field({ nullable: true })\n refCode?: string\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field(type => Float, { nullable: true })\n packingSize?: number\n\n @Field({ nullable: true })\n type?: string\n\n @Field(type => Int, { nullable: true })\n expirationPeriod?: number\n\n @Field({ nullable: true })\n movement?: string\n\n @Field({ nullable: true })\n weightUnit?: string\n\n @Field(type => Float, { nullable: true })\n nettWeight?: number\n\n @Field(type => Float, { nullable: true })\n density?: number\n\n @Field({ nullable: true })\n lengthUnit?: string\n\n @Field(type => Float, { nullable: true })\n costPrice?: number\n\n @Field(type => Float, { nullable: true })\n afterTaxCostPrice: number\n\n @Field(type => Float, { nullable: true })\n sellPrice?: number\n\n @Field(type => Float, { nullable: true })\n afterTaxSalesPrice?: number\n\n @Field(type => Float, { nullable: true })\n mrpPrice?: number\n\n @Field(type => Float, { nullable: true })\n bufferQty?: number\n\n @Field(type => Float, { nullable: true })\n minQty?: number\n\n @Field(type => Float, { nullable: true })\n maxQty?: number\n\n @Field(type => Float, { nullable: true })\n width?: number\n\n @Field(type => Float, { nullable: true })\n depth?: number\n\n @Field(type => Float, { nullable: true })\n height?: number\n\n @Field({ nullable: true })\n inventoryAccountCode?: string\n\n @Field({ nullable: true })\n cogsAccountCode?: string\n\n @Field(type => Boolean, { nullable: true })\n isTrackedAsInventory: boolean\n\n @Field(type => Boolean, { nullable: true })\n isRequiredCheckExpiry?: boolean\n\n @Field(type => Boolean, { nullable: true })\n isRequireSerialNumberScanning?: boolean\n\n @Field(type => Boolean, { nullable: true })\n isRequireSerialNumberScanningInbound?: boolean\n\n @Field(type => Boolean, { nullable: true })\n isRequireSerialNumberScanningOutbound?: boolean\n\n @Field({ nullable: true })\n primaryUnit?: string\n\n @Field(type => Float, { nullable: true })\n primaryValue?: number\n\n @Field({ nullable: true })\n uom?: string\n\n @Field(type => Float, { nullable: true })\n uomValue?: number\n\n @Field({ nullable: true })\n auxUnit1?: string\n\n @Field({ nullable: true })\n auxValue1?: string\n\n @Field({ nullable: true })\n auxUnit2?: string\n\n @Field({ nullable: true })\n auxValue2?: string\n\n @Field({ nullable: true })\n auxUnit3?: string\n\n @Field({ nullable: true })\n auxValue3?: string\n\n @Field({ nullable: true })\n auxUnit4?: string\n\n @Field({ nullable: true })\n auxValue4?: string\n\n @Field({ nullable: true })\n auxUnit5?: string\n\n @Field({ nullable: true })\n auxValue5?: string\n\n @Field({ nullable: true })\n brandSku?: string\n\n @Field({ nullable: true })\n brand?: string\n\n @Field({ nullable: true })\n subBrand?: string\n\n @Field({ nullable: true })\n gtin?: string\n\n @Field(type => Float, { nullable: true })\n grossWeight?: number\n\n @Field(type => Float, { nullable: true })\n volume?: number\n\n @Field(type => Float, { nullable: true })\n volumeSize?: number\n\n @Field({ nullable: true })\n childGtin?: string\n\n @Field(type => Float, { nullable: true })\n childQty?: number\n\n @Field(type => ObjectRef, { nullable: true })\n routing?: ObjectRef\n\n @Field({ nullable: true })\n warehouseName?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n pickingStrategy?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n"]}
1
+ {"version":3,"file":"product-types.js","sourceRoot":"","sources":["../../../server/service/product/product-types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Field, Float, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { BizplacePatch } from '@things-factory/biz-base'\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { ProductDetailPatch } from '../product-detail/product-detail-types'\nimport { Product } from './product'\n\n@InputType()\nexport class NewProduct {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n sku?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n bizplace?: BizplacePatch\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => ObjectRef, { nullable: true })\n productRef?: ObjectRef\n\n @Field({ nullable: true })\n parentProductRef?: ObjectRef\n\n @Field(type => [ObjectRef], { nullable: true })\n childProducts?: ObjectRef[]\n\n @Field(type => [ProductDetailPatch], { nullable: true })\n productDetails?: ProductDetailPatch[]\n\n @Field(type => Float, { nullable: true })\n bundleQty?: number\n\n @Field({ nullable: true })\n type?: string\n\n @Field(type => Int, { nullable: true })\n expirationPeriod?: number\n\n @Field({ nullable: true })\n movement?: string\n\n @Field({ nullable: true })\n weightUnit?: string\n\n @Field(type => Float, { nullable: true })\n nettWeight?: number\n\n @Field(type => Float, { nullable: true })\n density?: number\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field({ nullable: true })\n lengthUnit?: string\n\n @Field(type => Float, { nullable: true })\n costPrice?: number\n\n @Field(type => Float, { nullable: true })\n afterTaxCostPrice?: number\n\n @Field(type => Float, { nullable: true })\n sellPrice?: number\n\n @Field(type => Float, { nullable: true })\n afterTaxSalesPrice?: number\n\n @Field(type => Float, { nullable: true })\n mrpPrice?: number\n\n @Field(type => Float, { nullable: true })\n bufferQty?: number\n\n @Field(type => Float, { nullable: true })\n minQty?: number\n\n @Field(type => Float, { nullable: true })\n maxQty?: number\n\n @Field(type => Float, { nullable: true })\n width?: number\n\n @Field(type => Float, { nullable: true })\n depth?: number\n\n @Field(type => Float, { nullable: true })\n height?: number\n\n @Field({ nullable: true })\n primaryUnit?: string\n\n @Field(type => Float, { nullable: true })\n primaryValue?: number\n\n @Field({ nullable: true })\n uom?: string\n\n @Field(type => Float, { nullable: true })\n uomValue?: number\n\n @Field({ nullable: true })\n inventoryAccountCode?: string\n\n @Field({ nullable: true })\n cogsAccountCode?: string\n\n @Field({ nullable: true })\n auxUnit1?: string\n\n @Field({ nullable: true })\n auxValue1?: string\n\n @Field({ nullable: true })\n auxUnit2?: string\n\n @Field({ nullable: true })\n auxValue2?: string\n\n @Field({ nullable: true })\n auxUnit3?: string\n\n @Field({ nullable: true })\n auxValue3?: string\n\n @Field({ nullable: true })\n auxUnit4?: string\n\n @Field({ nullable: true })\n auxValue4?: string\n\n @Field({ nullable: true })\n auxUnit5?: string\n\n @Field({ nullable: true })\n auxValue5?: string\n\n @Field({ nullable: true })\n groupType?: string\n\n @Field({ nullable: true })\n brandSku?: string\n\n @Field({ nullable: true })\n brand?: string\n\n @Field({ nullable: true })\n subBrand?: string\n\n @Field({ nullable: true })\n isRequiredCheckExpiry?: boolean\n\n @Field({ nullable: true })\n isRequireSerialNumberScanning?: boolean\n\n @Field({ nullable: true })\n isRequireSerialNumberScanningInbound?: boolean\n\n @Field({ nullable: true })\n isRequireSerialNumberScanningOutbound?: boolean\n\n @Field({ nullable: true })\n gtin?: string\n\n @Field(type => Float, { nullable: true })\n grossWeight?: number\n\n @Field(type => Float, { nullable: true })\n volume?: number\n\n @Field(type => Float, { nullable: true })\n volumeSize?: number\n\n @Field(type => ObjectRef, { nullable: true })\n routing?: ObjectRef\n\n @Field({ nullable: true })\n warehouseName?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n pickingStrategy?: string\n}\n\n@ObjectType()\nexport class ProductList {\n @Field(type => [Product], { nullable: true })\n items?: Product[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class ProductPatch {\n @Field({ nullable: true })\n id?: string\n\n @Field({ nullable: true })\n sku?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n productRef?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n parentProductRef?: ObjectRef\n\n @Field(type => [ObjectRef], { nullable: true })\n childProducts?: ObjectRef[]\n\n @Field(type => Float, { nullable: true })\n bundleQty?: number\n\n @Field({ nullable: true })\n refCode?: string\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field(type => Float, { nullable: true })\n packingSize?: number\n\n @Field({ nullable: true })\n type?: string\n\n @Field(type => Int, { nullable: true })\n expirationPeriod?: number\n\n @Field({ nullable: true })\n movement?: string\n\n @Field({ nullable: true })\n weightUnit?: string\n\n @Field(type => Float, { nullable: true })\n nettWeight?: number\n\n @Field(type => Float, { nullable: true })\n density?: number\n\n @Field({ nullable: true })\n lengthUnit?: string\n\n @Field(type => Float, { nullable: true })\n costPrice?: number\n\n @Field(type => Float, { nullable: true })\n afterTaxCostPrice: number\n\n @Field(type => Float, { nullable: true })\n sellPrice?: number\n\n @Field(type => Float, { nullable: true })\n afterTaxSalesPrice?: number\n\n @Field(type => Float, { nullable: true })\n mrpPrice?: number\n\n @Field(type => Float, { nullable: true })\n bufferQty?: number\n\n @Field(type => Float, { nullable: true })\n minQty?: number\n\n @Field(type => Float, { nullable: true })\n maxQty?: number\n\n @Field(type => Float, { nullable: true })\n width?: number\n\n @Field(type => Float, { nullable: true })\n depth?: number\n\n @Field(type => Float, { nullable: true })\n height?: number\n\n @Field({ nullable: true })\n inventoryAccountCode?: string\n\n @Field({ nullable: true })\n cogsAccountCode?: string\n\n @Field(type => Boolean, { nullable: true })\n isTrackedAsInventory: boolean\n\n @Field(type => Boolean, { nullable: true })\n isRequiredCheckExpiry?: boolean\n\n @Field(type => Boolean, { nullable: true })\n isRequireSerialNumberScanning?: boolean\n\n @Field(type => Boolean, { nullable: true })\n isRequireSerialNumberScanningInbound?: boolean\n\n @Field(type => Boolean, { nullable: true })\n isRequireSerialNumberScanningOutbound?: boolean\n\n @Field({ nullable: true })\n primaryUnit?: string\n\n @Field(type => Float, { nullable: true })\n primaryValue?: number\n\n @Field({ nullable: true })\n uom?: string\n\n @Field(type => Float, { nullable: true })\n uomValue?: number\n\n @Field({ nullable: true })\n auxUnit1?: string\n\n @Field({ nullable: true })\n auxValue1?: string\n\n @Field({ nullable: true })\n auxUnit2?: string\n\n @Field({ nullable: true })\n auxValue2?: string\n\n @Field({ nullable: true })\n auxUnit3?: string\n\n @Field({ nullable: true })\n auxValue3?: string\n\n @Field({ nullable: true })\n auxUnit4?: string\n\n @Field({ nullable: true })\n auxValue4?: string\n\n @Field({ nullable: true })\n auxUnit5?: string\n\n @Field({ nullable: true })\n auxValue5?: string\n\n @Field({ nullable: true })\n brandSku?: string\n\n @Field({ nullable: true })\n brand?: string\n\n @Field({ nullable: true })\n subBrand?: string\n\n @Field({ nullable: true })\n gtin?: string\n\n @Field(type => Float, { nullable: true })\n grossWeight?: number\n\n @Field(type => Float, { nullable: true })\n volume?: number\n\n @Field(type => Float, { nullable: true })\n volumeSize?: number\n\n @Field({ nullable: true })\n childGtin?: string\n\n @Field(type => Float, { nullable: true })\n childQty?: number\n\n @Field(type => ObjectRef, { nullable: true })\n routing?: ObjectRef\n\n @Field({ nullable: true })\n warehouseName?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n pickingStrategy?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
- var Product_1, _a, _b, _c, _d, _e;
2
+ var Product_1;
3
+ var _a, _b, _c, _d, _e;
3
4
  Object.defineProperty(exports, "__esModule", { value: true });
4
5
  exports.Product = exports.pickStrategy = void 0;
5
6
  const tslib_1 = require("tslib");
@@ -1 +1 @@
1
- {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../server/service/product/product.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, Float, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n OneToMany,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { config } from '@things-factory/env'\nimport { Routing } from '@things-factory/routing-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { ProductSet } from '../product-set/product-set'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum pickStrategy {\n FIFO = 'FIFO',\n FEFO = 'FEFO',\n FMFO = 'FMFO',\n LIFO = 'LIFO',\n LOCATION = 'LOCATION'\n}\n\n@Entity()\n@Index(\n 'ix_product_0',\n (product: Product) => [product.domain, product.bizplace, product.name, product.description, product.weight],\n { unique: true }\n)\n@Index('ix_product_1', (product: Product) => [product.bizplace])\n@ObjectType()\nexport class Product {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n id: string\n\n @ManyToOne(type => Domain)\n @Field()\n domain: Domain\n\n @RelationId((product: Product) => product.domain)\n domainId: string\n\n @RelationId((product: Product) => product.bizplace)\n bizplaceId: string\n\n @RelationId((product: Product) => product.productRef)\n productRefId: string\n\n @RelationId((product: Product) => product.parentProductRef)\n parentProductRefId: string\n\n @ManyToOne(type => Bizplace)\n @Field()\n bizplace: Bizplace\n\n @Column({ default: false })\n @Field()\n isCompany: boolean\n\n @Column()\n @Field({ nullable: true })\n sku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brandSku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brand: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n subBrand: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n gtin: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n caseGtin: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n name: string\n\n @Column()\n @Field()\n type: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n packingType: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n @OneToMany(type => ProductDetail, productDetails => productDetails.product, { nullable: true })\n @Field(type => [ProductDetail], { nullable: true })\n productDetails: ProductDetail[]\n\n @ManyToOne(type => Product, { nullable: true })\n @Field({ nullable: true })\n productRef: Product\n\n //// To be removed ////\n @ManyToOne(type => Product, { nullable: true })\n @Field({ nullable: true })\n parentProductRef: Product\n\n //// To be removed ////\n @OneToMany(type => Product, product => product.parentProductRef, { nullable: true })\n @Field(type => [Product], { nullable: true })\n childProducts: Product[]\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n bundleQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n expirationPeriod: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n weightUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n weight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n grossWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseGrossWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n density: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n lengthUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n costPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n mrpPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n sellPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n afterTaxCostPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n afterTaxSalesPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n width: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n depth: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n height: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n volume: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseWidth: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseDepth: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseHeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseVolume: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n volumeSize: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n primaryUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n primaryValue: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit1: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue1: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit2: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue2: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit3: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue3: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n inventoryAccountCode: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n cogsAccountCode: string\n\n //// To be removed ////\n @ManyToOne(type => ProductSet, productSet => productSet.product, { nullable: true })\n @Field({ nullable: true })\n productSet: ProductSet\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n movement: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n bufferQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n minQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n maxQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n discountId: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n status: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n isTrackedAsInventory: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequiredCheckExpiry: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanning: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanningInbound: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanningOutbound: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deletedAt: Date\n\n @Column({\n nullable: false,\n type:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'enum'\n : DATABASE_TYPE == 'oracle'\n ? 'varchar2'\n : 'smallint',\n enum: pickStrategy,\n default: pickStrategy.FIFO\n })\n @Field()\n pickingStrategy: pickStrategy\n\n @Field({ nullable: true })\n refCode: string\n\n @Field(type => Float, { nullable: true })\n nettWeight: number\n\n @Field({ nullable: true })\n uom: string\n\n @Field(type => Float, { nullable: true })\n uomValue: number\n\n @Field({ nullable: true })\n auxUnit4: string\n\n @Field({ nullable: true })\n auxValue4: string\n\n @Field({ nullable: true })\n auxUnit5: string\n\n @Field({ nullable: true })\n auxValue5: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((product: Product) => product.creator)\n creatorId: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((product: Product) => product.updater)\n updaterId: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n @ManyToOne(type => Routing, { nullable: true })\n @Field({ nullable: true })\n routing?: Routing\n\n @RelationId((product: Product) => product.routing)\n routingId?: string\n\n @Column({ nullable: true })\n @Field(type => String, { nullable: true })\n warehouseName?: string\n\n @Field(type => String, { nullable: true })\n thumbnail?: string\n\n @Field({ nullable: true })\n productInformation: string\n\n constructor(obj?) {\n if (obj) {\n this.id = obj.Product_id\n this.sku = obj.Product_sku\n this.name = obj.Product_name\n this.description = obj.Product_description\n this.bundleQty = obj.Product_bundle_qty\n this.type = obj.Product_type\n this.packingType = obj.Product_packing_type\n this.expirationPeriod = obj.Product_expiration_period\n this.weightUnit = obj.Product_weight_unit\n this.weight = obj.Product_weight\n this.density = obj.Product_density\n this.lengthUnit = obj.Product_length_unit\n this.costPrice = obj.Product_cost_price\n this.sellPrice = obj.Product_sell_price\n this.width = obj.Product_width\n this.depth = obj.Product_depth\n this.height = obj.Product_height\n this.primaryUnit = obj.Product_primary_unit\n this.primaryValue = obj.Product_primary_value\n this.auxUnit1 = obj.Product_aux_unit_1\n this.auxValue1 = obj.Product_aux_value_1\n this.auxUnit2 = obj.Product_aux_unit_2\n this.auxValue2 = obj.Product_aux_value_2\n this.auxUnit3 = obj.Product_aux_unit_3\n this.auxValue3 = obj.Product_aux_value_3\n this.createdAt = obj.Product_created_at\n this.updatedAt = obj.Product_updated_at\n this.movement = obj.Product_movement\n this.inventoryAccountCode = obj.Product_inventory_account_code\n this.cogsAccountCode = obj.Product_cogs_account_code\n this.isTrackedAsInventory = obj.Product_is_tracked_as_inventory\n this.mrpPrice = obj.Product_mrp_price\n this.afterTaxCostPrice = obj.Product_after_tax_cost_price\n this.afterTaxSalesPrice = obj.Product_after_tax_sales_price\n this.bufferQty = obj.Product_buffer_qty\n this.discountId = obj.Product_discount_id\n this.status = obj.Product_status\n this.brandSku = obj.Product_brand_sku\n this.brand = obj.Product_brand\n this.subBrand = obj.Product_sub_brand\n this.gtin = obj.Product_gtin\n this.caseGtin = obj.Product_case_gtin\n this.grossWeight = obj.Product_gross_weight\n this.caseWeight = obj.Product_case_weight\n this.caseGrossWeight = obj.Product_case_gross_weight\n this.volume = obj.Product_volume\n this.caseWidth = obj.Product_case_width\n this.caseDepth = obj.Product_case_depth\n this.caseHeight = obj.Product_case_height\n this.caseVolume = obj.Product_case_volume\n this.volumeSize = obj.Product_volume_size\n this.minQty = obj.Product_min_qty\n this.maxQty = obj.Product_max_qty\n this.isCompany = obj.Product_is_company\n this.deletedAt = obj.Product_deleted_at\n this.isRequiredCheckExpiry = obj.Product_is_required_check_expiry\n this.isRequireSerialNumberScanning = obj.Product_is_require_serial_number_scanning\n this.isRequireSerialNumberScanningInbound = obj.Product_is_require_serial_number_scanning_inbound\n this.isRequireSerialNumberScanningOutbound = obj.Product_is_require_serial_number_scanning_outbound\n this.bizplace = { id: obj.Product_bizplace_id } as any\n this.domain = { id: obj.Product_domain_id } as any\n }\n }\n}\n"]}
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../server/service/product/product.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, Float, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n OneToMany,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { config } from '@things-factory/env'\nimport { Routing } from '@things-factory/routing-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { ProductSet } from '../product-set/product-set'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum pickStrategy {\n FIFO = 'FIFO',\n FEFO = 'FEFO',\n FMFO = 'FMFO',\n LIFO = 'LIFO',\n LOCATION = 'LOCATION'\n}\n\n@Entity()\n@Index(\n 'ix_product_0',\n (product: Product) => [product.domain, product.bizplace, product.name, product.description, product.weight],\n { unique: true }\n)\n@Index('ix_product_1', (product: Product) => [product.bizplace])\n@ObjectType()\nexport class Product {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n id: string\n\n @ManyToOne(type => Domain)\n @Field()\n domain: Domain\n\n @RelationId((product: Product) => product.domain)\n domainId: string\n\n @RelationId((product: Product) => product.bizplace)\n bizplaceId: string\n\n @RelationId((product: Product) => product.productRef)\n productRefId: string\n\n @RelationId((product: Product) => product.parentProductRef)\n parentProductRefId: string\n\n @ManyToOne(type => Bizplace)\n @Field()\n bizplace: Bizplace\n\n @Column({ default: false })\n @Field()\n isCompany: boolean\n\n @Column()\n @Field({ nullable: true })\n sku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brandSku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brand: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n subBrand: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n gtin: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n caseGtin: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n name: string\n\n @Column()\n @Field()\n type: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n packingType: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n @OneToMany(type => ProductDetail, productDetails => productDetails.product, { nullable: true })\n @Field(type => [ProductDetail], { nullable: true })\n productDetails: ProductDetail[]\n\n @ManyToOne(type => Product, { nullable: true })\n @Field({ nullable: true })\n productRef: Product\n\n //// To be removed ////\n @ManyToOne(type => Product, { nullable: true })\n @Field({ nullable: true })\n parentProductRef: Product\n\n //// To be removed ////\n @OneToMany(type => Product, product => product.parentProductRef, { nullable: true })\n @Field(type => [Product], { nullable: true })\n childProducts: Product[]\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n bundleQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n expirationPeriod: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n weightUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n weight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n grossWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseGrossWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n density: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n lengthUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n costPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n mrpPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n sellPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n afterTaxCostPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n afterTaxSalesPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n width: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n depth: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n height: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n volume: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseWidth: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseDepth: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseHeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n caseVolume: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n volumeSize: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n primaryUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n primaryValue: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit1: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue1: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit2: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue2: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit3: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue3: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n inventoryAccountCode: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n cogsAccountCode: string\n\n //// To be removed ////\n @ManyToOne(type => ProductSet, productSet => productSet.product, { nullable: true })\n @Field({ nullable: true })\n productSet: ProductSet\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n movement: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n bufferQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n minQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n maxQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n discountId: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n status: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n isTrackedAsInventory: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequiredCheckExpiry: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanning: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanningInbound: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanningOutbound: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deletedAt: Date\n\n @Column({\n nullable: false,\n type:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'enum'\n : DATABASE_TYPE == 'oracle'\n ? 'varchar2'\n : 'smallint',\n enum: pickStrategy,\n default: pickStrategy.FIFO\n })\n @Field()\n pickingStrategy: pickStrategy\n\n @Field({ nullable: true })\n refCode: string\n\n @Field(type => Float, { nullable: true })\n nettWeight: number\n\n @Field({ nullable: true })\n uom: string\n\n @Field(type => Float, { nullable: true })\n uomValue: number\n\n @Field({ nullable: true })\n auxUnit4: string\n\n @Field({ nullable: true })\n auxValue4: string\n\n @Field({ nullable: true })\n auxUnit5: string\n\n @Field({ nullable: true })\n auxValue5: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((product: Product) => product.creator)\n creatorId: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((product: Product) => product.updater)\n updaterId: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n @ManyToOne(type => Routing, { nullable: true })\n @Field({ nullable: true })\n routing?: Routing\n\n @RelationId((product: Product) => product.routing)\n routingId?: string\n\n @Column({ nullable: true })\n @Field(type => String, { nullable: true })\n warehouseName?: string\n\n @Field(type => String, { nullable: true })\n thumbnail?: string\n\n @Field({ nullable: true })\n productInformation: string\n\n constructor(obj?) {\n if (obj) {\n this.id = obj.Product_id\n this.sku = obj.Product_sku\n this.name = obj.Product_name\n this.description = obj.Product_description\n this.bundleQty = obj.Product_bundle_qty\n this.type = obj.Product_type\n this.packingType = obj.Product_packing_type\n this.expirationPeriod = obj.Product_expiration_period\n this.weightUnit = obj.Product_weight_unit\n this.weight = obj.Product_weight\n this.density = obj.Product_density\n this.lengthUnit = obj.Product_length_unit\n this.costPrice = obj.Product_cost_price\n this.sellPrice = obj.Product_sell_price\n this.width = obj.Product_width\n this.depth = obj.Product_depth\n this.height = obj.Product_height\n this.primaryUnit = obj.Product_primary_unit\n this.primaryValue = obj.Product_primary_value\n this.auxUnit1 = obj.Product_aux_unit_1\n this.auxValue1 = obj.Product_aux_value_1\n this.auxUnit2 = obj.Product_aux_unit_2\n this.auxValue2 = obj.Product_aux_value_2\n this.auxUnit3 = obj.Product_aux_unit_3\n this.auxValue3 = obj.Product_aux_value_3\n this.createdAt = obj.Product_created_at\n this.updatedAt = obj.Product_updated_at\n this.movement = obj.Product_movement\n this.inventoryAccountCode = obj.Product_inventory_account_code\n this.cogsAccountCode = obj.Product_cogs_account_code\n this.isTrackedAsInventory = obj.Product_is_tracked_as_inventory\n this.mrpPrice = obj.Product_mrp_price\n this.afterTaxCostPrice = obj.Product_after_tax_cost_price\n this.afterTaxSalesPrice = obj.Product_after_tax_sales_price\n this.bufferQty = obj.Product_buffer_qty\n this.discountId = obj.Product_discount_id\n this.status = obj.Product_status\n this.brandSku = obj.Product_brand_sku\n this.brand = obj.Product_brand\n this.subBrand = obj.Product_sub_brand\n this.gtin = obj.Product_gtin\n this.caseGtin = obj.Product_case_gtin\n this.grossWeight = obj.Product_gross_weight\n this.caseWeight = obj.Product_case_weight\n this.caseGrossWeight = obj.Product_case_gross_weight\n this.volume = obj.Product_volume\n this.caseWidth = obj.Product_case_width\n this.caseDepth = obj.Product_case_depth\n this.caseHeight = obj.Product_case_height\n this.caseVolume = obj.Product_case_volume\n this.volumeSize = obj.Product_volume_size\n this.minQty = obj.Product_min_qty\n this.maxQty = obj.Product_max_qty\n this.isCompany = obj.Product_is_company\n this.deletedAt = obj.Product_deleted_at\n this.isRequiredCheckExpiry = obj.Product_is_required_check_expiry\n this.isRequireSerialNumberScanning = obj.Product_is_require_serial_number_scanning\n this.isRequireSerialNumberScanningInbound = obj.Product_is_require_serial_number_scanning_inbound\n this.isRequireSerialNumberScanningOutbound = obj.Product_is_require_serial_number_scanning_outbound\n this.bizplace = { id: obj.Product_bizplace_id } as any\n this.domain = { id: obj.Product_domain_id } as any\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-mutation.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, getRepository, In, Repository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\n\nimport { PRODUCT_BUNDLE_STATUS } from '../../constants'\nimport { ProductBundle } from './product-bundle'\nimport { NewProductBundle, ProductBundlePatch } from './product-bundle-types'\n\n@Resolver(ProductBundle)\nexport class ProductBundleMutation {\n @Mutation(returns => ProductBundle)\n async createProductBundle(\n @Arg('productBundle') productBundle: NewProductBundle,\n @Ctx() context: any\n ): Promise<ProductBundle> {\n const { domain, user } = context.state\n\n return await getRepository(ProductBundle).save({\n ...productBundle,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Mutation(returns => ProductBundle)\n async updateProductBundle(\n @Arg('name') name: string,\n @Arg('patch') patch: ProductBundlePatch,\n @Ctx() context: any\n ): Promise<ProductBundle> {\n const { domain, user } = context.state\n\n const repository = getRepository(ProductBundle)\n const productBundle = await repository.findOne({\n where: { domain, name }\n })\n\n return await repository.save({\n ...productBundle,\n ...patch,\n updater: user\n })\n }\n\n @Mutation(returns => [ProductBundle])\n async updateMultipleProductBundle(\n @Arg('patches', type => [ProductBundlePatch]) patches: ProductBundlePatch[],\n @Ctx() context: any\n ): Promise<ProductBundle[]> {\n const { domain, user } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const productBundleRepo = getRepository(ProductBundle)\n const bizplaceRepo = getRepository(Bizplace)\n\n let bizplace: Bizplace\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n let newRecord = _createRecords[i]\n let status = newRecord.status || ''\n\n bizplace = await bizplaceRepo.findOne({ where: { name: domain.name } })\n\n if (!newRecord.status || newRecord.status === '') {\n newRecord.status = PRODUCT_BUNDLE_STATUS.INACTIVE\n }\n\n const result = await productBundleRepo.save({\n ...newRecord,\n domain,\n bizplace,\n status: newRecord.status.toUpperCase(),\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const productBundle = await productBundleRepo.findOne({ domain, id: newRecord.id })\n\n if (newRecord.status) {\n newRecord.status = newRecord.status.toUpperCase()\n }\n\n const result = await productBundleRepo.save({\n ...productBundle,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundle(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {\n const { domain, user } = context.state\n\n await getRepository(ProductBundle).delete({ domain, name })\n\n return true\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundles(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {\n const { tx, user }: { tx: EntityManager; user: User } = context.state\n const productBundleRepo: Repository<ProductBundle> = getRepository(ProductBundle) || tx.getRepository(ProductBundle)\n\n let productBundles = await productBundleRepo.find({ where: { id: In(ids) } })\n\n for (let i = 0; i < productBundles.length; i++) {\n const product = productBundles[i]\n\n const result = await productBundleRepo.save({\n ...product,\n status: PRODUCT_BUNDLE_STATUS.DELETED,\n updater: user\n })\n }\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"product-bundle-mutation.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, getRepository, In, Repository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\n\nimport { PRODUCT_BUNDLE_STATUS } from '../../constants'\nimport { ProductBundle } from './product-bundle'\nimport { NewProductBundle, ProductBundlePatch } from './product-bundle-types'\n\n@Resolver(ProductBundle)\nexport class ProductBundleMutation {\n @Mutation(returns => ProductBundle)\n async createProductBundle(\n @Arg('productBundle') productBundle: NewProductBundle,\n @Ctx() context: any\n ): Promise<ProductBundle> {\n const { domain, user } = context.state\n\n return await getRepository(ProductBundle).save({\n ...productBundle,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Mutation(returns => ProductBundle)\n async updateProductBundle(\n @Arg('name') name: string,\n @Arg('patch') patch: ProductBundlePatch,\n @Ctx() context: any\n ): Promise<ProductBundle> {\n const { domain, user } = context.state\n\n const repository = getRepository(ProductBundle)\n const productBundle = await repository.findOne({\n where: { domain, name }\n })\n\n return await repository.save({\n ...productBundle,\n ...patch,\n updater: user\n })\n }\n\n @Mutation(returns => [ProductBundle])\n async updateMultipleProductBundle(\n @Arg('patches', type => [ProductBundlePatch]) patches: ProductBundlePatch[],\n @Ctx() context: any\n ): Promise<ProductBundle[]> {\n const { domain, user } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const productBundleRepo = getRepository(ProductBundle)\n const bizplaceRepo = getRepository(Bizplace)\n\n let bizplace: Bizplace\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n let newRecord = _createRecords[i]\n let status = newRecord.status || ''\n\n bizplace = await bizplaceRepo.findOne({ where: { name: domain.name } })\n\n if (!newRecord.status || newRecord.status === '') {\n newRecord.status = PRODUCT_BUNDLE_STATUS.INACTIVE\n }\n\n const result = await productBundleRepo.save({\n ...newRecord,\n domain,\n bizplace,\n status: newRecord.status.toUpperCase(),\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const productBundle = await productBundleRepo.findOne({ domain, id: newRecord.id })\n\n if (newRecord.status) {\n newRecord.status = newRecord.status.toUpperCase()\n }\n\n const result = await productBundleRepo.save({\n ...productBundle,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundle(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {\n const { domain, user } = context.state\n\n await getRepository(ProductBundle).delete({ domain, name })\n\n return true\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundles(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {\n const { tx, user }: { tx: EntityManager; user: User } = context.state\n const productBundleRepo: Repository<ProductBundle> = getRepository(ProductBundle) || tx.getRepository(ProductBundle)\n\n let productBundles = await productBundleRepo.find({ where: { id: In(ids) } })\n\n for (let i = 0; i < productBundles.length; i++) {\n const product = productBundles[i]\n\n const result = await productBundleRepo.save({\n ...product,\n status: PRODUCT_BUNDLE_STATUS.DELETED,\n updater: user\n })\n }\n\n return true\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-query.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, getRepository, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { PRODUCT_BUNDLE_STATUS } from '../../constants'\nimport { ProductBundle } from './product-bundle'\nimport { ProductBundleList } from './product-bundle-types'\n\n@Resolver(ProductBundle)\nexport class ProductBundleQuery {\n @Query(returns => ProductBundleList)\n async myBizplaceProductBundles(@Args() params: ListParam, @Ctx() context: any): Promise<ProductBundleList> {\n const { domain }: { domain: Domain } = context.state\n\n const qb: SelectQueryBuilder<ProductBundle> = getRepository(ProductBundle).createQueryBuilder()\n\n const productBundleFilter = params.filters.find(x => x.name == 'product_info')\n const productFilterColumns = ['sku', 'name', 'description']\n let filters = params.filters.filter(x => x.name != 'product_info')\n\n // add status filter to prevent user to see DELETED product bundles\n filters = [...filters, { name: 'status', operator: 'noteq', value: PRODUCT_BUNDLE_STATUS.DELETED }]\n\n if (!params.filters.find(filter => filter.name === 'bizplace_id')) {\n let bizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain } })\n params.filters = [...filters, { name: 'bizplace_id', operator: 'in', value: [bizplace.id] }]\n }\n\n buildQuery(qb, params, context, { domainRef: false })\n if (productBundleFilter) {\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productBundleFilter.operator,\n productBundleFilter.value,\n productBundleFilter.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n const [items, total] = await qb\n .leftJoinAndSelect('ProductBundle.productBundleSettings', 'ProductBundleSetting')\n .leftJoinAndSelect('ProductBundleSetting.product', 'Product')\n .leftJoinAndSelect('ProductBundleSetting.productDetail', 'ProductDetail')\n .leftJoinAndSelect('ProductBundle.bizplace', 'Bizplace')\n .leftJoinAndSelect('ProductBundle.creator', 'Creator')\n .leftJoinAndSelect('ProductBundle.updater', 'Updater')\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ProductBundleList)\n async productBundles(@Args() params: ListParam, @Ctx() context: any): Promise<ProductBundleList> {\n const convertedParams = convertListParams(params)\n const [items, total] = await getRepository(ProductBundle).findAndCount({\n ...convertedParams\n })\n\n return { items, total }\n }\n\n @Query(returns => ProductBundle)\n async productBundle(@Arg('name') name: string, @Ctx() context: any): Promise<ProductBundle> {\n const { domain, user } = context.state\n const repository = getRepository(ProductBundle)\n\n return await repository.findOne({\n where: { domain, name }\n })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() productBundle: ProductBundle): Promise<Domain> {\n return await getRepository(Domain).findOne(productBundle.domainId)\n }\n\n @FieldResolver(type => User)\n async creator(@Root() productBundle: ProductBundle): Promise<User> {\n return await getRepository(User).findOne(productBundle.creatorId)\n }\n\n @FieldResolver(type => User)\n async updater(@Root() productBundle: ProductBundle): Promise<User> {\n return await getRepository(User).findOne(productBundle.updaterId)\n }\n}\n"]}
1
+ {"version":3,"file":"product-bundle-query.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-query.ts"],"names":[],"mappings":";;;;;AAAA,+CAAmF;AACnF,qCAAqE;AAErE,yDAAgD;AAChD,uDAAmD;AACnD,iDAAwG;AAExG,+CAAuD;AACvD,qDAAgD;AAChD,iEAA0D;AAGnD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAEvB,AAAN,KAAK,CAAC,wBAAwB,CAAS,MAAiB,EAAS,OAAY;QAC3E,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;QAEpD,MAAM,EAAE,GAAsC,IAAA,uBAAa,EAAC,8BAAa,CAAC,CAAC,kBAAkB,EAAE,CAAA;QAE/F,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,CAAA;QAC9E,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;QAC3D,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,CAAA;QAElE,mEAAmE;QACnE,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,iCAAqB,CAAC,OAAO,EAAE,CAAC,CAAA;QAEnG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE;YACjE,IAAI,QAAQ,GAAa,MAAM,IAAA,uBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;YACrF,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;SAC7F;QAED,IAAA,kBAAU,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QACrD,IAAI,mBAAmB,EAAE;YACvB,EAAE,CAAC,QAAQ,CACT,IAAI,kBAAQ,CAAC,GAAG,CAAC,EAAE;gBACjB,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACpC,MAAM,SAAS,GAAG,IAAA,sBAAc,EAC9B,EAAE,CAAC,KAAK,EACR,MAAM,EACN,mBAAmB,CAAC,QAAQ,EAC5B,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,QAAQ,EAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CACvC,CAAA;oBAED,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;gBACrD,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CACH,CAAA;SACF;QAED,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE;aAC5B,iBAAiB,CAAC,qCAAqC,EAAE,sBAAsB,CAAC;aAChF,iBAAiB,CAAC,8BAA8B,EAAE,SAAS,CAAC;aAC5D,iBAAiB,CAAC,oCAAoC,EAAE,eAAe,CAAC;aACxE,iBAAiB,CAAC,wBAAwB,EAAE,UAAU,CAAC;aACvD,iBAAiB,CAAC,uBAAuB,EAAE,SAAS,CAAC;aACrD,iBAAiB,CAAC,uBAAuB,EAAE,SAAS,CAAC;aACrD,eAAe,EAAE,CAAA;QAEpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAS,MAAiB,EAAS,OAAY;QACjE,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,uBAAa,EAAC,8BAAa,CAAC,CAAC,YAAY,mBACjE,eAAe,EAClB,CAAA;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa,CAAc,IAAY,EAAS,OAAY;QAChE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QACtC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,8BAAa,CAAC,CAAA;QAE/C,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,aAA4B;QAC/C,OAAO,MAAM,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACpE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,aAA4B;QAChD,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IACnE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,aAA4B;QAChD,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IACnE,CAAC;CACF,CAAA;AAnFO;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,wCAAiB,CAAC;IACJ,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;iEAAjB,iBAAS,oBAAT,iBAAS;;kEA+CvD;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,wCAAiB,CAAC;IACd,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;iEAAjB,iBAAS,oBAAT,iBAAS;;wDAO7C;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IACX,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;uDAOpD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAgB,8BAAa;;gDAEhD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAgB,8BAAa;;iDAEjD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAgB,8BAAa;;iDAEjD;AApFU,kBAAkB;IAD9B,IAAA,uBAAQ,EAAC,8BAAa,CAAC;GACX,kBAAkB,CAqF9B;AArFY,gDAAkB","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, getRepository, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { PRODUCT_BUNDLE_STATUS } from '../../constants'\nimport { ProductBundle } from './product-bundle'\nimport { ProductBundleList } from './product-bundle-types'\n\n@Resolver(ProductBundle)\nexport class ProductBundleQuery {\n @Query(returns => ProductBundleList)\n async myBizplaceProductBundles(@Args() params: ListParam, @Ctx() context: any): Promise<ProductBundleList> {\n const { domain }: { domain: Domain } = context.state\n\n const qb: SelectQueryBuilder<ProductBundle> = getRepository(ProductBundle).createQueryBuilder()\n\n const productBundleFilter = params.filters.find(x => x.name == 'product_info')\n const productFilterColumns = ['sku', 'name', 'description']\n let filters = params.filters.filter(x => x.name != 'product_info')\n\n // add status filter to prevent user to see DELETED product bundles\n filters = [...filters, { name: 'status', operator: 'noteq', value: PRODUCT_BUNDLE_STATUS.DELETED }]\n\n if (!params.filters.find(filter => filter.name === 'bizplace_id')) {\n let bizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain } })\n params.filters = [...filters, { name: 'bizplace_id', operator: 'in', value: [bizplace.id] }]\n }\n\n buildQuery(qb, params, context, { domainRef: false })\n if (productBundleFilter) {\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productBundleFilter.operator,\n productBundleFilter.value,\n productBundleFilter.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n const [items, total] = await qb\n .leftJoinAndSelect('ProductBundle.productBundleSettings', 'ProductBundleSetting')\n .leftJoinAndSelect('ProductBundleSetting.product', 'Product')\n .leftJoinAndSelect('ProductBundleSetting.productDetail', 'ProductDetail')\n .leftJoinAndSelect('ProductBundle.bizplace', 'Bizplace')\n .leftJoinAndSelect('ProductBundle.creator', 'Creator')\n .leftJoinAndSelect('ProductBundle.updater', 'Updater')\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ProductBundleList)\n async productBundles(@Args() params: ListParam, @Ctx() context: any): Promise<ProductBundleList> {\n const convertedParams = convertListParams(params)\n const [items, total] = await getRepository(ProductBundle).findAndCount({\n ...convertedParams\n })\n\n return { items, total }\n }\n\n @Query(returns => ProductBundle)\n async productBundle(@Arg('name') name: string, @Ctx() context: any): Promise<ProductBundle> {\n const { domain, user } = context.state\n const repository = getRepository(ProductBundle)\n\n return await repository.findOne({\n where: { domain, name }\n })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() productBundle: ProductBundle): Promise<Domain> {\n return await getRepository(Domain).findOne(productBundle.domainId)\n }\n\n @FieldResolver(type => User)\n async creator(@Root() productBundle: ProductBundle): Promise<User> {\n return await getRepository(User).findOne(productBundle.creatorId)\n }\n\n @FieldResolver(type => User)\n async updater(@Root() productBundle: ProductBundle): Promise<User> {\n return await getRepository(User).findOne(productBundle.updaterId)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-types.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-types.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAEhE,qDAAgD;AAGhD,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;CAM5B,CAAA;AAJC;IADC,IAAA,oBAAK,GAAE;;8CACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACN;AALT,gBAAgB;IAD5B,IAAA,wBAAS,GAAE;GACC,gBAAgB,CAM5B;AANY,4CAAgB;AAS7B,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;CAM7B,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,8BAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC5B;AAGvB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACzB;AALH,iBAAiB;IAD7B,IAAA,yBAAU,GAAE;GACA,iBAAiB,CAM7B;AANY,8CAAiB;AAS9B,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;CA2B9B,CAAA;AAzBC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACf;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACd;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACV;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACX;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACX;AA1BJ,kBAAkB;IAD9B,IAAA,wBAAS,GAAE;GACC,kBAAkB,CA2B9B;AA3BY,gDAAkB","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ProductBundle } from './product-bundle'\n\n@InputType()\nexport class NewProductBundle {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n}\n\n@ObjectType()\nexport class ProductBundleList {\n @Field(type => [ProductBundle], { nullable: true })\n items?: ProductBundle[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class ProductBundlePatch {\n @Field({ nullable: true })\n id?: string\n\n @Field({ nullable: true })\n sku?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n refCode?: string\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n status?: string\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n"]}
1
+ {"version":3,"file":"product-bundle-types.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-types.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAEhE,qDAAgD;AAGzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAM5B,CAAA;AALC;IAAC,IAAA,oBAAK,GAAE;;8CACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACN;AALT,gBAAgB;IAD5B,IAAA,wBAAS,GAAE;GACC,gBAAgB,CAM5B;AANY,4CAAgB;AAStB,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAM7B,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,8BAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC5B;AAEvB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACzB;AALH,iBAAiB;IAD7B,IAAA,yBAAU,GAAE;GACA,iBAAiB,CAM7B;AANY,8CAAiB;AASvB,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CA2B9B,CAAA;AA1BC;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACf;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACd;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACX;AAEf;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACX;AA1BJ,kBAAkB;IAD9B,IAAA,wBAAS,GAAE;GACC,kBAAkB,CA2B9B;AA3BY,gDAAkB","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ProductBundle } from './product-bundle'\n\n@InputType()\nexport class NewProductBundle {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n}\n\n@ObjectType()\nexport class ProductBundleList {\n @Field(type => [ProductBundle], { nullable: true })\n items?: ProductBundle[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class ProductBundlePatch {\n @Field({ nullable: true })\n id?: string\n\n @Field({ nullable: true })\n sku?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n refCode?: string\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n status?: string\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n"]}