@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-bundle.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle.ts"],"names":[],"mappings":"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","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\nimport { Field, 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'\nimport { ProductBundleSetting } from '../product-bundle-setting/product-bundle-setting'\n\n@Entity()\n@Index('ix_product_bundle_0', (productBundle: ProductBundle) => [productBundle.domain, productBundle.id], {\n unique: true\n})\n@ObjectType()\nexport class ProductBundle {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field()\n domain: Domain\n\n @RelationId((productBundle: ProductBundle) => productBundle.domain)\n domainId: string\n\n @ManyToOne(type => Bizplace, {\n nullable: false\n })\n @Field({ nullable: true })\n bizplace: Bizplace\n\n @OneToMany(type => ProductBundleSetting, productBundleSetting => productBundleSetting.productBundle)\n @Field(type => [ProductBundleSetting])\n productBundleSettings: ProductBundleSetting[]\n\n @Column()\n @Field()\n sku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refCode: string\n\n @Column()\n @Field()\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n type: string\n\n @Column()\n @Field()\n status: string\n\n @Column()\n @Field()\n packingType: string\n\n @Column({ type: 'float', default: 1 })\n @Field()\n packingSize: number\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((productBundle: ProductBundle) => productBundle.creator)\n creatorId: string\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((productBundle: ProductBundle) => productBundle.updater)\n updaterId: string\n}\n"]}
1
+ {"version":3,"file":"product-bundle.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle.ts"],"names":[],"mappings":"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","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\nimport { Field, 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'\nimport { ProductBundleSetting } from '../product-bundle-setting/product-bundle-setting'\n\n@Entity()\n@Index('ix_product_bundle_0', (productBundle: ProductBundle) => [productBundle.domain, productBundle.id], {\n unique: true\n})\n@ObjectType()\nexport class ProductBundle {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field()\n domain: Domain\n\n @RelationId((productBundle: ProductBundle) => productBundle.domain)\n domainId: string\n\n @ManyToOne(type => Bizplace, {\n nullable: false\n })\n @Field({ nullable: true })\n bizplace: Bizplace\n\n @OneToMany(type => ProductBundleSetting, productBundleSetting => productBundleSetting.productBundle)\n @Field(type => [ProductBundleSetting])\n productBundleSettings: ProductBundleSetting[]\n\n @Column()\n @Field()\n sku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refCode: string\n\n @Column()\n @Field()\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n type: string\n\n @Column()\n @Field()\n status: string\n\n @Column()\n @Field()\n packingType: string\n\n @Column({ type: 'float', default: 1 })\n @Field()\n packingSize: number\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((productBundle: ProductBundle) => productBundle.creator)\n creatorId: string\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((productBundle: ProductBundle) => productBundle.updater)\n updaterId: string\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-setting-mutation.js","sourceRoot":"","sources":["../../../server/service/product-bundle-setting/product-bundle-setting-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver, Directive } from 'type-graphql'\nimport { EntityManager, getRepository, In, SelectQueryBuilder } from 'typeorm'\n\nimport { Domain } from '@things-factory/shell'\n\nimport { ProductBundleSetting } from './product-bundle-setting'\nimport { ProductBundleSettingPatch } from './product-bundle-setting-types'\n\nconst debug = require('debug')('things-factory:product-base:productBundle')\n\n@Resolver(ProductBundleSetting)\nexport class ProductBundleSettingMutation {\n @Mutation(returns => [ProductBundleSetting])\n async updateMultipleProductBundleSetting(\n @Arg('patches', type => [ProductBundleSettingPatch]) patches: ProductBundleSettingPatch[],\n @Ctx() context: any\n ): Promise<ProductBundleSetting[]> {\n return await updateMultipleProductBundleSetting(patches)\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundleSetting(@Arg('id') id: string, @Ctx() context: any): Promise<Boolean> {\n await getRepository(ProductBundleSetting).delete({ id })\n\n return true\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundleSettings(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: any\n ): Promise<Boolean> {\n await getRepository(ProductBundleSetting).delete({\n product: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async linkProductBundle(\n @Arg('productBundleId') productBundleId: string,\n @Arg('patches', type => [ProductBundleSettingPatch]) patches: ProductBundleSettingPatch[],\n @Ctx() context: any\n ): Promise<Boolean> {\n try {\n const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state\n\n // const existingBundleLink: ProductBundleSetting[] = await tx.getRepository(ProductBundleSetting).find({\n // where: { productBundle: productBundleId },\n // relations: ['product', 'productDetail', 'productBundle']\n // })\n\n const qb: SelectQueryBuilder<ProductBundleSetting> = tx\n .getRepository(ProductBundleSetting)\n .createQueryBuilder('pbs')\n .innerJoinAndSelect('pbs.product', 'prd')\n .innerJoinAndSelect('pbs.productDetail', 'pd')\n .innerJoinAndSelect('pbs.productBundle', 'pb')\n .where('pb.id = :productBundleId', { productBundleId })\n .andWhere('pb.domain_id = :domainId', { domainId: domain.id })\n\n const existingBundleLink = await qb.getMany()\n\n let newBundleLink: ProductBundleSetting[] = patches.reduce((acc, curr) => {\n if (\n !existingBundleLink.find(\n item => item.product.id === curr.product.id && item.productDetail.id === curr.productDetail.id\n )\n ) {\n acc.push({\n productBundle: { id: productBundleId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n bundleQty: curr.bundleQty,\n cuFlag: '+'\n })\n }\n // check if there is existing bundle link but changes in bundle qty\n else if (\n existingBundleLink.find(\n item =>\n item.product.id === curr.product.id &&\n item.productDetail.id === curr.productDetail.id &&\n item.bundleQty !== curr.bundleQty\n )\n ) {\n acc.push({\n id: curr.id,\n productBundle: { id: productBundleId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n bundleQty: curr.bundleQty,\n cuFlag: 'M'\n })\n }\n return acc\n }, [])\n\n let removeBundleLink: ProductBundleSetting[] = existingBundleLink.reduce((acc, curr) => {\n if (!patches.find(item => item.id == curr.id)) {\n acc.push({\n id: curr.id,\n productBundle: { id: productBundleId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n bundleQty: curr.bundleQty\n })\n }\n return acc\n }, [])\n\n if (newBundleLink.length > 0) {\n await updateMultipleProductBundleSetting(newBundleLink, tx)\n }\n\n if (removeBundleLink.length > 0) {\n await tx.getRepository(ProductBundleSetting).delete({\n id: In(removeBundleLink.map(bundleLink => bundleLink.id))\n })\n }\n\n return true\n } catch (error) {\n debug('link-product-bundle', error)\n throw error\n }\n }\n}\n\nexport async function updateMultipleProductBundleSetting(\n patches: ProductBundleSettingPatch[],\n tx?: EntityManager\n): Promise<ProductBundleSetting[]> {\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 productBundleSettingRepo = tx.getRepository(ProductBundleSetting)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await productBundleSettingRepo.save({\n ...newRecord\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 productBundleSetting = await productBundleSettingRepo.findOne({ id: newRecord.id })\n\n const result = await productBundleSettingRepo.save({\n ...productBundleSetting,\n ...newRecord\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n}\n"]}
1
+ {"version":3,"file":"product-bundle-setting-mutation.js","sourceRoot":"","sources":["../../../server/service/product-bundle-setting/product-bundle-setting-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver, Directive } from 'type-graphql'\nimport { EntityManager, getRepository, In, SelectQueryBuilder } from 'typeorm'\n\nimport { Domain } from '@things-factory/shell'\n\nimport { ProductBundleSetting } from './product-bundle-setting'\nimport { ProductBundleSettingPatch } from './product-bundle-setting-types'\n\nconst debug = require('debug')('things-factory:product-base:productBundle')\n\n@Resolver(ProductBundleSetting)\nexport class ProductBundleSettingMutation {\n @Mutation(returns => [ProductBundleSetting])\n async updateMultipleProductBundleSetting(\n @Arg('patches', type => [ProductBundleSettingPatch]) patches: ProductBundleSettingPatch[],\n @Ctx() context: any\n ): Promise<ProductBundleSetting[]> {\n return await updateMultipleProductBundleSetting(patches)\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundleSetting(@Arg('id') id: string, @Ctx() context: any): Promise<Boolean> {\n await getRepository(ProductBundleSetting).delete({ id })\n\n return true\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundleSettings(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: any\n ): Promise<Boolean> {\n await getRepository(ProductBundleSetting).delete({\n product: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async linkProductBundle(\n @Arg('productBundleId') productBundleId: string,\n @Arg('patches', type => [ProductBundleSettingPatch]) patches: ProductBundleSettingPatch[],\n @Ctx() context: any\n ): Promise<Boolean> {\n try {\n const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state\n\n // const existingBundleLink: ProductBundleSetting[] = await tx.getRepository(ProductBundleSetting).find({\n // where: { productBundle: productBundleId },\n // relations: ['product', 'productDetail', 'productBundle']\n // })\n\n const qb: SelectQueryBuilder<ProductBundleSetting> = tx\n .getRepository(ProductBundleSetting)\n .createQueryBuilder('pbs')\n .innerJoinAndSelect('pbs.product', 'prd')\n .innerJoinAndSelect('pbs.productDetail', 'pd')\n .innerJoinAndSelect('pbs.productBundle', 'pb')\n .where('pb.id = :productBundleId', { productBundleId })\n .andWhere('pb.domain_id = :domainId', { domainId: domain.id })\n\n const existingBundleLink = await qb.getMany()\n\n let newBundleLink: ProductBundleSetting[] = patches.reduce((acc, curr) => {\n if (\n !existingBundleLink.find(\n item => item.product.id === curr.product.id && item.productDetail.id === curr.productDetail.id\n )\n ) {\n acc.push({\n productBundle: { id: productBundleId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n bundleQty: curr.bundleQty,\n cuFlag: '+'\n })\n }\n // check if there is existing bundle link but changes in bundle qty\n else if (\n existingBundleLink.find(\n item =>\n item.product.id === curr.product.id &&\n item.productDetail.id === curr.productDetail.id &&\n item.bundleQty !== curr.bundleQty\n )\n ) {\n acc.push({\n id: curr.id,\n productBundle: { id: productBundleId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n bundleQty: curr.bundleQty,\n cuFlag: 'M'\n })\n }\n return acc\n }, [])\n\n let removeBundleLink: ProductBundleSetting[] = existingBundleLink.reduce((acc, curr) => {\n if (!patches.find(item => item.id == curr.id)) {\n acc.push({\n id: curr.id,\n productBundle: { id: productBundleId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n bundleQty: curr.bundleQty\n })\n }\n return acc\n }, [])\n\n if (newBundleLink.length > 0) {\n await updateMultipleProductBundleSetting(newBundleLink, tx)\n }\n\n if (removeBundleLink.length > 0) {\n await tx.getRepository(ProductBundleSetting).delete({\n id: In(removeBundleLink.map(bundleLink => bundleLink.id))\n })\n }\n\n return true\n } catch (error) {\n debug('link-product-bundle', error)\n throw error\n }\n }\n}\n\nexport async function updateMultipleProductBundleSetting(\n patches: ProductBundleSettingPatch[],\n tx?: EntityManager\n): Promise<ProductBundleSetting[]> {\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 productBundleSettingRepo = tx.getRepository(ProductBundleSetting)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await productBundleSettingRepo.save({\n ...newRecord\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 productBundleSetting = await productBundleSettingRepo.findOne({ id: newRecord.id })\n\n const result = await productBundleSettingRepo.save({\n ...productBundleSetting,\n ...newRecord\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-setting-query.js","sourceRoot":"","sources":["../../../server/service/product-bundle-setting/product-bundle-setting-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Args, Ctx, Query, Resolver } from 'type-graphql'\nimport { Brackets, getRepository, SelectQueryBuilder } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { Product } from '../product/product'\nimport { ProductBundleSetting } from './product-bundle-setting'\nimport { ProductBundleSettingList } from './product-bundle-setting-types'\n\n@Resolver(ProductBundleSetting)\nexport class ProductBundleSettingQuery {\n @Query(returns => ProductBundleSettingList)\n async productBundleSettings(@Args() params: ListParam, @Ctx() context: any): Promise<ProductBundleSettingList> {\n const convertedParams = convertListParams(params)\n const [items, total] = await getRepository(ProductBundleSetting).findAndCount({\n ...convertedParams\n })\n\n return { items, total }\n }\n\n @Query(returns => ProductBundleSettingList)\n async productBundleSets(@Args() params: ListParam, @Ctx() context: any): Promise<ProductBundleSettingList> {\n const { domain }: { domain: Domain } = context.state\n const page = params.pagination.page\n const limit = params.pagination.limit\n\n const filters = params.filters.filter(x => x.name !== 'product_info' && x.name !== 'productBundleId')\n const productBundleId = params.filters.find(x => x.name === 'productBundleId')\n const productInfoFilter = params.filters.find(x => x.name === 'product_info')\n const productInfoColumns = ['sku', 'name', 'description']\n params.filters = [...filters]\n\n params.sortings = [\n { name: 'prd.sku' },\n { name: 'prdDet.gtin' },\n ...params.sortings.map(sorting => {\n const name = sorting.name.replace('product', '').toLowerCase()\n return {\n ...sorting,\n name\n }\n })\n ]\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 const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder('prd')\n buildQuery(qb, params, context)\n\n qb.innerJoinAndSelect('product_details', 'prdDet', 'prdDet.product_id = prd.id')\n qb.leftJoinAndSelect(\n 'product_bundle_settings',\n 'pbs',\n 'pbs.product_id = prd.id and pbs.product_detail_id = prdDet.id'\n )\n qb.leftJoinAndSelect('pbs.productBundle', 'pb')\n\n if (productInfoFilter) {\n qb.andWhere(\n new Brackets(qb2 => {\n productInfoColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productInfoFilter.operator,\n productInfoFilter.value,\n productInfoFilter.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n if (productBundleId && productBundleId.operator === 'eq') {\n qb.andWhere('pb.id = :bundleId::uuid', {\n bundleId: productBundleId.value\n })\n }\n\n let productBundleSets = await qb\n .offset((page - 1) * limit)\n .limit(limit)\n .getRawMany()\n\n const items = productBundleSets.map(item => {\n return {\n // id: item.pbs_id,\n // productDetailId: item.prdDet_id,\n // gtin: item.prdDet_gtin,\n // packingType: item.prdDet_packing_type,\n // packingSize: item.prdDet_packing_size,\n // productId: item.prd_id,\n // productSku: item.prd_sku,\n // productName: item.prd_name,\n // productDescription: item.prd_description,\n // productType: item.prd_type,\n // bundleId: item.pb_id,\n // bundleSku: item.pb_sku,\n // bundleName: item.pb_name,\n // bundleDescription: item.pb_description,\n // bundleQty: item.pbs_bundle_qty\n ...item,\n id: item.pbs_id,\n product: {\n id: item.prd_id,\n sku: item.prd_sku,\n name: item.prd_name,\n description: item.prd_description,\n type: item.prd_type\n },\n productDetail: {\n id: item.prdDet_id,\n gtin: item.prdDet_gtin,\n packingType: item.prdDet_packing_type,\n packingSize: item.prdDet_packing_size\n },\n bundleQty: item.pbs_bundle_qty\n }\n })\n\n const total = await qb.getCount()\n\n return { items, total }\n }\n}\n"]}
1
+ {"version":3,"file":"product-bundle-setting-query.js","sourceRoot":"","sources":["../../../server/service/product-bundle-setting/product-bundle-setting-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Args, Ctx, Query, Resolver } from 'type-graphql'\nimport { Brackets, getRepository, SelectQueryBuilder } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { Product } from '../product/product'\nimport { ProductBundleSetting } from './product-bundle-setting'\nimport { ProductBundleSettingList } from './product-bundle-setting-types'\n\n@Resolver(ProductBundleSetting)\nexport class ProductBundleSettingQuery {\n @Query(returns => ProductBundleSettingList)\n async productBundleSettings(@Args() params: ListParam, @Ctx() context: any): Promise<ProductBundleSettingList> {\n const convertedParams = convertListParams(params)\n const [items, total] = await getRepository(ProductBundleSetting).findAndCount({\n ...convertedParams\n })\n\n return { items, total }\n }\n\n @Query(returns => ProductBundleSettingList)\n async productBundleSets(@Args() params: ListParam, @Ctx() context: any): Promise<ProductBundleSettingList> {\n const { domain }: { domain: Domain } = context.state\n const page = params.pagination.page\n const limit = params.pagination.limit\n\n const filters = params.filters.filter(x => x.name !== 'product_info' && x.name !== 'productBundleId')\n const productBundleId = params.filters.find(x => x.name === 'productBundleId')\n const productInfoFilter = params.filters.find(x => x.name === 'product_info')\n const productInfoColumns = ['sku', 'name', 'description']\n params.filters = [...filters]\n\n params.sortings = [\n { name: 'prd.sku' },\n { name: 'prdDet.gtin' },\n ...params.sortings.map(sorting => {\n const name = sorting.name.replace('product', '').toLowerCase()\n return {\n ...sorting,\n name\n }\n })\n ]\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 const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder('prd')\n buildQuery(qb, params, context)\n\n qb.innerJoinAndSelect('product_details', 'prdDet', 'prdDet.product_id = prd.id')\n qb.leftJoinAndSelect(\n 'product_bundle_settings',\n 'pbs',\n 'pbs.product_id = prd.id and pbs.product_detail_id = prdDet.id'\n )\n qb.leftJoinAndSelect('pbs.productBundle', 'pb')\n\n if (productInfoFilter) {\n qb.andWhere(\n new Brackets(qb2 => {\n productInfoColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productInfoFilter.operator,\n productInfoFilter.value,\n productInfoFilter.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n if (productBundleId && productBundleId.operator === 'eq') {\n qb.andWhere('pb.id = :bundleId::uuid', {\n bundleId: productBundleId.value\n })\n }\n\n let productBundleSets = await qb\n .offset((page - 1) * limit)\n .limit(limit)\n .getRawMany()\n\n const items = productBundleSets.map(item => {\n return {\n // id: item.pbs_id,\n // productDetailId: item.prdDet_id,\n // gtin: item.prdDet_gtin,\n // packingType: item.prdDet_packing_type,\n // packingSize: item.prdDet_packing_size,\n // productId: item.prd_id,\n // productSku: item.prd_sku,\n // productName: item.prd_name,\n // productDescription: item.prd_description,\n // productType: item.prd_type,\n // bundleId: item.pb_id,\n // bundleSku: item.pb_sku,\n // bundleName: item.pb_name,\n // bundleDescription: item.pb_description,\n // bundleQty: item.pbs_bundle_qty\n ...item,\n id: item.pbs_id,\n product: {\n id: item.prd_id,\n sku: item.prd_sku,\n name: item.prd_name,\n description: item.prd_description,\n type: item.prd_type\n },\n productDetail: {\n id: item.prdDet_id,\n gtin: item.prdDet_gtin,\n packingType: item.prdDet_packing_type,\n packingSize: item.prdDet_packing_size\n },\n bundleQty: item.pbs_bundle_qty\n }\n })\n\n const total = await qb.getCount()\n\n return { items, total }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-setting-types.js","sourceRoot":"","sources":["../../../server/service/product-bundle-setting/product-bundle-setting-types.ts"],"names":[],"mappings":";;;;;AAAA,+CAA2E;AAE3E,iDAAiD;AAEjD,qEAA+D;AAG/D,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;CAMpC,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6CAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDAC5B;AAG9B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACzB;AALH,wBAAwB;IADpC,IAAA,yBAAU,GAAE;GACA,wBAAwB,CAMpC;AANY,4DAAwB;AASrC,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;CAwBrC,CAAA;AAtBC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DAChB,iBAAS,oBAAT,iBAAS;0DAAA;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACV,iBAAS,oBAAT,iBAAS;gEAAA;AAGzB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACV,iBAAS,oBAAT,iBAAS;gEAAA;AAGzB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACrB;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACN;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACrB;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACX;AAvBJ,yBAAyB;IADrC,IAAA,wBAAS,GAAE;GACC,yBAAyB,CAwBrC;AAxBY,8DAAyB","sourcesContent":["import { Field, Float, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { ProductBundleSetting } from './product-bundle-setting'\n\n@ObjectType()\nexport class ProductBundleSettingList {\n @Field(type => [ProductBundleSetting], { nullable: true })\n items?: ProductBundleSetting[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class ProductBundleSettingPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n product?: ObjectRef\n\n @Field({ nullable: true })\n productDetail?: ObjectRef\n\n @Field({ nullable: true })\n productBundle?: ObjectRef\n\n @Field(type => Int, { nullable: true })\n bundleQty?: number\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field(type => Float, { nullable: true })\n packingSize?: number\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n"]}
1
+ {"version":3,"file":"product-bundle-setting-types.js","sourceRoot":"","sources":["../../../server/service/product-bundle-setting/product-bundle-setting-types.ts"],"names":[],"mappings":";;;;;AAAA,+CAA2E;AAE3E,iDAAiD;AAEjD,qEAA+D;AAGxD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;CAMpC,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6CAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDAC5B;AAE9B;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACzB;AALH,wBAAwB;IADpC,IAAA,yBAAU,GAAE;GACA,wBAAwB,CAMpC;AANY,4DAAwB;AAS9B,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAwBrC,CAAA;AAvBC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DAChB,iBAAS,oBAAT,iBAAS;0DAAA;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACV,iBAAS,oBAAT,iBAAS;gEAAA;AAEzB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACV,iBAAS,oBAAT,iBAAS;gEAAA;AAEzB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACrB;AAElB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACrB;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACX;AAvBJ,yBAAyB;IADrC,IAAA,wBAAS,GAAE;GACC,yBAAyB,CAwBrC;AAxBY,8DAAyB","sourcesContent":["import { Field, Float, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { ProductBundleSetting } from './product-bundle-setting'\n\n@ObjectType()\nexport class ProductBundleSettingList {\n @Field(type => [ProductBundleSetting], { nullable: true })\n items?: ProductBundleSetting[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class ProductBundleSettingPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n product?: ObjectRef\n\n @Field({ nullable: true })\n productDetail?: ObjectRef\n\n @Field({ nullable: true })\n productBundle?: ObjectRef\n\n @Field(type => Int, { nullable: true })\n bundleQty?: number\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field(type => Float, { nullable: true })\n packingSize?: number\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-setting.js","sourceRoot":"","sources":["../../../server/service/product-bundle-setting/product-bundle-setting.ts"],"names":[],"mappings":";;;;AAAA,+CAAoD;AACpD,qCAAkF;AAElF,qEAAgE;AAChE,qEAAgE;AAChE,gDAA4C;AAa5C,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;CA0BhC,CAAA;AAvBC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAClB;AAIpB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,iBAAO;qDAAA;AAIjB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpD,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,8BAAa;2DAAA;AAI7B;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpD,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,8BAAa;2DAAA;AAI7B;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACR;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACR;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACT;AAzBN,oBAAoB;IAXhC,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EACJ,6BAA6B,EAC7B,CAAC,oBAA0C,EAAE,EAAE,CAAC;QAC9C,oBAAoB,CAAC,OAAO;QAC5B,oBAAoB,CAAC,aAAa;QAClC,oBAAoB,CAAC,aAAa;KACnC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;IACA,IAAA,yBAAU,GAAE;GACA,oBAAoB,CA0BhC;AA1BY,oDAAoB","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'\n\nimport { ProductBundle } from '../product-bundle/product-bundle'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from '../product/product'\n\n@Entity()\n@Index(\n 'ix_product_bundle_setting_0',\n (productBundleSetting: ProductBundleSetting) => [\n productBundleSetting.product,\n productBundleSetting.productDetail,\n productBundleSetting.productBundle\n ],\n { unique: true }\n)\n@ObjectType()\nexport class ProductBundleSetting {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n readonly id?: string\n\n @ManyToOne(type => Product, { nullable: true })\n @Field(type => Product, { nullable: true })\n product?: Product\n\n @ManyToOne(type => ProductDetail, { nullable: true })\n @Field(type => ProductDetail, { nullable: true })\n productDetail?: ProductDetail\n\n @ManyToOne(type => ProductBundle, { nullable: true })\n @Field(type => ProductBundle, { nullable: true })\n productBundle?: ProductBundle\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n bundleQty?: number\n\n @Field({ nullable: true })\n productId?: string\n\n @Field({ nullable: true })\n bundleId?: string\n}\n"]}
1
+ {"version":3,"file":"product-bundle-setting.js","sourceRoot":"","sources":["../../../server/service/product-bundle-setting/product-bundle-setting.ts"],"names":[],"mappings":";;;;AAAA,+CAAoD;AACpD,qCAAkF;AAElF,qEAAgE;AAChE,qEAAgE;AAChE,gDAA4C;AAarC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CA0BhC,CAAA;AAzBC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAClB;AAEpB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,iBAAO;qDAAA;AAEjB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpD,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,8BAAa;2DAAA;AAE7B;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpD,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,8BAAa;2DAAA;AAE7B;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACR;AAElB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACR;AAElB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACT;AAzBN,oBAAoB;IAXhC,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EACJ,6BAA6B,EAC7B,CAAC,oBAA0C,EAAE,EAAE,CAAC;QAC9C,oBAAoB,CAAC,OAAO;QAC5B,oBAAoB,CAAC,aAAa;QAClC,oBAAoB,CAAC,aAAa;KACnC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;IACA,IAAA,yBAAU,GAAE;GACA,oBAAoB,CA0BhC;AA1BY,oDAAoB","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'\n\nimport { ProductBundle } from '../product-bundle/product-bundle'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from '../product/product'\n\n@Entity()\n@Index(\n 'ix_product_bundle_setting_0',\n (productBundleSetting: ProductBundleSetting) => [\n productBundleSetting.product,\n productBundleSetting.productDetail,\n productBundleSetting.productBundle\n ],\n { unique: true }\n)\n@ObjectType()\nexport class ProductBundleSetting {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n readonly id?: string\n\n @ManyToOne(type => Product, { nullable: true })\n @Field(type => Product, { nullable: true })\n product?: Product\n\n @ManyToOne(type => ProductDetail, { nullable: true })\n @Field(type => ProductDetail, { nullable: true })\n productDetail?: ProductDetail\n\n @ManyToOne(type => ProductBundle, { nullable: true })\n @Field(type => ProductBundle, { nullable: true })\n productBundle?: ProductBundle\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n bundleQty?: number\n\n @Field({ nullable: true })\n productId?: string\n\n @Field({ nullable: true })\n bundleId?: string\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination-mutation.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In, Repository } from 'typeorm'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { ProductCombination, ProductCombinationStatus } from './product-combination'\nimport { NewProductCombination, ProductCombinationPatch } from './product-combination-type'\n\n@Resolver(ProductCombination)\nexport class ProductCombinationMutation {\n @Directive('@transaction')\n @Mutation(returns => ProductCombination, { description: 'To create new ProductCombination' })\n async createProductCombination(\n @Arg('productCombination') productCombination: NewProductCombination,\n @Ctx() context: any\n ): Promise<ProductCombination> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(ProductCombination).save({\n ...productCombination,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => ProductCombination, { description: 'To modify ProductCombination information' })\n async updateProductCombination(\n @Arg('id') id: string,\n @Arg('patch') patch: ProductCombinationPatch,\n @Ctx() context: any\n ): Promise<ProductCombination> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ProductCombination)\n const productCombination = await repository.findOne({\n where: { domain, id }\n })\n\n return await repository.save({\n ...productCombination,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [ProductCombination], { description: \"To modify multiple ProductCombinations' information\" })\n async updateMultipleProductCombination(\n @Arg('productDetailId', type => String) productDetailId: string,\n @Arg('patches', type => [ProductCombinationPatch]) patches: ProductCombinationPatch[],\n @Ctx() context: any\n ): Promise<ProductCombination[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => !patch.id)\n const _updateRecords = patches.filter((patch: any) => patch.id)\n const productDetailRepo = tx.getRepository(ProductDetail)\n const productCombinationRepo = tx.getRepository(ProductCombination)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n let newRecord = _createRecords[i]\n const productDetail: ProductDetail = await productDetailRepo.findOne({\n where: { id: productDetailId },\n relations: ['product']\n })\n\n delete newRecord.id\n\n if (!newRecord?.status) {\n newRecord.status = ProductCombinationStatus.INACTIVE\n }\n\n const result = await productCombinationRepo.save({\n ...newRecord,\n domain,\n productDetail,\n product: productDetail.product,\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 productCombination = await productCombinationRepo.findOne({ domain, id: newRecord.id })\n\n if (newRecord.status) {\n newRecord.status = newRecord.status.toUpperCase()\n }\n\n const result = await productCombinationRepo.save({\n ...productCombination,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ProductCombination' })\n async deleteProductCombination(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {\n const { user, tx } = context.state\n\n await tx.getRepository(ProductCombination).update({ id }, { deletedAt: new Date(), deletedBy: user })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple productCombinations' })\n async deleteProductCombinations(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {\n const { user, tx } = context.state\n\n const productCombinationRepo: Repository<ProductCombination> = tx.getRepository(ProductCombination)\n\n let productCombinations = await productCombinationRepo.find({ where: { id: In(ids) } })\n\n for (let i = 0; i < productCombinations.length; i++) {\n const product = productCombinations[i]\n\n await productCombinationRepo.save({\n ...product,\n status: ProductCombinationStatus.DELETED,\n updater: user\n })\n }\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"product-combination-mutation.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In, Repository } from 'typeorm'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { ProductCombination, ProductCombinationStatus } from './product-combination'\nimport { NewProductCombination, ProductCombinationPatch } from './product-combination-type'\n\n@Resolver(ProductCombination)\nexport class ProductCombinationMutation {\n @Directive('@transaction')\n @Mutation(returns => ProductCombination, { description: 'To create new ProductCombination' })\n async createProductCombination(\n @Arg('productCombination') productCombination: NewProductCombination,\n @Ctx() context: any\n ): Promise<ProductCombination> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(ProductCombination).save({\n ...productCombination,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => ProductCombination, { description: 'To modify ProductCombination information' })\n async updateProductCombination(\n @Arg('id') id: string,\n @Arg('patch') patch: ProductCombinationPatch,\n @Ctx() context: any\n ): Promise<ProductCombination> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ProductCombination)\n const productCombination = await repository.findOne({\n where: { domain, id }\n })\n\n return await repository.save({\n ...productCombination,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [ProductCombination], { description: \"To modify multiple ProductCombinations' information\" })\n async updateMultipleProductCombination(\n @Arg('productDetailId', type => String) productDetailId: string,\n @Arg('patches', type => [ProductCombinationPatch]) patches: ProductCombinationPatch[],\n @Ctx() context: any\n ): Promise<ProductCombination[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => !patch.id)\n const _updateRecords = patches.filter((patch: any) => patch.id)\n const productDetailRepo = tx.getRepository(ProductDetail)\n const productCombinationRepo = tx.getRepository(ProductCombination)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n let newRecord = _createRecords[i]\n const productDetail: ProductDetail = await productDetailRepo.findOne({\n where: { id: productDetailId },\n relations: ['product']\n })\n\n delete newRecord.id\n\n if (!newRecord?.status) {\n newRecord.status = ProductCombinationStatus.INACTIVE\n }\n\n const result = await productCombinationRepo.save({\n ...newRecord,\n domain,\n productDetail,\n product: productDetail.product,\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 productCombination = await productCombinationRepo.findOne({ domain, id: newRecord.id })\n\n if (newRecord.status) {\n newRecord.status = newRecord.status.toUpperCase()\n }\n\n const result = await productCombinationRepo.save({\n ...productCombination,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ProductCombination' })\n async deleteProductCombination(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {\n const { user, tx } = context.state\n\n await tx.getRepository(ProductCombination).update({ id }, { deletedAt: new Date(), deletedBy: user })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple productCombinations' })\n async deleteProductCombinations(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {\n const { user, tx } = context.state\n\n const productCombinationRepo: Repository<ProductCombination> = tx.getRepository(ProductCombination)\n\n let productCombinations = await productCombinationRepo.find({ where: { id: In(ids) } })\n\n for (let i = 0; i < productCombinations.length; i++) {\n const product = productCombinations[i]\n\n await productCombinationRepo.save({\n ...product,\n status: ProductCombinationStatus.DELETED,\n updater: user\n })\n }\n\n return true\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination-query.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination-query.ts"],"names":[],"mappings":";;;;;AAAA,+CAAmF;AACnF,qCAAuC;AAEvC,yDAAgD;AAChD,iDAA4E;AAE5E,+DAA0D;AAC1D,yEAAmE;AAGnE,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAElC,KAAK,CAAC,kBAAkB,CAAY,IAAY,EAAS,OAAY;QACnE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,wCAAkB,CAAC,CAAC,OAAO,CAAC;YACxD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAA;IACJ,CAAC;IAGD,KAAK,CAAC,mBAAmB,CAAS,MAAiB,EAAS,OAAY;QACtE,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,uBAAa,EAAC,wCAAkB,CAAC,CAAC,YAAY,iCACtE,eAAe,KAClB,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,IACvC,CAAA;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAS,kBAAsC;QACzD,OAAO,MAAM,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACzE,CAAC;IAGD,KAAK,CAAC,OAAO,CAAS,kBAAsC;QAC1D,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACxE,CAAC;IAGD,KAAK,CAAC,OAAO,CAAS,kBAAsC;QAC1D,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACxE,CAAC;CACF,CAAA;AAjCC;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,wCAAkB,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IAC7D,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iEAMvD;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,iDAAsB,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;IACxE,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;iEAAjB,iBAAS,oBAAT,iBAAS;;kEAQlD;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAqB,wCAAkB;;qDAE1D;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAqB,wCAAkB;;sDAE3D;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAqB,wCAAkB;;sDAE3D;AAlCU,uBAAuB;IADnC,IAAA,uBAAQ,EAAC,wCAAkB,CAAC;GAChB,uBAAuB,CAmCnC;AAnCY,0DAAuB","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { getRepository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { ProductCombination } from './product-combination'\nimport { ProductCombinationList } from './product-combination-type'\n\n@Resolver(ProductCombination)\nexport class ProductCombinationQuery {\n @Query(returns => ProductCombination, { description: 'To fetch a ProductCombination' })\n async productCombination(@Arg('id') name: string, @Ctx() context: any): Promise<ProductCombination> {\n const { domain, tx } = context.state\n\n return await tx.getRepository(ProductCombination).findOne({\n where: { domain, name }\n })\n }\n\n @Query(returns => ProductCombinationList, { description: 'To fetch multiple ProductCombinations' })\n async productCombinations(@Args() params: ListParam, @Ctx() context: any): Promise<ProductCombinationList> {\n const convertedParams = convertListParams(params)\n const [items, total] = await getRepository(ProductCombination).findAndCount({\n ...convertedParams,\n relations: ['product', 'productDetail']\n })\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() productCombination: ProductCombination): Promise<Domain> {\n return await getRepository(Domain).findOne(productCombination.domainId)\n }\n\n @FieldResolver(type => User)\n async updater(@Root() productCombination: ProductCombination): Promise<User> {\n return await getRepository(User).findOne(productCombination.updaterId)\n }\n\n @FieldResolver(type => User)\n async creator(@Root() productCombination: ProductCombination): Promise<User> {\n return await getRepository(User).findOne(productCombination.creatorId)\n }\n}\n"]}
1
+ {"version":3,"file":"product-combination-query.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination-query.ts"],"names":[],"mappings":";;;;;AAAA,+CAAmF;AACnF,qCAAuC;AAEvC,yDAAgD;AAChD,iDAA4E;AAE5E,+DAA0D;AAC1D,yEAAmE;AAG5D,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAE5B,AAAN,KAAK,CAAC,kBAAkB,CAAY,IAAY,EAAS,OAAY;QACnE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,wCAAkB,CAAC,CAAC,OAAO,CAAC;YACxD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CAAS,MAAiB,EAAS,OAAY;QACtE,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,uBAAa,EAAC,wCAAkB,CAAC,CAAC,YAAY,iCACtE,eAAe,KAClB,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,IACvC,CAAA;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,kBAAsC;QACzD,OAAO,MAAM,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACzE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,kBAAsC;QAC1D,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACxE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,kBAAsC;QAC1D,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACxE,CAAC;CACF,CAAA;AAjCO;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,wCAAkB,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IAC7D,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iEAMvD;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,iDAAsB,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;IACxE,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;iEAAjB,iBAAS,oBAAT,iBAAS;;kEAQlD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAqB,wCAAkB;;qDAE1D;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAqB,wCAAkB;;sDAE3D;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAqB,wCAAkB;;sDAE3D;AAlCU,uBAAuB;IADnC,IAAA,uBAAQ,EAAC,wCAAkB,CAAC;GAChB,uBAAuB,CAmCnC;AAnCY,0DAAuB","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { getRepository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { ProductCombination } from './product-combination'\nimport { ProductCombinationList } from './product-combination-type'\n\n@Resolver(ProductCombination)\nexport class ProductCombinationQuery {\n @Query(returns => ProductCombination, { description: 'To fetch a ProductCombination' })\n async productCombination(@Arg('id') name: string, @Ctx() context: any): Promise<ProductCombination> {\n const { domain, tx } = context.state\n\n return await tx.getRepository(ProductCombination).findOne({\n where: { domain, name }\n })\n }\n\n @Query(returns => ProductCombinationList, { description: 'To fetch multiple ProductCombinations' })\n async productCombinations(@Args() params: ListParam, @Ctx() context: any): Promise<ProductCombinationList> {\n const convertedParams = convertListParams(params)\n const [items, total] = await getRepository(ProductCombination).findAndCount({\n ...convertedParams,\n relations: ['product', 'productDetail']\n })\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() productCombination: ProductCombination): Promise<Domain> {\n return await getRepository(Domain).findOne(productCombination.domainId)\n }\n\n @FieldResolver(type => User)\n async updater(@Root() productCombination: ProductCombination): Promise<User> {\n return await getRepository(User).findOne(productCombination.updaterId)\n }\n\n @FieldResolver(type => User)\n async creator(@Root() productCombination: ProductCombination): Promise<User> {\n return await getRepository(User).findOne(productCombination.creatorId)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination-type.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination-type.ts"],"names":[],"mappings":";;;;;AAAA,+CAAoE;AAEpE,iDAAiD;AAEjD,+DAAoF;AAGpF,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;CASjC,CAAA;AAPC;IADC,IAAA,oBAAK,GAAE;;mDACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACN;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8CAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDAC7C;AARJ,qBAAqB;IADjC,IAAA,wBAAS,GAAE;GACC,qBAAqB,CASjC;AATY,sDAAqB;AAYlC,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;CAqBnC,CAAA;AAnBC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACX;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DAChB,iBAAS,oBAAT,iBAAS;wDAAA;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACV,iBAAS,oBAAT,iBAAS;8DAAA;AAGzB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACX;AApBJ,uBAAuB;IADnC,IAAA,wBAAS,GAAE;GACC,uBAAuB,CAqBnC;AArBY,0DAAuB;AAwBpC,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;CAMlC,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,wCAAkB,CAAC,CAAC;;qDACT;AAG3B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;qDACN;AALF,sBAAsB;IADlC,IAAA,yBAAU,GAAE;GACA,sBAAsB,CAMlC;AANY,wDAAsB","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { ProductCombination, ProductCombinationStatus } from './product-combination'\n\n@InputType()\nexport class NewProductCombination {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => ProductCombinationStatus, { nullable: true })\n status?: string\n}\n\n@InputType()\nexport class ProductCombinationPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n status?: string\n\n @Field({ nullable: true })\n product?: ObjectRef\n\n @Field({ nullable: true })\n productDetail?: ObjectRef\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ProductCombinationList {\n @Field(type => [ProductCombination])\n items: ProductCombination[]\n\n @Field(type => Int)\n total: number\n}\n"]}
1
+ {"version":3,"file":"product-combination-type.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination-type.ts"],"names":[],"mappings":";;;;;AAAA,+CAAoE;AAEpE,iDAAiD;AAEjD,+DAAoF;AAG7E,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CASjC,CAAA;AARC;IAAC,IAAA,oBAAK,GAAE;;mDACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8CAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDAC7C;AARJ,qBAAqB;IADjC,IAAA,wBAAS,GAAE;GACC,qBAAqB,CASjC;AATY,sDAAqB;AAY3B,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAqBnC,CAAA;AApBC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACX;AAEf;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DAChB,iBAAS,oBAAT,iBAAS;wDAAA;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACV,iBAAS,oBAAT,iBAAS;8DAAA;AAEzB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACX;AApBJ,uBAAuB;IADnC,IAAA,wBAAS,GAAE;GACC,uBAAuB,CAqBnC;AArBY,0DAAuB;AAwB7B,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAMlC,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,wCAAkB,CAAC,CAAC;;qDACT;AAE3B;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;qDACN;AALF,sBAAsB;IADlC,IAAA,yBAAU,GAAE;GACA,sBAAsB,CAMlC;AANY,wDAAsB","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { ProductCombination, ProductCombinationStatus } from './product-combination'\n\n@InputType()\nexport class NewProductCombination {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => ProductCombinationStatus, { nullable: true })\n status?: string\n}\n\n@InputType()\nexport class ProductCombinationPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n status?: string\n\n @Field({ nullable: true })\n product?: ObjectRef\n\n @Field({ nullable: true })\n productDetail?: ObjectRef\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ProductCombinationList {\n @Field(type => [ProductCombination])\n items: ProductCombination[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination.ts"],"names":[],"mappings":";;;;;AAAA,+CAAsE;AACtE,qCAUgB;AAEhB,yDAAgD;AAChD,iDAA8C;AAE9C,4GAAsG;AACtG,qEAAgE;AAChE,gDAA4C;AAE5C,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,6CAAiB,CAAA;IACjB,mDAAuB,CAAA;IACvB,+CAAmB,CAAA;IACnB,iDAAqB,CAAA;AACvB,CAAC,EALW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAKnC;AAED,IAAA,+BAAgB,EAAC,wBAAwB,EAAE;IACzC,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,4CAA4C;CAC1D,CAAC,CAAA;AASF,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;CA4E9B,CAAA;AAzEC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;8CACC;AAInB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACjB,cAAM,oBAAN,cAAM;kDAAA;AAGf;IADC,IAAA,oBAAU,EAAC,CAAC,kBAAsC,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC;;oDACjE;AAIjB;IAFC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,GAAE;;gDACI;AAOZ;IALC,IAAA,mBAAS,EACR,IAAI,CAAC,EAAE,CAAC,uDAAyB,EACjC,yBAAyB,CAAC,EAAE,CAAC,yBAAyB,CAAC,kBAAkB,CAC1E;IACA,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,uDAAyB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sEACP;AAIxD;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAO,CAAC;IAC1B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAO,CAAC;sCACb,iBAAO;mDAAA;AAGjB;IADC,IAAA,oBAAU,EAAC,CAAC,kBAAsC,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;;qDACjE;AAIlB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACrD,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,CAAC;sCACb,8BAAa;yDAAA;AAG7B;IADC,IAAA,oBAAU,EAAC,CAAC,kBAAsC,EAAE,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC;;2DACjE;AAIxB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACN;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAChB,IAAI;qDAAA;AAIf;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACf,gBAAI,oBAAJ,gBAAI;qDAAA;AAGf;IADC,IAAA,oBAAU,EAAC,CAAC,kBAAsC,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC;;uDACjE;AAIpB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACX;AAIf;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;qDAAA;AAIhB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;qDAAA;AAIhB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DAChB,gBAAI,oBAAJ,gBAAI;mDAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,kBAAsC,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;;qDACjE;AAIlB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DAChB,gBAAI,oBAAJ,gBAAI;mDAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,kBAAsC,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;;qDACjE;AA3EP,kBAAkB;IAP9B,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EACJ,0BAA0B,EAC1B,CAAC,kBAAsC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC9F,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;IACA,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;GAChD,kBAAkB,CA4E9B;AA5EY,gDAAkB","sourcesContent":["import { Field, ID, ObjectType, registerEnumType } 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 { Domain } from '@things-factory/shell'\n\nimport { ProductCombinationSetting } from '../product-combination-setting/product-combination-setting'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from '../product/product'\n\nexport enum ProductCombinationStatus {\n ACTIVE = 'ACTIVE',\n ACTIVATED = 'ACTIVATED',\n DELETED = 'DELETED',\n INACTIVE = 'INACTIVE'\n}\n\nregisterEnumType(ProductCombinationStatus, {\n name: 'ProductCombinationStatus',\n description: 'status enumeration of a productCombination'\n})\n\n@Entity()\n@Index(\n 'ix_product_combination_0',\n (productCombination: ProductCombination) => [productCombination.domain, productCombination.id],\n { unique: true }\n)\n@ObjectType({ description: 'Entity for ProductCombination' })\nexport class ProductCombination {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((productCombination: ProductCombination) => productCombination.domain)\n domainId?: string\n\n @Column()\n @Field()\n name: string\n\n @OneToMany(\n type => ProductCombinationSetting,\n productCombinationSetting => productCombinationSetting.productCombination\n )\n @Field(type => [ProductCombinationSetting], { nullable: true })\n productCombinationSettings?: ProductCombinationSetting[]\n\n @ManyToOne(type => Product)\n @Field(type => Product)\n product?: Product\n\n @RelationId((productCombination: ProductCombination) => productCombination.product)\n productId?: string\n\n @ManyToOne(type => ProductDetail, { nullable: false })\n @Field(type => ProductDetail)\n productDetail?: ProductDetail\n\n @RelationId((productCombination: ProductCombination) => productCombination.productDetail)\n productDetailId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n deletedAt: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n deletedBy: User\n\n @RelationId((productCombination: ProductCombination) => productCombination.deletedBy)\n deletedById?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n status?: 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 => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((productCombination: ProductCombination) => productCombination.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((productCombination: ProductCombination) => productCombination.creator)\n updaterId?: string\n}\n"]}
1
+ {"version":3,"file":"product-combination.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType, registerEnumType } 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 { Domain } from '@things-factory/shell'\n\nimport { ProductCombinationSetting } from '../product-combination-setting/product-combination-setting'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from '../product/product'\n\nexport enum ProductCombinationStatus {\n ACTIVE = 'ACTIVE',\n ACTIVATED = 'ACTIVATED',\n DELETED = 'DELETED',\n INACTIVE = 'INACTIVE'\n}\n\nregisterEnumType(ProductCombinationStatus, {\n name: 'ProductCombinationStatus',\n description: 'status enumeration of a productCombination'\n})\n\n@Entity()\n@Index(\n 'ix_product_combination_0',\n (productCombination: ProductCombination) => [productCombination.domain, productCombination.id],\n { unique: true }\n)\n@ObjectType({ description: 'Entity for ProductCombination' })\nexport class ProductCombination {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((productCombination: ProductCombination) => productCombination.domain)\n domainId?: string\n\n @Column()\n @Field()\n name: string\n\n @OneToMany(\n type => ProductCombinationSetting,\n productCombinationSetting => productCombinationSetting.productCombination\n )\n @Field(type => [ProductCombinationSetting], { nullable: true })\n productCombinationSettings?: ProductCombinationSetting[]\n\n @ManyToOne(type => Product)\n @Field(type => Product)\n product?: Product\n\n @RelationId((productCombination: ProductCombination) => productCombination.product)\n productId?: string\n\n @ManyToOne(type => ProductDetail, { nullable: false })\n @Field(type => ProductDetail)\n productDetail?: ProductDetail\n\n @RelationId((productCombination: ProductCombination) => productCombination.productDetail)\n productDetailId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n deletedAt: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n deletedBy: User\n\n @RelationId((productCombination: ProductCombination) => productCombination.deletedBy)\n deletedById?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n status?: 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 => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((productCombination: ProductCombination) => productCombination.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((productCombination: ProductCombination) => productCombination.creator)\n updaterId?: string\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination-setting-mutation.js","sourceRoot":"","sources":["../../../server/service/product-combination-setting/product-combination-setting-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In, SelectQueryBuilder } from 'typeorm'\n\nimport { ProductCombinationSetting } from './product-combination-setting'\nimport { NewProductCombinationSetting, ProductCombinationSettingPatch } from './product-combination-setting-type'\n\nconst debug = require('debug')('things-factory:product-base:productCombinationSetting')\n\n@Resolver(ProductCombinationSetting)\nexport class ProductCombinationSettingMutation {\n @Directive('@transaction')\n @Mutation(returns => ProductCombinationSetting, { description: 'To create new ProductCombinationSetting' })\n async createProductCombinationSetting(\n @Arg('productCombinationSetting') productCombinationSetting: NewProductCombinationSetting,\n @Ctx() context: any\n ): Promise<ProductCombinationSetting> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(ProductCombinationSetting).save({\n ...productCombinationSetting,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => ProductCombinationSetting, { description: 'To modify ProductCombinationSetting information' })\n async updateProductCombinationSetting(\n @Arg('id') id: string,\n @Arg('patch') patch: ProductCombinationSettingPatch,\n @Ctx() context: any\n ): Promise<ProductCombinationSetting> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ProductCombinationSetting)\n const productCombinationSetting = await repository.findOne({\n where: { domain, id }\n })\n\n return await repository.save({\n ...productCombinationSetting,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [ProductCombinationSetting], {\n description: \"To modify multiple ProductCombinationSettings' information\"\n })\n async updateMultipleProductCombinationSetting(\n @Arg('patches', type => [ProductCombinationSettingPatch]) patches: ProductCombinationSettingPatch[],\n @Ctx() context: any\n ): Promise<ProductCombinationSetting[]> {\n const { domain, user, tx } = 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 productCombinationSettingRepo = tx.getRepository(ProductCombinationSetting)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await productCombinationSettingRepo.save({\n ...newRecord,\n domain,\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 productCombinationSetting = await productCombinationSettingRepo.findOne(newRecord.id)\n\n const result = await productCombinationSettingRepo.save({\n ...productCombinationSetting,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ProductCombinationSetting' })\n async deleteProductCombinationSetting(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ProductCombinationSetting).delete({ domain, id })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple productCombinationSettings' })\n async deleteProductCombinationSettings(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: any\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ProductCombinationSetting).delete({\n domain,\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To link product combination for kitting process' })\n async linkProductCombination(\n @Arg('productCombinationId', type => String) productCombinationId: string,\n @Arg('patches', type => [ProductCombinationSettingPatch]) patches: ProductCombinationSettingPatch[],\n @Ctx() context: any\n ): Promise<boolean> {\n try {\n const { domain, tx } = context.state\n\n const qb: SelectQueryBuilder<ProductCombinationSetting> = tx\n .getRepository(ProductCombinationSetting)\n .createQueryBuilder('pbs')\n .innerJoinAndSelect('pbs.product', 'prd')\n .innerJoinAndSelect('pbs.productDetail', 'pd')\n .innerJoinAndSelect('pbs.productCombination', 'pc')\n .where('pc.id = :productCombinationId', { productCombinationId })\n .andWhere('pc.domain_id = :domainId', { domainId: domain.id })\n\n const existingCombinationLink = await qb.getMany()\n\n let newCombinationLink: ProductCombinationSetting[] = patches.reduce((acc, curr) => {\n if (\n !existingCombinationLink.find(\n item => item.product.id === curr.product.id && item.productDetail.id === curr.productDetail.id\n )\n ) {\n acc.push({\n productCombination: { id: productCombinationId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n qty: curr.qty,\n cuFlag: '+'\n })\n }\n // check if there is existing bundle link but changes in bundle qty\n else if (\n existingCombinationLink.find(\n item =>\n item.product.id === curr.product.id &&\n item.productDetail.id === curr.productDetail.id &&\n item.qty !== curr.qty\n )\n ) {\n acc.push({\n id: curr.id,\n productCombination: { id: productCombinationId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n qty: curr.qty,\n cuFlag: 'M'\n })\n }\n return acc\n }, [])\n\n let removeCombinationLink: ProductCombinationSetting[] = existingCombinationLink.reduce((acc, curr) => {\n if (\n !patches.find(item => item.product.id == curr.product.id && item.productDetail.id == curr.productDetail.id)\n ) {\n acc.push({\n id: curr.id,\n productCombination: { id: productCombinationId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n qty: curr.qty\n })\n }\n return acc\n }, [])\n\n if (newCombinationLink.length > 0) {\n await updateMultipleProductCombinationSetting(newCombinationLink, context)\n }\n\n if (removeCombinationLink.length > 0) {\n await tx.getRepository(ProductCombinationSetting).delete({\n id: In(removeCombinationLink.map(combinationLink => combinationLink.id))\n })\n }\n\n return true\n } catch (error) {\n debug('link-product-combination', error)\n throw error\n }\n }\n}\n\nexport async function updateMultipleProductCombinationSetting(patches: any, context: any) {\n const { domain, user, tx } = 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 productCombinationSettingRepo = tx.getRepository(ProductCombinationSetting)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await productCombinationSettingRepo.save({\n ...newRecord,\n domain,\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 productCombinationSetting = await productCombinationSettingRepo.findOne(newRecord.id)\n\n const result = await productCombinationSettingRepo.save({\n ...productCombinationSetting,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n}\n"]}
1
+ {"version":3,"file":"product-combination-setting-mutation.js","sourceRoot":"","sources":["../../../server/service/product-combination-setting/product-combination-setting-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In, SelectQueryBuilder } from 'typeorm'\n\nimport { ProductCombinationSetting } from './product-combination-setting'\nimport { NewProductCombinationSetting, ProductCombinationSettingPatch } from './product-combination-setting-type'\n\nconst debug = require('debug')('things-factory:product-base:productCombinationSetting')\n\n@Resolver(ProductCombinationSetting)\nexport class ProductCombinationSettingMutation {\n @Directive('@transaction')\n @Mutation(returns => ProductCombinationSetting, { description: 'To create new ProductCombinationSetting' })\n async createProductCombinationSetting(\n @Arg('productCombinationSetting') productCombinationSetting: NewProductCombinationSetting,\n @Ctx() context: any\n ): Promise<ProductCombinationSetting> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(ProductCombinationSetting).save({\n ...productCombinationSetting,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => ProductCombinationSetting, { description: 'To modify ProductCombinationSetting information' })\n async updateProductCombinationSetting(\n @Arg('id') id: string,\n @Arg('patch') patch: ProductCombinationSettingPatch,\n @Ctx() context: any\n ): Promise<ProductCombinationSetting> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ProductCombinationSetting)\n const productCombinationSetting = await repository.findOne({\n where: { domain, id }\n })\n\n return await repository.save({\n ...productCombinationSetting,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [ProductCombinationSetting], {\n description: \"To modify multiple ProductCombinationSettings' information\"\n })\n async updateMultipleProductCombinationSetting(\n @Arg('patches', type => [ProductCombinationSettingPatch]) patches: ProductCombinationSettingPatch[],\n @Ctx() context: any\n ): Promise<ProductCombinationSetting[]> {\n const { domain, user, tx } = 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 productCombinationSettingRepo = tx.getRepository(ProductCombinationSetting)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await productCombinationSettingRepo.save({\n ...newRecord,\n domain,\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 productCombinationSetting = await productCombinationSettingRepo.findOne(newRecord.id)\n\n const result = await productCombinationSettingRepo.save({\n ...productCombinationSetting,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ProductCombinationSetting' })\n async deleteProductCombinationSetting(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ProductCombinationSetting).delete({ domain, id })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple productCombinationSettings' })\n async deleteProductCombinationSettings(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: any\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ProductCombinationSetting).delete({\n domain,\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To link product combination for kitting process' })\n async linkProductCombination(\n @Arg('productCombinationId', type => String) productCombinationId: string,\n @Arg('patches', type => [ProductCombinationSettingPatch]) patches: ProductCombinationSettingPatch[],\n @Ctx() context: any\n ): Promise<boolean> {\n try {\n const { domain, tx } = context.state\n\n const qb: SelectQueryBuilder<ProductCombinationSetting> = tx\n .getRepository(ProductCombinationSetting)\n .createQueryBuilder('pbs')\n .innerJoinAndSelect('pbs.product', 'prd')\n .innerJoinAndSelect('pbs.productDetail', 'pd')\n .innerJoinAndSelect('pbs.productCombination', 'pc')\n .where('pc.id = :productCombinationId', { productCombinationId })\n .andWhere('pc.domain_id = :domainId', { domainId: domain.id })\n\n const existingCombinationLink = await qb.getMany()\n\n let newCombinationLink: ProductCombinationSetting[] = patches.reduce((acc, curr) => {\n if (\n !existingCombinationLink.find(\n item => item.product.id === curr.product.id && item.productDetail.id === curr.productDetail.id\n )\n ) {\n acc.push({\n productCombination: { id: productCombinationId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n qty: curr.qty,\n cuFlag: '+'\n })\n }\n // check if there is existing bundle link but changes in bundle qty\n else if (\n existingCombinationLink.find(\n item =>\n item.product.id === curr.product.id &&\n item.productDetail.id === curr.productDetail.id &&\n item.qty !== curr.qty\n )\n ) {\n acc.push({\n id: curr.id,\n productCombination: { id: productCombinationId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n qty: curr.qty,\n cuFlag: 'M'\n })\n }\n return acc\n }, [])\n\n let removeCombinationLink: ProductCombinationSetting[] = existingCombinationLink.reduce((acc, curr) => {\n if (\n !patches.find(item => item.product.id == curr.product.id && item.productDetail.id == curr.productDetail.id)\n ) {\n acc.push({\n id: curr.id,\n productCombination: { id: productCombinationId },\n product: { id: curr.product.id },\n productDetail: { id: curr.productDetail.id },\n qty: curr.qty\n })\n }\n return acc\n }, [])\n\n if (newCombinationLink.length > 0) {\n await updateMultipleProductCombinationSetting(newCombinationLink, context)\n }\n\n if (removeCombinationLink.length > 0) {\n await tx.getRepository(ProductCombinationSetting).delete({\n id: In(removeCombinationLink.map(combinationLink => combinationLink.id))\n })\n }\n\n return true\n } catch (error) {\n debug('link-product-combination', error)\n throw error\n }\n }\n}\n\nexport async function updateMultipleProductCombinationSetting(patches: any, context: any) {\n const { domain, user, tx } = 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 productCombinationSettingRepo = tx.getRepository(ProductCombinationSetting)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await productCombinationSettingRepo.save({\n ...newRecord,\n domain,\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 productCombinationSetting = await productCombinationSettingRepo.findOne(newRecord.id)\n\n const result = await productCombinationSettingRepo.save({\n ...productCombinationSetting,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination-setting-query.js","sourceRoot":"","sources":["../../../server/service/product-combination-setting/product-combination-setting-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 { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { ProductCombination } from '../product-combination/product-combination'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from '../product/product'\nimport { ProductCombinationSetting } from './product-combination-setting'\nimport { ProductCombinationSettingList } from './product-combination-setting-type'\n\n@Resolver(ProductCombinationSetting)\nexport class ProductCombinationSettingQuery {\n @Query(returns => ProductCombinationSetting, { description: 'To fetch a ProductCombinationSetting' })\n async productCombinationSetting(\n @Arg('productCombinationId') productCombinationId: string,\n @Ctx() context: any\n ): Promise<ProductCombinationSetting[]> {\n const productCombination: ProductCombination = await getRepository(ProductCombination).findOne({\n where: { id: productCombinationId },\n relations: ['productCombinationSetting']\n })\n\n const productCombinationSettings: ProductCombinationSetting[] = productCombination.productCombinationSettings\n\n return productCombinationSettings\n }\n\n @Query(returns => ProductCombinationSettingList, { description: 'To fetch multiple ProductCombinationSettings' })\n async productCombinationSettings(\n @Args() params: ListParam,\n @Ctx() context: any\n ): Promise<ProductCombinationSettingList> {\n const { domain } = context.state\n\n const convertedParams = convertListParams(params, { domain })\n const [items, total] = await getRepository(ProductCombinationSetting).findAndCount(convertedParams)\n\n return { items, total }\n }\n\n @Query(returns => ProductCombinationSettingList, { description: 'To fetch a set of product combinations' })\n async productCombinationSets(@Args() params: ListParam, @Ctx() context: any): Promise<ProductCombinationSettingList> {\n const { domain } = context.state\n const page = params.pagination.page\n const limit = params.pagination.limit\n\n const filters = params.filters.filter(\n x => x.name !== 'product_info' && x.name !== 'productCombinationId' && x.name !== 'bizplace_id'\n )\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace_id')\n const productCombinationId = params.filters.find(x => x.name === 'productCombinationId')\n const productInfoFilter = params.filters.find(x => x.name === 'product_info')\n const productInfoColumns = ['sku', 'name', 'description']\n params.filters = [...filters]\n\n params.sortings = [\n { name: 'prd.sku' },\n { name: 'prdDet.gtin' },\n ...params.sortings.map(sorting => {\n const name = sorting.name.replace('product', '').toLowerCase()\n return {\n ...sorting,\n name\n }\n })\n ]\n\n if (bizplaceFilter?.value) {\n const bizplaceId: string[] = bizplaceFilter.value\n\n const foundBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceId },\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 const bizplaceIds = [companyBizplace.id, foundBizplace.id]\n params.filters = [...filters, { name: 'bizplace_id', operator: 'in', value: [...new Set(bizplaceIds)] }]\n }\n } else {\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 const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder('prd')\n buildQuery(qb, params, context, {\n domainRef: false\n })\n\n qb.innerJoinAndSelect('product_details', 'prdDet', 'prdDet.product_id = prd.id')\n qb.leftJoinAndSelect(\n 'product_combination_settings',\n 'pcs',\n `pcs.product_id = prd.id and pcs.product_detail_id = prdDet.id ${\n productCombinationId && productCombinationId.operator === 'noteq' ? 'and pcs.product_detail_id = null' : ''\n }`\n )\n qb.leftJoinAndSelect('pcs.productCombination', 'pc')\n\n if (productInfoFilter) {\n qb.andWhere(\n new Brackets(qb2 => {\n productInfoColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productInfoFilter.operator,\n productInfoFilter.value,\n productInfoFilter.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n if (productCombinationId && productCombinationId.operator === 'eq') {\n qb.andWhere('pc.id = :combinationId::uuid', {\n combinationId: productCombinationId.value\n })\n }\n\n let productCombinationSets = await qb\n .offset((page - 1) * limit)\n .limit(limit)\n .getRawMany()\n\n const items = productCombinationSets.map(item => {\n return {\n id: item.pcs_id,\n productDetailId: item.prdDet_id,\n gtin: item.prdDet_gtin,\n packingType: item.prdDet_packing_type,\n packingSize: item.prdDet_packing_size,\n productId: item.prd_id,\n productSku: item.prd_sku,\n productName: item.prd_name,\n productDescription: item.prd_description,\n productType: item.prd_type,\n combinationId: item.pc_id,\n qty: item.pcs_qty\n }\n })\n\n const total = await qb.getCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Product)\n async product(@Root() productCombinationSetting: ProductCombinationSetting): Promise<Product> {\n return await getRepository(Product).findOne(productCombinationSetting.productId)\n }\n\n @FieldResolver(type => ProductDetail)\n async productDetail(@Root() productCombinationSetting: ProductCombinationSetting): Promise<ProductDetail> {\n return await getRepository(ProductDetail).findOne(productCombinationSetting.productDetailId)\n }\n\n @FieldResolver(type => ProductCombination)\n async productCombination(@Root() productCombinationSetting: ProductCombinationSetting): Promise<ProductCombination> {\n return await getRepository(ProductCombination).findOne(productCombinationSetting.productCombinationId)\n }\n}\n"]}
1
+ {"version":3,"file":"product-combination-setting-query.js","sourceRoot":"","sources":["../../../server/service/product-combination-setting/product-combination-setting-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 { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { ProductCombination } from '../product-combination/product-combination'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from '../product/product'\nimport { ProductCombinationSetting } from './product-combination-setting'\nimport { ProductCombinationSettingList } from './product-combination-setting-type'\n\n@Resolver(ProductCombinationSetting)\nexport class ProductCombinationSettingQuery {\n @Query(returns => ProductCombinationSetting, { description: 'To fetch a ProductCombinationSetting' })\n async productCombinationSetting(\n @Arg('productCombinationId') productCombinationId: string,\n @Ctx() context: any\n ): Promise<ProductCombinationSetting[]> {\n const productCombination: ProductCombination = await getRepository(ProductCombination).findOne({\n where: { id: productCombinationId },\n relations: ['productCombinationSetting']\n })\n\n const productCombinationSettings: ProductCombinationSetting[] = productCombination.productCombinationSettings\n\n return productCombinationSettings\n }\n\n @Query(returns => ProductCombinationSettingList, { description: 'To fetch multiple ProductCombinationSettings' })\n async productCombinationSettings(\n @Args() params: ListParam,\n @Ctx() context: any\n ): Promise<ProductCombinationSettingList> {\n const { domain } = context.state\n\n const convertedParams = convertListParams(params, { domain })\n const [items, total] = await getRepository(ProductCombinationSetting).findAndCount(convertedParams)\n\n return { items, total }\n }\n\n @Query(returns => ProductCombinationSettingList, { description: 'To fetch a set of product combinations' })\n async productCombinationSets(@Args() params: ListParam, @Ctx() context: any): Promise<ProductCombinationSettingList> {\n const { domain } = context.state\n const page = params.pagination.page\n const limit = params.pagination.limit\n\n const filters = params.filters.filter(\n x => x.name !== 'product_info' && x.name !== 'productCombinationId' && x.name !== 'bizplace_id'\n )\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace_id')\n const productCombinationId = params.filters.find(x => x.name === 'productCombinationId')\n const productInfoFilter = params.filters.find(x => x.name === 'product_info')\n const productInfoColumns = ['sku', 'name', 'description']\n params.filters = [...filters]\n\n params.sortings = [\n { name: 'prd.sku' },\n { name: 'prdDet.gtin' },\n ...params.sortings.map(sorting => {\n const name = sorting.name.replace('product', '').toLowerCase()\n return {\n ...sorting,\n name\n }\n })\n ]\n\n if (bizplaceFilter?.value) {\n const bizplaceId: string[] = bizplaceFilter.value\n\n const foundBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceId },\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 const bizplaceIds = [companyBizplace.id, foundBizplace.id]\n params.filters = [...filters, { name: 'bizplace_id', operator: 'in', value: [...new Set(bizplaceIds)] }]\n }\n } else {\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 const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder('prd')\n buildQuery(qb, params, context, {\n domainRef: false\n })\n\n qb.innerJoinAndSelect('product_details', 'prdDet', 'prdDet.product_id = prd.id')\n qb.leftJoinAndSelect(\n 'product_combination_settings',\n 'pcs',\n `pcs.product_id = prd.id and pcs.product_detail_id = prdDet.id ${\n productCombinationId && productCombinationId.operator === 'noteq' ? 'and pcs.product_detail_id = null' : ''\n }`\n )\n qb.leftJoinAndSelect('pcs.productCombination', 'pc')\n\n if (productInfoFilter) {\n qb.andWhere(\n new Brackets(qb2 => {\n productInfoColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productInfoFilter.operator,\n productInfoFilter.value,\n productInfoFilter.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n if (productCombinationId && productCombinationId.operator === 'eq') {\n qb.andWhere('pc.id = :combinationId::uuid', {\n combinationId: productCombinationId.value\n })\n }\n\n let productCombinationSets = await qb\n .offset((page - 1) * limit)\n .limit(limit)\n .getRawMany()\n\n const items = productCombinationSets.map(item => {\n return {\n id: item.pcs_id,\n productDetailId: item.prdDet_id,\n gtin: item.prdDet_gtin,\n packingType: item.prdDet_packing_type,\n packingSize: item.prdDet_packing_size,\n productId: item.prd_id,\n productSku: item.prd_sku,\n productName: item.prd_name,\n productDescription: item.prd_description,\n productType: item.prd_type,\n combinationId: item.pc_id,\n qty: item.pcs_qty\n }\n })\n\n const total = await qb.getCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Product)\n async product(@Root() productCombinationSetting: ProductCombinationSetting): Promise<Product> {\n return await getRepository(Product).findOne(productCombinationSetting.productId)\n }\n\n @FieldResolver(type => ProductDetail)\n async productDetail(@Root() productCombinationSetting: ProductCombinationSetting): Promise<ProductDetail> {\n return await getRepository(ProductDetail).findOne(productCombinationSetting.productDetailId)\n }\n\n @FieldResolver(type => ProductCombination)\n async productCombination(@Root() productCombinationSetting: ProductCombinationSetting): Promise<ProductCombination> {\n return await getRepository(ProductCombination).findOne(productCombinationSetting.productCombinationId)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination-setting-type.js","sourceRoot":"","sources":["../../../server/service/product-combination-setting/product-combination-setting-type.ts"],"names":[],"mappings":";;;;;AAAA,+CAAoE;AAEpE,iDAAiD;AAEjD,+EAAyE;AAGzE,IAAa,4BAA4B,GAAzC,MAAa,4BAA4B;CAMxC,CAAA;AAJC;IADC,IAAA,oBAAK,GAAE;;0DACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iEACN;AALT,4BAA4B;IADxC,IAAA,wBAAS,GAAE;GACC,4BAA4B,CAMxC;AANY,oEAA4B;AASzC,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;CAkB1C,CAAA;AAhBC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DAChB,iBAAS,oBAAT,iBAAS;+DAAA;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACV,iBAAS,oBAAT,iBAAS;qEAAA;AAGzB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACL,iBAAS,oBAAT,iBAAS;0EAAA;AAG9B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;2DACR;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACX;AAjBJ,8BAA8B;IAD1C,IAAA,wBAAS,GAAE;GACC,8BAA8B,CAkB1C;AAlBY,wEAA8B;AAqB3C,IAAa,6BAA6B,GAA1C,MAAa,6BAA6B;CAMzC,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,uDAAyB,CAAC,CAAC;;4DACT;AAGlC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;4DACN;AALF,6BAA6B;IADzC,IAAA,yBAAU,GAAE;GACA,6BAA6B,CAMzC;AANY,sEAA6B","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { ProductCombinationSetting } from './product-combination-setting'\n\n@InputType()\nexport class NewProductCombinationSetting {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n}\n\n@InputType()\nexport class ProductCombinationSettingPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n product?: ObjectRef\n\n @Field({ nullable: true })\n productDetail?: ObjectRef\n\n @Field({ nullable: true })\n productCombination?: ObjectRef\n\n @Field(type => Int)\n qty: number\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ProductCombinationSettingList {\n @Field(type => [ProductCombinationSetting])\n items: ProductCombinationSetting[]\n\n @Field(type => Int)\n total: number\n}\n"]}
1
+ {"version":3,"file":"product-combination-setting-type.js","sourceRoot":"","sources":["../../../server/service/product-combination-setting/product-combination-setting-type.ts"],"names":[],"mappings":";;;;;AAAA,+CAAoE;AAEpE,iDAAiD;AAEjD,+EAAyE;AAGlE,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;CAMxC,CAAA;AALC;IAAC,IAAA,oBAAK,GAAE;;0DACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iEACN;AALT,4BAA4B;IADxC,IAAA,wBAAS,GAAE;GACC,4BAA4B,CAMxC;AANY,oEAA4B;AASlC,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;CAkB1C,CAAA;AAjBC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DAChB,iBAAS,oBAAT,iBAAS;+DAAA;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACV,iBAAS,oBAAT,iBAAS;qEAAA;AAEzB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACL,iBAAS,oBAAT,iBAAS;0EAAA;AAE9B;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;2DACR;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACX;AAjBJ,8BAA8B;IAD1C,IAAA,wBAAS,GAAE;GACC,8BAA8B,CAkB1C;AAlBY,wEAA8B;AAqBpC,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;CAMzC,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,uDAAyB,CAAC,CAAC;;4DACT;AAElC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;4DACN;AALF,6BAA6B;IADzC,IAAA,yBAAU,GAAE;GACA,6BAA6B,CAMzC;AANY,sEAA6B","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { ProductCombinationSetting } from './product-combination-setting'\n\n@InputType()\nexport class NewProductCombinationSetting {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n}\n\n@InputType()\nexport class ProductCombinationSettingPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n product?: ObjectRef\n\n @Field({ nullable: true })\n productDetail?: ObjectRef\n\n @Field({ nullable: true })\n productCombination?: ObjectRef\n\n @Field(type => Int)\n qty: number\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ProductCombinationSettingList {\n @Field(type => [ProductCombinationSetting])\n items: ProductCombinationSetting[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination-setting.js","sourceRoot":"","sources":["../../../server/service/product-combination-setting/product-combination-setting.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType, Int } from 'type-graphql'\nimport { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'\n\nimport { ProductCombination } from '../product-combination/product-combination'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from '../product/product'\n\n@Entity()\n@Index(\n 'ix_product_combination_setting_0',\n (productCombinationSetting: ProductCombinationSetting) => [\n productCombinationSetting.product,\n productCombinationSetting.productDetail,\n productCombinationSetting.productCombination\n ],\n { unique: true }\n)\n@ObjectType({ description: 'Entity for ProductCombinationSetting' })\nexport class ProductCombinationSetting {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n readonly id?: string\n\n @ManyToOne(type => Product)\n @Field(type => Product)\n product?: Product\n\n @RelationId((productCombinationSetting: ProductCombinationSetting) => productCombinationSetting.product)\n @Field({ nullable: true })\n productId?: string\n\n @ManyToOne(type => ProductDetail)\n @Field(type => ProductDetail)\n productDetail?: ProductDetail\n\n @RelationId((productCombinationSetting: ProductCombinationSetting) => productCombinationSetting.productDetail)\n @Field({ nullable: true })\n productDetailId?: string\n\n @ManyToOne(type => ProductCombination)\n @Field(type => ProductCombination)\n productCombination?: ProductCombination\n\n @RelationId((productCombinationSetting: ProductCombinationSetting) => productCombinationSetting.productCombination)\n productCombinationId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n qty: number\n\n @Field({ nullable: true })\n gtin?: string\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field(type => Int, { nullable: true })\n packingSize?: number\n\n @Field({ nullable: true })\n remainUomValueWithUom?: string\n\n @Field({ nullable: true })\n productSku?: string\n\n @Field({ nullable: true })\n productName?: string\n\n @Field({ nullable: true })\n productDescription?: string\n\n @Field({ nullable: true })\n productType?: string\n\n @Field({ nullable: true })\n combinationId?: string\n}\n"]}
1
+ {"version":3,"file":"product-combination-setting.js","sourceRoot":"","sources":["../../../server/service/product-combination-setting/product-combination-setting.ts"],"names":[],"mappings":";;;;AAAA,+CAAyD;AACzD,qCAA8F;AAE9F,oFAA+E;AAC/E,qEAAgE;AAChE,gDAA4C;AAarC,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CA0DrC,CAAA;AAzDC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDAClB;AAEpB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAO,CAAC;IAC1B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAO,CAAC;sCACb,iBAAO;0DAAA;AAEjB;IAAC,IAAA,oBAAU,EAAC,CAAC,yBAAoD,EAAE,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC;IACvG,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACR;AAElB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,CAAC;IAChC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAa,CAAC;sCACb,8BAAa;gEAAA;AAE7B;IAAC,IAAA,oBAAU,EAAC,CAAC,yBAAoD,EAAE,EAAE,CAAC,yBAAyB,CAAC,aAAa,CAAC;IAC7G,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kEACF;AAExB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,wCAAkB,CAAC;IACrC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,wCAAkB,CAAC;sCACb,wCAAkB;qEAAA;AAEvC;IAAC,IAAA,oBAAU,EAAC,CAAC,yBAAoD,EAAE,EAAE,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;;uEACtF;AAE7B;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACf;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACnB;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wEACI;AAE9B;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACP;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qEACC;AAE3B;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACJ;AAzDX,yBAAyB;IAXrC,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EACJ,kCAAkC,EAClC,CAAC,yBAAoD,EAAE,EAAE,CAAC;QACxD,yBAAyB,CAAC,OAAO;QACjC,yBAAyB,CAAC,aAAa;QACvC,yBAAyB,CAAC,kBAAkB;KAC7C,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;IACA,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;GACvD,yBAAyB,CA0DrC;AA1DY,8DAAyB","sourcesContent":["import { Field, ID, ObjectType, Int } from 'type-graphql'\nimport { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'\n\nimport { ProductCombination } from '../product-combination/product-combination'\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from '../product/product'\n\n@Entity()\n@Index(\n 'ix_product_combination_setting_0',\n (productCombinationSetting: ProductCombinationSetting) => [\n productCombinationSetting.product,\n productCombinationSetting.productDetail,\n productCombinationSetting.productCombination\n ],\n { unique: true }\n)\n@ObjectType({ description: 'Entity for ProductCombinationSetting' })\nexport class ProductCombinationSetting {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n readonly id?: string\n\n @ManyToOne(type => Product)\n @Field(type => Product)\n product?: Product\n\n @RelationId((productCombinationSetting: ProductCombinationSetting) => productCombinationSetting.product)\n @Field({ nullable: true })\n productId?: string\n\n @ManyToOne(type => ProductDetail)\n @Field(type => ProductDetail)\n productDetail?: ProductDetail\n\n @RelationId((productCombinationSetting: ProductCombinationSetting) => productCombinationSetting.productDetail)\n @Field({ nullable: true })\n productDetailId?: string\n\n @ManyToOne(type => ProductCombination)\n @Field(type => ProductCombination)\n productCombination?: ProductCombination\n\n @RelationId((productCombinationSetting: ProductCombinationSetting) => productCombinationSetting.productCombination)\n productCombinationId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n qty: number\n\n @Field({ nullable: true })\n gtin?: string\n\n @Field({ nullable: true })\n packingType?: string\n\n @Field(type => Int, { nullable: true })\n packingSize?: number\n\n @Field({ nullable: true })\n remainUomValueWithUom?: string\n\n @Field({ nullable: true })\n productSku?: string\n\n @Field({ nullable: true })\n productName?: string\n\n @Field({ nullable: true })\n productDescription?: string\n\n @Field({ nullable: true })\n productType?: string\n\n @Field({ nullable: true })\n combinationId?: string\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"product-detail-mutation.js","sourceRoot":"","sources":["../../../server/service/product-detail/product-detail-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { getRepository, In, Raw } from 'typeorm'\n\nimport { Product } from '../product/product'\nimport { ProductDetail } from './product-detail'\nimport { ProductDetailPatch } from './product-detail-types'\n\n@Resolver(ProductDetail)\nexport class ProductDetailMutation {\n @Directive('@transaction')\n @Mutation(returns => ProductDetail)\n async updateProductDetail(\n @Arg('id') id: string,\n @Arg('patch') patch: ProductDetailPatch,\n @Ctx() context: any\n ): Promise<ProductDetail> {\n return await updateProductDetail(id, patch, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => [ProductDetail])\n async updateMultipleProductDetail(\n @Arg('productId') productId: string,\n @Arg('patches', type => [ProductDetailPatch]) patches: ProductDetailPatch[],\n @Ctx() context: any\n ): Promise<ProductDetail[]> {\n try {\n return await updateMultipleProductDetail(productId, patches, context)\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteProductDetail(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {\n const { domain, user } = context.state\n\n await getRepository(ProductDetail).delete({ domain, name })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteProductDetails(@Arg('names', type => [String]) names: string[], @Ctx() context: any): Promise<Boolean> {\n const { domain, user } = context.state\n\n await getRepository(ProductDetail).delete({\n domain,\n name: In(names)\n })\n\n return true\n }\n}\n\nexport async function createProductDetail(productDetail: any, context: any) {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(ProductDetail).save({\n ...productDetail,\n domain,\n creator: user,\n updater: user\n })\n}\n\nexport async function updateProductDetail(id: string, patch: any, context: any) {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ProductDetail)\n const productDetail: ProductDetail = await repository.findOne({ where: { id } })\n\n if (patch.gtin == undefined) {\n delete patch.gtin\n }\n\n return await repository.save({\n ...productDetail,\n ...patch,\n updater: user\n })\n}\n\nexport async function updateMultipleProductDetail(productId, patches, context: any) {\n try {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => !patch.id)\n const _updateRecords = patches.filter((patch: any) => patch.id)\n // const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n const productRepo = tx.getRepository(Product)\n const productDetailRepo = tx.getRepository(ProductDetail)\n\n const product: Product = await productRepo.findOne({ where: { id: productId }, relations: ['productDetails'] })\n\n const defaultProductDetail: ProductDetail = patches.find(x => x.isDefault)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = {\n ..._createRecords[i],\n name: _createRecords[i].gtin,\n product,\n childProductDetail: null,\n childQty: 0,\n domain: domain,\n creator: user,\n updater: user\n }\n\n if (newRecord.gtin == null || newRecord.gtin == undefined) {\n throw new Error('GTIN cannot be empty.')\n }\n\n const result = await productDetailRepo.save(newRecord)\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n let deleteIds = []\n for (let x = 0; x < product.productDetails.length; x++) {\n let updateRecords = _updateRecords.find(ur => ur.id == product.productDetails[x].id)\n\n if (updateRecords) {\n const productDetail: ProductDetail = await productDetailRepo.findOne({ id: updateRecords.id })\n\n const updateRecord = {\n ...productDetail,\n ...updateRecords,\n name: updateRecords.gtin,\n product,\n childProductDetail: null,\n childQty: 0,\n updater: user\n }\n\n if (updateRecord.gtin == '' || updateRecord.gtin == null || updateRecord.gtin == undefined) {\n throw new Error('GTIN cannot be empty.')\n }\n\n const result = await productDetailRepo.save({\n ...productDetail,\n ...updateRecord,\n name: updateRecord.gtin,\n product,\n childProductDetail: null,\n childQty: 0,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n } else {\n deleteIds.push(product.productDetails[x].id)\n }\n }\n\n await productDetailRepo.delete({ id: In(deleteIds) })\n\n for await (let patch of patches.filter(x => x.childProductDetail)) {\n let matchedChildProductDetail = results.find(itm => itm.gtin == patch.childProductDetail)\n\n if (matchedChildProductDetail) {\n const childProductDetail: ProductDetail = await productDetailRepo.findOne({\n where: { id: matchedChildProductDetail.id },\n relations: ['product']\n })\n const productDetail: ProductDetail = await productDetailRepo.findOne({\n where: { gtin: patch.gtin, product: childProductDetail.product }\n })\n\n await productDetailRepo.save({\n ...productDetail,\n childQty: patch.childQty,\n childProductDetail: childProductDetail,\n updater: user\n })\n }\n }\n\n let defaultProductUpdate: Product\n\n //// Temporary solution, to fetch the first case packing type of SKU and update Case data in Product Table.\n //// To be removed\n let firstCase: ProductDetail = await productDetailRepo.findOne({\n where: { product: product, packingType: Raw(alias => `lower(${alias}) = 'case'`) },\n order: {\n name: 'ASC'\n }\n })\n if (firstCase) {\n defaultProductUpdate = {\n ...defaultProductUpdate,\n caseGtin: firstCase.gtin,\n caseWidth: firstCase.width,\n caseHeight: firstCase.height,\n caseDepth: firstCase.depth,\n caseGrossWeight: firstCase.grossWeight,\n caseWeight: firstCase.nettWeight,\n caseVolume: firstCase.volume\n }\n }\n /////////////////////////////////////////////////////\n\n if (defaultProductDetail) {\n defaultProductUpdate = {\n ...defaultProductUpdate,\n packingType: defaultProductDetail.packingType,\n primaryUnit: defaultProductDetail.uom,\n primaryValue: defaultProductDetail.uomValue,\n cogsAccountCode: defaultProductDetail.cogsAccountCode\n }\n }\n\n if (!_.isEmpty(defaultProductUpdate)) {\n await productRepo.update(\n {\n id: product.id\n },\n defaultProductUpdate\n )\n }\n\n return results\n } catch (error) {\n throw error\n }\n}\n"]}
1
+ {"version":3,"file":"product-detail-mutation.js","sourceRoot":"","sources":["../../../server/service/product-detail/product-detail-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { getRepository, In, Raw } from 'typeorm'\n\nimport { Product } from '../product/product'\nimport { ProductDetail } from './product-detail'\nimport { ProductDetailPatch } from './product-detail-types'\n\n@Resolver(ProductDetail)\nexport class ProductDetailMutation {\n @Directive('@transaction')\n @Mutation(returns => ProductDetail)\n async updateProductDetail(\n @Arg('id') id: string,\n @Arg('patch') patch: ProductDetailPatch,\n @Ctx() context: any\n ): Promise<ProductDetail> {\n return await updateProductDetail(id, patch, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => [ProductDetail])\n async updateMultipleProductDetail(\n @Arg('productId') productId: string,\n @Arg('patches', type => [ProductDetailPatch]) patches: ProductDetailPatch[],\n @Ctx() context: any\n ): Promise<ProductDetail[]> {\n try {\n return await updateMultipleProductDetail(productId, patches, context)\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteProductDetail(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {\n const { domain, user } = context.state\n\n await getRepository(ProductDetail).delete({ domain, name })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteProductDetails(@Arg('names', type => [String]) names: string[], @Ctx() context: any): Promise<Boolean> {\n const { domain, user } = context.state\n\n await getRepository(ProductDetail).delete({\n domain,\n name: In(names)\n })\n\n return true\n }\n}\n\nexport async function createProductDetail(productDetail: any, context: any) {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(ProductDetail).save({\n ...productDetail,\n domain,\n creator: user,\n updater: user\n })\n}\n\nexport async function updateProductDetail(id: string, patch: any, context: any) {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ProductDetail)\n const productDetail: ProductDetail = await repository.findOne({ where: { id } })\n\n if (patch.gtin == undefined) {\n delete patch.gtin\n }\n\n return await repository.save({\n ...productDetail,\n ...patch,\n updater: user\n })\n}\n\nexport async function updateMultipleProductDetail(productId, patches, context: any) {\n try {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => !patch.id)\n const _updateRecords = patches.filter((patch: any) => patch.id)\n // const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n const productRepo = tx.getRepository(Product)\n const productDetailRepo = tx.getRepository(ProductDetail)\n\n const product: Product = await productRepo.findOne({ where: { id: productId }, relations: ['productDetails'] })\n\n const defaultProductDetail: ProductDetail = patches.find(x => x.isDefault)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = {\n ..._createRecords[i],\n name: _createRecords[i].gtin,\n product,\n childProductDetail: null,\n childQty: 0,\n domain: domain,\n creator: user,\n updater: user\n }\n\n if (newRecord.gtin == null || newRecord.gtin == undefined) {\n throw new Error('GTIN cannot be empty.')\n }\n\n const result = await productDetailRepo.save(newRecord)\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n let deleteIds = []\n for (let x = 0; x < product.productDetails.length; x++) {\n let updateRecords = _updateRecords.find(ur => ur.id == product.productDetails[x].id)\n\n if (updateRecords) {\n const productDetail: ProductDetail = await productDetailRepo.findOne({ id: updateRecords.id })\n\n const updateRecord = {\n ...productDetail,\n ...updateRecords,\n name: updateRecords.gtin,\n product,\n childProductDetail: null,\n childQty: 0,\n updater: user\n }\n\n if (updateRecord.gtin == '' || updateRecord.gtin == null || updateRecord.gtin == undefined) {\n throw new Error('GTIN cannot be empty.')\n }\n\n const result = await productDetailRepo.save({\n ...productDetail,\n ...updateRecord,\n name: updateRecord.gtin,\n product,\n childProductDetail: null,\n childQty: 0,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n } else {\n deleteIds.push(product.productDetails[x].id)\n }\n }\n\n await productDetailRepo.delete({ id: In(deleteIds) })\n\n for await (let patch of patches.filter(x => x.childProductDetail)) {\n let matchedChildProductDetail = results.find(itm => itm.gtin == patch.childProductDetail)\n\n if (matchedChildProductDetail) {\n const childProductDetail: ProductDetail = await productDetailRepo.findOne({\n where: { id: matchedChildProductDetail.id },\n relations: ['product']\n })\n const productDetail: ProductDetail = await productDetailRepo.findOne({\n where: { gtin: patch.gtin, product: childProductDetail.product }\n })\n\n await productDetailRepo.save({\n ...productDetail,\n childQty: patch.childQty,\n childProductDetail: childProductDetail,\n updater: user\n })\n }\n }\n\n let defaultProductUpdate: Product\n\n //// Temporary solution, to fetch the first case packing type of SKU and update Case data in Product Table.\n //// To be removed\n let firstCase: ProductDetail = await productDetailRepo.findOne({\n where: { product: product, packingType: Raw(alias => `lower(${alias}) = 'case'`) },\n order: {\n name: 'ASC'\n }\n })\n if (firstCase) {\n defaultProductUpdate = {\n ...defaultProductUpdate,\n caseGtin: firstCase.gtin,\n caseWidth: firstCase.width,\n caseHeight: firstCase.height,\n caseDepth: firstCase.depth,\n caseGrossWeight: firstCase.grossWeight,\n caseWeight: firstCase.nettWeight,\n caseVolume: firstCase.volume\n }\n }\n /////////////////////////////////////////////////////\n\n if (defaultProductDetail) {\n defaultProductUpdate = {\n ...defaultProductUpdate,\n packingType: defaultProductDetail.packingType,\n primaryUnit: defaultProductDetail.uom,\n primaryValue: defaultProductDetail.uomValue,\n cogsAccountCode: defaultProductDetail.cogsAccountCode\n }\n }\n\n if (!_.isEmpty(defaultProductUpdate)) {\n await productRepo.update(\n {\n id: product.id\n },\n defaultProductUpdate\n )\n }\n\n return results\n } catch (error) {\n throw error\n }\n}\n"]}