@things-factory/product-base 8.0.0-beta.8 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/service/product/product-mutation.js +1 -1
- package/dist-server/service/product/product-mutation.js.map +1 -1
- package/dist-server/service/product/product-query.d.ts +1 -1
- package/dist-server/service/product/product-query.js +5 -5
- package/dist-server/service/product/product-query.js.map +1 -1
- package/dist-server/service/product/product-types.d.ts +4 -2
- package/dist-server/service/product/product-types.js +10 -2
- package/dist-server/service/product/product-types.js.map +1 -1
- package/dist-server/service/product/product.d.ts +2 -1
- package/dist-server/service/product/product.js +6 -1
- package/dist-server/service/product/product.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/server/constants/index.ts +1 -0
- package/server/constants/product.ts +24 -0
- package/server/controllers/index.ts +0 -0
- package/server/index.ts +2 -0
- package/server/middlewares/index.ts +0 -0
- package/server/migrations/index.ts +9 -0
- package/server/service/index.ts +61 -0
- package/server/service/product/index.ts +6 -0
- package/server/service/product/product-mutation.ts +407 -0
- package/server/service/product/product-query.ts +336 -0
- package/server/service/product/product-types.ts +458 -0
- package/server/service/product/product.ts +548 -0
- package/server/service/product/validate-product.ts +42 -0
- package/server/service/product-bundle/index.ts +6 -0
- package/server/service/product-bundle/product-bundle-mutation.ts +140 -0
- package/server/service/product-bundle/product-bundle-query.ts +104 -0
- package/server/service/product-bundle/product-bundle-types.ts +51 -0
- package/server/service/product-bundle/product-bundle.ts +102 -0
- package/server/service/product-bundle-setting/index.ts +6 -0
- package/server/service/product-bundle-setting/product-bundle-setting-mutation.ts +168 -0
- package/server/service/product-bundle-setting/product-bundle-setting-query.ts +139 -0
- package/server/service/product-bundle-setting/product-bundle-setting-types.ts +41 -0
- package/server/service/product-bundle-setting/product-bundle-setting.ts +45 -0
- package/server/service/product-combination/index.ts +6 -0
- package/server/service/product-combination/product-combination-mutation.ts +148 -0
- package/server/service/product-combination/product-combination-query.ts +48 -0
- package/server/service/product-combination/product-combination-type.ts +50 -0
- package/server/service/product-combination/product-combination.ts +116 -0
- package/server/service/product-combination-setting/index.ts +6 -0
- package/server/service/product-combination-setting/product-combination-setting-mutation.ts +248 -0
- package/server/service/product-combination-setting/product-combination-setting-query.ts +176 -0
- package/server/service/product-combination-setting/product-combination-setting-type.ts +44 -0
- package/server/service/product-combination-setting/product-combination-setting.ts +77 -0
- package/server/service/product-detail/index.ts +6 -0
- package/server/service/product-detail/product-detail-mutation.ts +238 -0
- package/server/service/product-detail/product-detail-query.ts +213 -0
- package/server/service/product-detail/product-detail-types.ts +280 -0
- package/server/service/product-detail/product-detail.ts +388 -0
- package/server/service/product-detail-bizplace-setting/index.ts +6 -0
- package/server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-mutation.ts +118 -0
- package/server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-query.ts +90 -0
- package/server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-types.ts +62 -0
- package/server/service/product-detail-bizplace-setting/product-detail-bizplace-setting.ts +104 -0
- package/server/service/product-set/index.ts +6 -0
- package/server/service/product-set/product-set-mutation.ts +149 -0
- package/server/service/product-set/product-set-query.ts +114 -0
- package/server/service/product-set/product-set-types.ts +45 -0
- package/server/service/product-set/product-set.ts +95 -0
- package/server/utils/index.ts +1 -0
- package/server/utils/product-util.ts +11 -0
|
@@ -313,7 +313,7 @@ async function updateProduct(id, patch, context) {
|
|
|
313
313
|
relations: ['domain']
|
|
314
314
|
});
|
|
315
315
|
if (patch.productRef && patch.productRef.id) {
|
|
316
|
-
patch.productRef = await productRepo.findOne(patch.productRef.id);
|
|
316
|
+
patch.productRef = await productRepo.findOne({ where: { id: patch.productRef.id } });
|
|
317
317
|
}
|
|
318
318
|
let bizplace;
|
|
319
319
|
if ((_a = product.bizplace) === null || _a === void 0 ? void 0 : _a.id) {
|
|
@@ -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 { In, Repository } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { getRepository } 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: ResolverContext): 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: ResolverContext\n ): Promise<Product[]> {\n return await createProducts(products, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => Product)\n async updateProduct(\n @Arg('id') id: string,\n @Arg('patch') patch: ProductPatch,\n @Ctx() context: ResolverContext\n ): 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: ResolverContext\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: ResolverContext\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: ResolverContext\n ): Promise<Boolean> {\n const { tx } = 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: ResolverContext): Promise<Boolean> {\n const { tx, user, domain } = context.state\n const productSetRepo: Repository<Product> = tx.getRepository(Product)\n const productSet = await productSetRepo.findOneBy({ domain: { id: domain.id }, 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: ResolverContext): Promise<Boolean> {\n const { tx, 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(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<Boolean> {\n const { tx, 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: ResolverContext) {\n try {\n const { domain, user, tx } = 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.findOneBy({ id: product.bizplace.id })\n } else if (context.state?.bizplace) {\n bizplace = context.state.bizplace\n } else {\n bizplace = await bizplaceRepo.findOne({ where: { domain: { id: domain.id } } })\n }\n\n if (product?.productRef?.id) {\n product.productRef = await productRepo.findOneBy({ id: 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: ResolverContext) {\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 } = 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.findOneBy({ id: 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 { In, Repository } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { getRepository } 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: ResolverContext): 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: ResolverContext\n ): Promise<Product[]> {\n return await createProducts(products, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => Product)\n async updateProduct(\n @Arg('id') id: string,\n @Arg('patch') patch: ProductPatch,\n @Ctx() context: ResolverContext\n ): 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: ResolverContext\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: ResolverContext\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: ResolverContext\n ): Promise<Boolean> {\n const { tx } = 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: ResolverContext): Promise<Boolean> {\n const { tx, user, domain } = context.state\n const productSetRepo: Repository<Product> = tx.getRepository(Product)\n const productSet = await productSetRepo.findOneBy({ domain: { id: domain.id }, 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: ResolverContext): Promise<Boolean> {\n const { tx, 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(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<Boolean> {\n const { tx, 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: ResolverContext) {\n try {\n const { domain, user, tx } = 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.findOneBy({ id: product.bizplace.id })\n } else if (context.state?.bizplace) {\n bizplace = context.state.bizplace\n } else {\n bizplace = await bizplaceRepo.findOne({ where: { domain: { id: domain.id } } })\n }\n\n if (product?.productRef?.id) {\n product.productRef = await productRepo.findOneBy({ id: 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: ResolverContext) {\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 } = 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({ where: { id: patch.productRef.id } })\n }\n\n let bizplace: Bizplace\n if (product.bizplace?.id) {\n bizplace = await bizplaceRepo.findOneBy({ id: 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"]}
|
|
@@ -24,5 +24,5 @@ export declare class ProductQuery {
|
|
|
24
24
|
productRef(product: Product): Promise<Product>;
|
|
25
25
|
thumbnail(product: Product): Promise<string | undefined>;
|
|
26
26
|
productInformation(product: Product): String;
|
|
27
|
-
|
|
27
|
+
warehouseName(product: Product): Promise<String | undefined>;
|
|
28
28
|
}
|
|
@@ -216,13 +216,13 @@ let ProductQuery = class ProductQuery {
|
|
|
216
216
|
productInformation(product) {
|
|
217
217
|
return `[${product.sku}] ${product.name}${product.description ? ` - ${product.description}` : ''}`;
|
|
218
218
|
}
|
|
219
|
-
async
|
|
220
|
-
if (!product.
|
|
219
|
+
async warehouseName(product) {
|
|
220
|
+
if (!product.warehouseId)
|
|
221
221
|
return null;
|
|
222
222
|
const items = await (0, shell_1.getRepository)(product_1.Product).query(`
|
|
223
|
-
SELECT w.
|
|
223
|
+
SELECT w.name as "warehouseName" FROM products p LEFT JOIN warehouses w ON p.warehouse_id::uuid = w.id and w.domain_id = p.domain_id WHERE p.id = '${product.id}'
|
|
224
224
|
`);
|
|
225
|
-
return items[0].
|
|
225
|
+
return items[0].warehouseName || null;
|
|
226
226
|
}
|
|
227
227
|
};
|
|
228
228
|
exports.ProductQuery = ProductQuery;
|
|
@@ -342,7 +342,7 @@ tslib_1.__decorate([
|
|
|
342
342
|
tslib_1.__metadata("design:type", Function),
|
|
343
343
|
tslib_1.__metadata("design:paramtypes", [product_1.Product]),
|
|
344
344
|
tslib_1.__metadata("design:returntype", Promise)
|
|
345
|
-
], ProductQuery.prototype, "
|
|
345
|
+
], ProductQuery.prototype, "warehouseName", null);
|
|
346
346
|
exports.ProductQuery = ProductQuery = tslib_1.__decorate([
|
|
347
347
|
(0, type_graphql_1.Resolver)(product_1.Product)
|
|
348
348
|
], ProductQuery);
|
|
@@ -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, 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 { logger } from '@things-factory/env'\nimport { buildCondition, Domain, getQueryBuilderFromListParams, getRepository, 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\", domainOwnerGranted: true)')\n @Query(returns => Product)\n async product(@Arg('sku') sku: string, @Ctx() context: ResolverContext): Promise<Product> {\n const { domain, user, bizplace } = context.state\n\n if (bizplace) {\n return await getRepository(Product).findOne({\n where: {\n domain: { id: domain.id },\n sku,\n bizplace: { id: bizplace.id }\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n } else {\n return await getRepository(Product).findOne({\n where: {\n domain: { id: domain.id },\n sku,\n bizplace: { id: In(await getPermittedBizplaceIds(domain, user)) }\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Product)\n async productById(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Product> {\n const { domain, user } = context.state\n return await getRepository(Product).findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async products(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<ProductList> {\n const { domain, 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({\n where: { domain: { id: companyDomain.id } }\n })\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\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async myBizplaceProducts(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n try {\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: { id: domain.id } } }))\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 } catch (error) {\n logger.error(`product-query[myBizplaceProducts]: ${error}`)\n throw error\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async productsByBizplace(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n const { domain, 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({\n where: { id: bizplaceFilter.value },\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: { id: myBizplace.company.domain.id } }\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\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async pureProductsByBizplace(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n const { domain, 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({\n where: { id: bizplaceFilter.value },\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: { id: myBizplace.company.domain.id } }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n let items = await (await qb.getRawMany()).map(item => new Product(item))\n let total = await qb.getCount()\n\n return { items, 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).findOneBy({ id: 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).findOneBy({ id: 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).findOneBy({ id: 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).findOneBy({ id: 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).findOneBy({ id: 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).findOneBy({ id: 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: { id: 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', 'bizplaceId', 'deleted'].indexOf(x.name) == -1),\n { name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' },\n { name: 'bizplaceId', 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 = getQueryBuilderFromListParams({\n repository: getRepository(Product),\n alias: 'Product',\n params,\n domain: context.domain,\n searchables: ['sku', 'name', 'description']\n })\n\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, 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 { logger } from '@things-factory/env'\nimport { buildCondition, Domain, getQueryBuilderFromListParams, getRepository, 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\", domainOwnerGranted: true)')\n @Query(returns => Product)\n async product(@Arg('sku') sku: string, @Ctx() context: ResolverContext): Promise<Product> {\n const { domain, user, bizplace } = context.state\n\n if (bizplace) {\n return await getRepository(Product).findOne({\n where: {\n domain: { id: domain.id },\n sku,\n bizplace: { id: bizplace.id }\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n } else {\n return await getRepository(Product).findOne({\n where: {\n domain: { id: domain.id },\n sku,\n bizplace: { id: In(await getPermittedBizplaceIds(domain, user)) }\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Product)\n async productById(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Product> {\n const { domain, user } = context.state\n return await getRepository(Product).findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async products(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<ProductList> {\n const { domain, 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({\n where: { domain: { id: companyDomain.id } }\n })\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\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async myBizplaceProducts(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n try {\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: { id: domain.id } } }))\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 } catch (error) {\n logger.error(`product-query[myBizplaceProducts]: ${error}`)\n throw error\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async productsByBizplace(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n const { domain, 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({\n where: { id: bizplaceFilter.value },\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: { id: myBizplace.company.domain.id } }\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\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async pureProductsByBizplace(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n const { domain, 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({\n where: { id: bizplaceFilter.value },\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: { id: myBizplace.company.domain.id } }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n let items = await (await qb.getRawMany()).map(item => new Product(item))\n let total = await qb.getCount()\n\n return { items, 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).findOneBy({ id: 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).findOneBy({ id: 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).findOneBy({ id: 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).findOneBy({ id: 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).findOneBy({ id: 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).findOneBy({ id: 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: { id: 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 warehouseName(@Root() product: Product): Promise<String | undefined> {\n if (!product.warehouseId) return null\n\n const items = await getRepository(Product).query(`\n SELECT w.name as \"warehouseName\" FROM products p LEFT JOIN warehouses w ON p.warehouse_id::uuid = w.id and w.domain_id = p.domain_id WHERE p.id = '${product.id}'\n `)\n\n return items[0].warehouseName || 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', 'bizplaceId', 'deleted'].indexOf(x.name) == -1),\n { name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' },\n { name: 'bizplaceId', 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 = getQueryBuilderFromListParams({\n repository: getRepository(Product),\n alias: 'Product',\n params,\n domain: context.domain,\n searchables: ['sku', 'name', 'description']\n })\n\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"]}
|
|
@@ -62,7 +62,7 @@ export declare class NewProduct {
|
|
|
62
62
|
volume?: number;
|
|
63
63
|
volumeSize?: number;
|
|
64
64
|
routing?: ObjectRef;
|
|
65
|
-
|
|
65
|
+
warehouseId?: string;
|
|
66
66
|
thumbnail?: FileUpload;
|
|
67
67
|
pickingStrategy?: string;
|
|
68
68
|
inboundUnit?: string;
|
|
@@ -71,6 +71,7 @@ export declare class NewProduct {
|
|
|
71
71
|
category?: string;
|
|
72
72
|
isAuction?: boolean;
|
|
73
73
|
releaseType?: string;
|
|
74
|
+
barcode?: string;
|
|
74
75
|
}
|
|
75
76
|
export declare class ProductList {
|
|
76
77
|
items?: Product[];
|
|
@@ -138,7 +139,7 @@ export declare class ProductPatch {
|
|
|
138
139
|
childGtin?: string;
|
|
139
140
|
childQty?: number;
|
|
140
141
|
routing?: ObjectRef;
|
|
141
|
-
|
|
142
|
+
warehouseId?: string;
|
|
142
143
|
thumbnail?: FileUpload;
|
|
143
144
|
pickingStrategy?: string;
|
|
144
145
|
inboundUnit?: string;
|
|
@@ -147,5 +148,6 @@ export declare class ProductPatch {
|
|
|
147
148
|
category?: string;
|
|
148
149
|
isAuction?: boolean;
|
|
149
150
|
releaseType?: string;
|
|
151
|
+
barcode?: string;
|
|
150
152
|
cuFlag?: string;
|
|
151
153
|
}
|
|
@@ -246,7 +246,7 @@ tslib_1.__decorate([
|
|
|
246
246
|
tslib_1.__decorate([
|
|
247
247
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
248
248
|
tslib_1.__metadata("design:type", String)
|
|
249
|
-
], NewProduct.prototype, "
|
|
249
|
+
], NewProduct.prototype, "warehouseId", void 0);
|
|
250
250
|
tslib_1.__decorate([
|
|
251
251
|
(0, type_graphql_1.Field)(type => GraphQLUpload_js_1.default, { nullable: true }),
|
|
252
252
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -279,6 +279,10 @@ tslib_1.__decorate([
|
|
|
279
279
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
280
280
|
tslib_1.__metadata("design:type", String)
|
|
281
281
|
], NewProduct.prototype, "releaseType", void 0);
|
|
282
|
+
tslib_1.__decorate([
|
|
283
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
284
|
+
tslib_1.__metadata("design:type", String)
|
|
285
|
+
], NewProduct.prototype, "barcode", void 0);
|
|
282
286
|
exports.NewProduct = NewProduct = tslib_1.__decorate([
|
|
283
287
|
(0, type_graphql_1.InputType)()
|
|
284
288
|
], NewProduct);
|
|
@@ -546,7 +550,7 @@ tslib_1.__decorate([
|
|
|
546
550
|
tslib_1.__decorate([
|
|
547
551
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
548
552
|
tslib_1.__metadata("design:type", String)
|
|
549
|
-
], ProductPatch.prototype, "
|
|
553
|
+
], ProductPatch.prototype, "warehouseId", void 0);
|
|
550
554
|
tslib_1.__decorate([
|
|
551
555
|
(0, type_graphql_1.Field)(type => GraphQLUpload_js_1.default, { nullable: true }),
|
|
552
556
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -579,6 +583,10 @@ tslib_1.__decorate([
|
|
|
579
583
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
580
584
|
tslib_1.__metadata("design:type", String)
|
|
581
585
|
], ProductPatch.prototype, "releaseType", void 0);
|
|
586
|
+
tslib_1.__decorate([
|
|
587
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
588
|
+
tslib_1.__metadata("design:type", String)
|
|
589
|
+
], ProductPatch.prototype, "barcode", void 0);
|
|
582
590
|
tslib_1.__decorate([
|
|
583
591
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
584
592
|
tslib_1.__metadata("design:type", String)
|
|
@@ -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 @Field({ nullable: true })\n inboundUnit?: string\n\n // 변환 kg\n @Field({ nullable: true })\n convertWeight?: number\n\n // 박스입수\n @Field({ nullable: true })\n boxInQty?: number\n\n // 제품군\n @Field({ nullable: true })\n category?: string\n\n // 경매입고\n @Field(type => Boolean, { nullable: true })\n isAuction?: boolean\n\n // 출고유형\n @Field({ nullable: true })\n releaseType?: 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 // 입고 단위\n @Field({ nullable: true })\n inboundUnit?: string\n\n // 변환 kg\n @Field({ nullable: true })\n convertWeight?: number\n\n // 박스입수\n @Field({ nullable: true })\n boxInQty?: number\n\n // 제품군\n @Field({ nullable: true })\n category?: string\n\n // 경매입고\n @Field(type => Boolean, { nullable: true })\n isAuction?: boolean\n\n // 출고유형\n @Field({ nullable: true })\n releaseType?: 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 warehouseId?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n pickingStrategy?: string\n\n // 입고 단위\n @Field({ nullable: true })\n inboundUnit?: string\n\n // 변환 kg\n @Field({ nullable: true })\n convertWeight?: number\n\n // 박스입수\n @Field({ nullable: true })\n boxInQty?: number\n\n // 제품군\n @Field({ nullable: true })\n category?: string\n\n // 경매입고\n @Field(type => Boolean, { nullable: true })\n isAuction?: boolean\n\n // 출고유형\n @Field({ nullable: true })\n releaseType?: string\n\n // 바코드\n @Field({ nullable: true })\n barcode?: 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 warehouseId?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n pickingStrategy?: string\n\n // 입고 단위\n @Field({ nullable: true })\n inboundUnit?: string\n\n // 변환 kg\n @Field({ nullable: true })\n convertWeight?: number\n\n // 박스입수\n @Field({ nullable: true })\n boxInQty?: number\n\n // 제품군\n @Field({ nullable: true })\n category?: string\n\n // 경매입고\n @Field(type => Boolean, { nullable: true })\n isAuction?: boolean\n\n // 출고유형\n @Field({ nullable: true })\n releaseType?: string\n\n // 바코드\n @Field({ nullable: true })\n barcode?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n"]}
|
|
@@ -29,6 +29,7 @@ export declare class Product {
|
|
|
29
29
|
boxInQty?: number;
|
|
30
30
|
category?: string;
|
|
31
31
|
isAuction?: boolean;
|
|
32
|
+
barcode?: string;
|
|
32
33
|
gtin: string;
|
|
33
34
|
caseGtin: string;
|
|
34
35
|
name: string;
|
|
@@ -103,7 +104,7 @@ export declare class Product {
|
|
|
103
104
|
updatedAt: Date;
|
|
104
105
|
routing?: Routing;
|
|
105
106
|
routingId?: string;
|
|
106
|
-
|
|
107
|
+
warehouseId?: string;
|
|
107
108
|
thumbnail?: string;
|
|
108
109
|
productInformation: string;
|
|
109
110
|
batchNo?: string;
|
|
@@ -175,6 +175,11 @@ tslib_1.__decorate([
|
|
|
175
175
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
176
176
|
tslib_1.__metadata("design:type", Boolean)
|
|
177
177
|
], Product.prototype, "isAuction", void 0);
|
|
178
|
+
tslib_1.__decorate([
|
|
179
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
180
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
181
|
+
tslib_1.__metadata("design:type", String)
|
|
182
|
+
], Product.prototype, "barcode", void 0);
|
|
178
183
|
tslib_1.__decorate([
|
|
179
184
|
(0, typeorm_1.Column)({ nullable: true }),
|
|
180
185
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
@@ -556,7 +561,7 @@ tslib_1.__decorate([
|
|
|
556
561
|
(0, typeorm_1.Column)({ nullable: true }),
|
|
557
562
|
(0, type_graphql_1.Field)(type => String, { nullable: true }),
|
|
558
563
|
tslib_1.__metadata("design:type", String)
|
|
559
|
-
], Product.prototype, "
|
|
564
|
+
], Product.prototype, "warehouseId", void 0);
|
|
560
565
|
tslib_1.__decorate([
|
|
561
566
|
(0, type_graphql_1.Field)(type => String, { nullable: true }),
|
|
562
567
|
tslib_1.__metadata("design:type", String)
|