@things-factory/product-base 9.0.0-beta.8 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist-server/service/product/product-mutation.js +49 -27
  2. package/dist-server/service/product/product-mutation.js.map +1 -1
  3. package/dist-server/service/product/product-query.js +12 -8
  4. package/dist-server/service/product/product-query.js.map +1 -1
  5. package/dist-server/service/product/validate-product.js +1 -1
  6. package/dist-server/service/product/validate-product.js.map +1 -1
  7. package/dist-server/service/product-bundle/product-bundle-mutation.js +31 -8
  8. package/dist-server/service/product-bundle/product-bundle-mutation.js.map +1 -1
  9. package/dist-server/service/product-bundle/product-bundle-query.js +3 -1
  10. package/dist-server/service/product-bundle/product-bundle-query.js.map +1 -1
  11. package/dist-server/service/product-bundle-setting/product-bundle-setting-mutation.js +9 -4
  12. package/dist-server/service/product-bundle-setting/product-bundle-setting-mutation.js.map +1 -1
  13. package/dist-server/service/product-bundle-setting/product-bundle-setting-query.js +31 -5
  14. package/dist-server/service/product-bundle-setting/product-bundle-setting-query.js.map +1 -1
  15. package/dist-server/service/product-combination/product-combination-mutation.js +33 -9
  16. package/dist-server/service/product-combination/product-combination-mutation.js.map +1 -1
  17. package/dist-server/service/product-combination/product-combination-query.js +4 -1
  18. package/dist-server/service/product-combination/product-combination-query.js.map +1 -1
  19. package/dist-server/service/product-combination-setting/product-combination-setting-mutation.js +37 -10
  20. package/dist-server/service/product-combination-setting/product-combination-setting-mutation.js.map +1 -1
  21. package/dist-server/service/product-combination-setting/product-combination-setting-query.js +6 -4
  22. package/dist-server/service/product-combination-setting/product-combination-setting-query.js.map +1 -1
  23. package/dist-server/service/product-detail/product-detail-mutation.js +74 -33
  24. package/dist-server/service/product-detail/product-detail-mutation.js.map +1 -1
  25. package/dist-server/service/product-detail/product-detail-query.js +18 -10
  26. package/dist-server/service/product-detail/product-detail-query.js.map +1 -1
  27. package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-mutation.js +22 -5
  28. package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-mutation.js.map +1 -1
  29. package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-query.js +8 -1
  30. package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-query.js.map +1 -1
  31. package/dist-server/service/product-set/product-set-mutation.js +25 -7
  32. package/dist-server/service/product-set/product-set-mutation.js.map +1 -1
  33. package/dist-server/service/product-set/product-set-query.js +4 -1
  34. package/dist-server/service/product-set/product-set-query.js.map +1 -1
  35. package/dist-server/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-mutation.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'\nimport { In, Repository } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { getRepository } from '@things-factory/shell'\n\nimport { PRODUCT_BUNDLE_STATUS } from '../../constants'\nimport { ProductBundle } from './product-bundle'\nimport { NewProductBundle, ProductBundlePatch } from './product-bundle-types'\n\n@Resolver(ProductBundle)\nexport class ProductBundleMutation {\n @Mutation(returns => ProductBundle)\n async createProductBundle(\n @Arg('productBundle') productBundle: NewProductBundle,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundle> {\n const { domain, user } = context.state\n\n return await getRepository(ProductBundle).save({\n ...productBundle,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Mutation(returns => ProductBundle)\n async updateProductBundle(\n @Arg('name') name: string,\n @Arg('patch') patch: ProductBundlePatch,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundle> {\n const { domain, user } = context.state\n\n const repository = getRepository(ProductBundle)\n const productBundle = await repository.findOne({\n where: { domain: { id: domain.id }, name }\n })\n\n return await repository.save({\n ...productBundle,\n ...patch,\n updater: user\n })\n }\n\n @Mutation(returns => [ProductBundle])\n async updateMultipleProductBundle(\n @Arg('patches', type => [ProductBundlePatch]) patches: ProductBundlePatch[],\n @Ctx() context: ResolverContext\n ): Promise<ProductBundle[]> {\n const { domain, user } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const productBundleRepo = getRepository(ProductBundle)\n const bizplaceRepo = getRepository(Bizplace)\n\n let bizplace: Bizplace\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n let newRecord = _createRecords[i]\n let status = newRecord.status || ''\n\n bizplace = await bizplaceRepo.findOne({ where: { name: domain.name } })\n\n if (!newRecord.status || newRecord.status === '') {\n newRecord.status = PRODUCT_BUNDLE_STATUS.INACTIVE\n }\n\n const result = await productBundleRepo.save({\n ...newRecord,\n domain,\n bizplace,\n status: newRecord.status.toUpperCase(),\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const productBundle = await productBundleRepo.findOneBy({ domain: { id: domain.id }, id: newRecord.id })\n\n if (newRecord.status) {\n newRecord.status = newRecord.status.toUpperCase()\n }\n\n const result = await productBundleRepo.save({\n ...productBundle,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundle(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {\n const { domain, user } = context.state\n\n await getRepository(ProductBundle).delete({ domain: { id: domain.id }, name })\n\n return true\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundles(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<Boolean> {\n const { tx, user } = context.state\n const productBundleRepo: Repository<ProductBundle> = getRepository(ProductBundle) || tx.getRepository(ProductBundle)\n\n let productBundles = await productBundleRepo.find({ where: { id: In(ids) } })\n\n for (let i = 0; i < productBundles.length; i++) {\n const product = productBundles[i]\n\n const result = await productBundleRepo.save({\n ...product,\n status: PRODUCT_BUNDLE_STATUS.DELETED,\n updater: user\n })\n }\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"product-bundle-mutation.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'\nimport { In, Repository } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { getRepository } from '@things-factory/shell'\n\nimport { PRODUCT_BUNDLE_STATUS } from '../../constants'\nimport { ProductBundle } from './product-bundle'\nimport { NewProductBundle, ProductBundlePatch } from './product-bundle-types'\n\n@Resolver(ProductBundle)\nexport class ProductBundleMutation {\n @Mutation(returns => ProductBundle)\n async createProductBundle(\n @Arg('productBundle') productBundle: NewProductBundle,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundle> {\n const { domain, user } = context.state\n\n return await getRepository(ProductBundle).save({\n ...productBundle,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Mutation(returns => ProductBundle)\n async updateProductBundle(\n @Arg('name') name: string,\n @Arg('patch') patch: ProductBundlePatch,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundle> {\n const { domain, user } = context.state\n\n const repository = getRepository(ProductBundle)\n const productBundle = await repository.findOne({\n where: { domain: { id: domain.id }, name }\n })\n\n return await repository.save({\n ...productBundle,\n ...patch,\n updater: user\n })\n }\n\n @Mutation(returns => [ProductBundle])\n async updateMultipleProductBundle(\n @Arg('patches', type => [ProductBundlePatch]) patches: ProductBundlePatch[],\n @Ctx() context: ResolverContext\n ): Promise<ProductBundle[]> {\n const { domain, user } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const productBundleRepo = getRepository(ProductBundle)\n const bizplaceRepo = getRepository(Bizplace)\n\n let bizplace: Bizplace\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n let newRecord = _createRecords[i]\n let status = newRecord.status || ''\n\n bizplace = await bizplaceRepo.findOne({ where: { name: domain.name } })\n\n if (!newRecord.status || newRecord.status === '') {\n newRecord.status = PRODUCT_BUNDLE_STATUS.INACTIVE\n }\n\n const result = await productBundleRepo.save({\n ...newRecord,\n domain,\n bizplace,\n status: newRecord.status.toUpperCase(),\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const productBundle = await productBundleRepo.findOneBy({ domain: { id: domain.id }, id: newRecord.id })\n\n if (newRecord.status) {\n newRecord.status = newRecord.status.toUpperCase()\n }\n\n const result = await productBundleRepo.save({\n ...productBundle,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundle(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {\n const { domain, user } = context.state\n\n await getRepository(ProductBundle).delete({ domain: { id: domain.id }, name })\n\n return true\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundles(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<Boolean> {\n const { tx, user } = context.state\n const productBundleRepo: Repository<ProductBundle> = getRepository(ProductBundle) || tx.getRepository(ProductBundle)\n\n let productBundles = await productBundleRepo.find({ where: { id: In(ids) } })\n\n for (let i = 0; i < productBundles.length; i++) {\n const product = productBundles[i]\n\n const result = await productBundleRepo.save({\n ...product,\n status: PRODUCT_BUNDLE_STATUS.DELETED,\n updater: user\n })\n }\n\n return true\n }\n}\n"]}
@@ -44,7 +44,9 @@ let ProductBundleQuery = class ProductBundleQuery {
44
44
  }
45
45
  async productBundles(params, context) {
46
46
  const convertedParams = (0, shell_1.convertListParams)(params);
47
- const [items, total] = await (0, shell_1.getRepository)(product_bundle_1.ProductBundle).findAndCount(Object.assign({}, convertedParams));
47
+ const [items, total] = await (0, shell_1.getRepository)(product_bundle_1.ProductBundle).findAndCount({
48
+ ...convertedParams
49
+ });
48
50
  return { items, total };
49
51
  }
50
52
  async productBundle(name, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-query.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, Domain, getRepository, ListParam } from '@things-factory/shell'\n\nimport { PRODUCT_BUNDLE_STATUS } from '../../constants'\nimport { ProductBundle } from './product-bundle'\nimport { ProductBundleList } from './product-bundle-types'\n\n@Resolver(ProductBundle)\nexport class ProductBundleQuery {\n @Query(returns => ProductBundleList)\n async myBizplaceProductBundles(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundleList> {\n const { domain } = context.state\n\n const qb: SelectQueryBuilder<ProductBundle> = getRepository(ProductBundle).createQueryBuilder()\n\n const productBundleFilter = params.filters.find(x => x.name == 'product_info')\n const productFilterColumns = ['sku', 'name', 'description']\n let filters = params.filters.filter(x => x.name != 'product_info')\n\n // add status filter to prevent user to see DELETED product bundles\n filters = [...filters, { name: 'status', operator: 'noteq', value: PRODUCT_BUNDLE_STATUS.DELETED }]\n\n if (!params.filters.find(filter => filter.name === 'bizplace_id')) {\n let bizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain: { id: domain.id } } })\n params.filters = [...filters, { name: 'bizplace_id', operator: 'in', value: [bizplace.id] }]\n }\n\n buildQuery(qb, params, context, { domainRef: false })\n if (productBundleFilter) {\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productBundleFilter.operator,\n productBundleFilter.value,\n productBundleFilter.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n const [items, total] = await qb\n .leftJoinAndSelect('ProductBundle.productBundleSettings', 'ProductBundleSetting')\n .leftJoinAndSelect('ProductBundleSetting.product', 'Product')\n .leftJoinAndSelect('ProductBundleSetting.productDetail', 'ProductDetail')\n .leftJoinAndSelect('ProductBundle.bizplace', 'Bizplace')\n .leftJoinAndSelect('ProductBundle.creator', 'Creator')\n .leftJoinAndSelect('ProductBundle.updater', 'Updater')\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ProductBundleList)\n async productBundles(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundleList> {\n const convertedParams = convertListParams(params)\n const [items, total] = await getRepository(ProductBundle).findAndCount({\n ...convertedParams\n })\n\n return { items, total }\n }\n\n @Query(returns => ProductBundle)\n async productBundle(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<ProductBundle> {\n const { domain, user } = context.state\n const repository = getRepository(ProductBundle)\n\n return await repository.findOne({\n where: { domain: { id: domain.id }, name }\n })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() productBundle: ProductBundle): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: productBundle.domainId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() productBundle: ProductBundle): Promise<User> {\n return await getRepository(User).findOneBy({ id: productBundle.creatorId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() productBundle: ProductBundle): Promise<User> {\n return await getRepository(User).findOneBy({ id: productBundle.updaterId })\n }\n}\n"]}
1
+ {"version":3,"file":"product-bundle-query.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, Domain, getRepository, ListParam } from '@things-factory/shell'\n\nimport { PRODUCT_BUNDLE_STATUS } from '../../constants'\nimport { ProductBundle } from './product-bundle'\nimport { ProductBundleList } from './product-bundle-types'\n\n@Resolver(ProductBundle)\nexport class ProductBundleQuery {\n @Query(returns => ProductBundleList)\n async myBizplaceProductBundles(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundleList> {\n const { domain } = context.state\n\n const qb: SelectQueryBuilder<ProductBundle> = getRepository(ProductBundle).createQueryBuilder()\n\n const productBundleFilter = params.filters.find(x => x.name == 'product_info')\n const productFilterColumns = ['sku', 'name', 'description']\n let filters = params.filters.filter(x => x.name != 'product_info')\n\n // add status filter to prevent user to see DELETED product bundles\n filters = [...filters, { name: 'status', operator: 'noteq', value: PRODUCT_BUNDLE_STATUS.DELETED }]\n\n if (!params.filters.find(filter => filter.name === 'bizplace_id')) {\n let bizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain: { id: domain.id } } })\n params.filters = [...filters, { name: 'bizplace_id', operator: 'in', value: [bizplace.id] }]\n }\n\n buildQuery(qb, params, context, { domainRef: false })\n if (productBundleFilter) {\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productBundleFilter.operator,\n productBundleFilter.value,\n productBundleFilter.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n const [items, total] = await qb\n .leftJoinAndSelect('ProductBundle.productBundleSettings', 'ProductBundleSetting')\n .leftJoinAndSelect('ProductBundleSetting.product', 'Product')\n .leftJoinAndSelect('ProductBundleSetting.productDetail', 'ProductDetail')\n .leftJoinAndSelect('ProductBundle.bizplace', 'Bizplace')\n .leftJoinAndSelect('ProductBundle.creator', 'Creator')\n .leftJoinAndSelect('ProductBundle.updater', 'Updater')\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ProductBundleList)\n async productBundles(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundleList> {\n const convertedParams = convertListParams(params)\n const [items, total] = await getRepository(ProductBundle).findAndCount({\n ...convertedParams\n })\n\n return { items, total }\n }\n\n @Query(returns => ProductBundle)\n async productBundle(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<ProductBundle> {\n const { domain, user } = context.state\n const repository = getRepository(ProductBundle)\n\n return await repository.findOne({\n where: { domain: { id: domain.id }, name }\n })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() productBundle: ProductBundle): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: productBundle.domainId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() productBundle: ProductBundle): Promise<User> {\n return await getRepository(User).findOneBy({ id: productBundle.creatorId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() productBundle: ProductBundle): Promise<User> {\n return await getRepository(User).findOneBy({ id: productBundle.updaterId })\n }\n}\n"]}
@@ -138,16 +138,21 @@ async function updateMultipleProductBundleSetting(patches, tx) {
138
138
  if (_createRecords.length > 0) {
139
139
  for (let i = 0; i < _createRecords.length; i++) {
140
140
  const newRecord = _createRecords[i];
141
- const result = await productBundleSettingRepo.save(Object.assign({}, newRecord));
142
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
141
+ const result = await productBundleSettingRepo.save({
142
+ ...newRecord
143
+ });
144
+ results.push({ ...result, cuFlag: '+' });
143
145
  }
144
146
  }
145
147
  if (_updateRecords.length > 0) {
146
148
  for (let i = 0; i < _updateRecords.length; i++) {
147
149
  const newRecord = _updateRecords[i];
148
150
  const productBundleSetting = await productBundleSettingRepo.findOneBy({ id: newRecord.id });
149
- const result = await productBundleSettingRepo.save(Object.assign(Object.assign({}, productBundleSetting), newRecord));
150
- results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
151
+ const result = await productBundleSettingRepo.save({
152
+ ...productBundleSetting,
153
+ ...newRecord
154
+ });
155
+ results.push({ ...result, cuFlag: 'M' });
151
156
  }
152
157
  }
153
158
  return results;
@@ -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":";;;AAmIA,gFAoCC;;AAvKD,+CAAsE;AACtE,qCAA+D;AAE/D,iDAAqD;AAErD,qEAA+D;AAC/D,iFAA0E;AAE1E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,2CAA2C,CAAC,CAAA;AAGpE,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAEjC,AAAN,KAAK,CAAC,kCAAkC,CACe,OAAoC,EAClF,OAAwB;QAE/B,OAAO,MAAM,kCAAkC,CAAC,OAAO,CAAC,CAAA;IAC1D,CAAC;IAGK,AAAN,KAAK,CAAC,0BAA0B,CAAY,EAAU,EAAS,OAAwB;QACrF,MAAM,IAAA,qBAAa,EAAC,6CAAoB,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAExD,OAAO,IAAI,CAAA;IACb,CAAC;IAGK,AAAN,KAAK,CAAC,2BAA2B,CACD,GAAa,EACpC,OAAwB;QAE/B,MAAM,IAAA,qBAAa,EAAC,6CAAoB,CAAC,CAAC,MAAM,CAAC;YAC/C,OAAO,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;SACjB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAIK,AAAN,KAAK,CAAC,iBAAiB,CACG,eAAuB,EACM,OAAoC,EAClF,OAAwB;QAE/B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAEpC,yGAAyG;YACzG,+CAA+C;YAC/C,6DAA6D;YAC7D,KAAK;YAEL,MAAM,EAAE,GAA6C,EAAE;iBACpD,aAAa,CAAC,6CAAoB,CAAC;iBACnC,kBAAkB,CAAC,KAAK,CAAC;iBACzB,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC;iBACxC,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC;iBAC7C,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC;iBAC7C,KAAK,CAAC,0BAA0B,EAAE,EAAE,eAAe,EAAE,CAAC;iBACtD,QAAQ,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAEhE,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;YAE7C,IAAI,aAAa,GAA2B,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACvE,IACE,CAAC,kBAAkB,CAAC,IAAI,CACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,CAC/F,EACD,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC;wBACP,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;wBACtC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;wBAChC,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;wBAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,MAAM,EAAE,GAAG;qBACZ,CAAC,CAAA;gBACJ,CAAC;gBACD,mEAAmE;qBAC9D,IACH,kBAAkB,CAAC,IAAI,CACrB,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;oBACnC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE;oBAC/C,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CACpC,EACD,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC;wBACP,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;wBACtC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;wBAChC,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;wBAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,MAAM,EAAE,GAAG;qBACZ,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,GAAG,CAAA;YACZ,CAAC,EAAE,EAAE,CAAC,CAAA;YAEN,IAAI,gBAAgB,GAA2B,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACrF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC;wBACP,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;wBACtC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;wBAChC,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;wBAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;qBAC1B,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,GAAG,CAAA;YACZ,CAAC,EAAE,EAAE,CAAC,CAAA;YAEN,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,kCAAkC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YAC7D,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,EAAE,CAAC,aAAa,CAAC,6CAAoB,CAAC,CAAC,MAAM,CAAC;oBAClD,EAAE,EAAE,IAAA,YAAE,EAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;iBAC1D,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;YACnC,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAA;AAtHY,oEAA4B;AAEjC;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,6CAAoB,CAAC,CAAC;IAEzC,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,wDAAyB,CAAC,CAAC,CAAA;IACnD,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;sFAGP;AAGK;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IACK,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;8EAI7D;AAGK;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IAE1B,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;+EAOP;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IAE1B,mBAAA,IAAA,kBAAG,EAAC,iBAAiB,CAAC,CAAA;IACtB,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,wDAAyB,CAAC,CAAC,CAAA;IACnD,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;qEAoFP;uCArHU,4BAA4B;IADxC,IAAA,uBAAQ,EAAC,6CAAoB,CAAC;GAClB,4BAA4B,CAsHxC;AAEM,KAAK,UAAU,kCAAkC,CACtD,OAAoC,EACpC,EAAkB;IAElB,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;IACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;IACzF,MAAM,wBAAwB,GAAG,EAAE,CAAC,aAAa,CAAC,6CAAoB,CAAC,CAAA;IAEvE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;YAEnC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,mBAC7C,SAAS,EACZ,CAAA;YAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,oBAAoB,GAAG,MAAM,wBAAwB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;YAE3F,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,iCAC7C,oBAAoB,GACpB,SAAS,EACZ,CAAA;YAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, In, SelectQueryBuilder } from 'typeorm'\n\nimport { getRepository } 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: ResolverContext\n ): Promise<ProductBundleSetting[]> {\n return await updateMultipleProductBundleSetting(patches)\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundleSetting(@Arg('id') id: string, @Ctx() context: ResolverContext): 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: ResolverContext\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: ResolverContext\n ): Promise<Boolean> {\n try {\n const { domain, tx } = 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.findOneBy({ 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, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, In, SelectQueryBuilder } from 'typeorm'\n\nimport { getRepository } 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: ResolverContext\n ): Promise<ProductBundleSetting[]> {\n return await updateMultipleProductBundleSetting(patches)\n }\n\n @Mutation(returns => Boolean)\n async deleteProductBundleSetting(@Arg('id') id: string, @Ctx() context: ResolverContext): 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: ResolverContext\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: ResolverContext\n ): Promise<Boolean> {\n try {\n const { domain, tx } = 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.findOneBy({ 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"]}
@@ -12,7 +12,9 @@ const product_bundle_setting_types_1 = require("./product-bundle-setting-types")
12
12
  let ProductBundleSettingQuery = class ProductBundleSettingQuery {
13
13
  async productBundleSettings(params, context) {
14
14
  const convertedParams = (0, shell_1.convertListParams)(params);
15
- const [items, total] = await (0, shell_1.getRepository)(product_bundle_setting_1.ProductBundleSetting).findAndCount(Object.assign({}, convertedParams));
15
+ const [items, total] = await (0, shell_1.getRepository)(product_bundle_setting_1.ProductBundleSetting).findAndCount({
16
+ ...convertedParams
17
+ });
16
18
  return { items, total };
17
19
  }
18
20
  async productBundleSets(params, context) {
@@ -29,7 +31,10 @@ let ProductBundleSettingQuery = class ProductBundleSettingQuery {
29
31
  { name: 'prdDet.gtin' },
30
32
  ...params.sortings.map(sorting => {
31
33
  const name = sorting.name.replace('product', '').toLowerCase();
32
- return Object.assign(Object.assign({}, sorting), { name });
34
+ return {
35
+ ...sorting,
36
+ name
37
+ };
33
38
  })
34
39
  ];
35
40
  if (!params.filters.find(filter => filter.name === 'bizplace_id')) {
@@ -59,18 +64,39 @@ let ProductBundleSettingQuery = class ProductBundleSettingQuery {
59
64
  .limit(limit)
60
65
  .getRawMany();
61
66
  const items = productBundleSets.map(item => {
62
- return Object.assign(Object.assign({}, item), { id: item.pbs_id, product: {
67
+ return {
68
+ // id: item.pbs_id,
69
+ // productDetailId: item.prdDet_id,
70
+ // gtin: item.prdDet_gtin,
71
+ // packingType: item.prdDet_packing_type,
72
+ // packingSize: item.prdDet_packing_size,
73
+ // productId: item.prd_id,
74
+ // productSku: item.prd_sku,
75
+ // productName: item.prd_name,
76
+ // productDescription: item.prd_description,
77
+ // productType: item.prd_type,
78
+ // bundleId: item.pb_id,
79
+ // bundleSku: item.pb_sku,
80
+ // bundleName: item.pb_name,
81
+ // bundleDescription: item.pb_description,
82
+ // bundleQty: item.pbs_bundle_qty
83
+ ...item,
84
+ id: item.pbs_id,
85
+ product: {
63
86
  id: item.prd_id,
64
87
  sku: item.prd_sku,
65
88
  name: item.prd_name,
66
89
  description: item.prd_description,
67
90
  type: item.prd_type
68
- }, productDetail: {
91
+ },
92
+ productDetail: {
69
93
  id: item.prdDet_id,
70
94
  gtin: item.prdDet_gtin,
71
95
  packingType: item.prdDet_packing_type,
72
96
  packingSize: item.prdDet_packing_size
73
- }, bundleQty: item.pbs_bundle_qty });
97
+ },
98
+ bundleQty: item.pbs_bundle_qty
99
+ };
74
100
  });
75
101
  const total = await qb.getCount();
76
102
  return { items, total };
@@ -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, SelectQueryBuilder } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, getRepository, 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(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): 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(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundleSettingList> {\n const { 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: { id: domain.id } } })\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, SelectQueryBuilder } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { buildCondition, buildQuery, convertListParams, getRepository, 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(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): 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(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductBundleSettingList> {\n const { 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: { id: domain.id } } })\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"]}
@@ -10,7 +10,12 @@ const product_combination_type_1 = require("./product-combination-type");
10
10
  let ProductCombinationMutation = class ProductCombinationMutation {
11
11
  async createProductCombination(productCombination, context) {
12
12
  const { domain, user, tx } = context.state;
13
- return await tx.getRepository(product_combination_1.ProductCombination).save(Object.assign(Object.assign({}, productCombination), { domain, creator: user, updater: user }));
13
+ return await tx.getRepository(product_combination_1.ProductCombination).save({
14
+ ...productCombination,
15
+ domain,
16
+ creator: user,
17
+ updater: user
18
+ });
14
19
  }
15
20
  async updateProductCombination(id, patch, context) {
16
21
  const { domain, user, tx } = context.state;
@@ -18,7 +23,11 @@ let ProductCombinationMutation = class ProductCombinationMutation {
18
23
  const productCombination = await repository.findOne({
19
24
  where: { domain: { id: domain.id }, id }
20
25
  });
21
- return await repository.save(Object.assign(Object.assign(Object.assign({}, productCombination), patch), { updater: user }));
26
+ return await repository.save({
27
+ ...productCombination,
28
+ ...patch,
29
+ updater: user
30
+ });
22
31
  }
23
32
  async updateMultipleProductCombination(productDetailId, patches, context) {
24
33
  const { domain, user, tx } = context.state;
@@ -35,12 +44,19 @@ let ProductCombinationMutation = class ProductCombinationMutation {
35
44
  relations: ['product']
36
45
  });
37
46
  delete newRecord.id;
38
- if (!(newRecord === null || newRecord === void 0 ? void 0 : newRecord.status)) {
47
+ if (!newRecord?.status) {
39
48
  newRecord.status = product_combination_1.ProductCombinationStatus.INACTIVE;
40
49
  }
41
- const result = await productCombinationRepo.save(Object.assign(Object.assign({}, newRecord), { domain,
42
- productDetail, product: productDetail.product, status: newRecord.status.toUpperCase(), creator: user, updater: user }));
43
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
50
+ const result = await productCombinationRepo.save({
51
+ ...newRecord,
52
+ domain,
53
+ productDetail,
54
+ product: productDetail.product,
55
+ status: newRecord.status.toUpperCase(),
56
+ creator: user,
57
+ updater: user
58
+ });
59
+ results.push({ ...result, cuFlag: '+' });
44
60
  }
45
61
  }
46
62
  if (_updateRecords.length > 0) {
@@ -53,8 +69,12 @@ let ProductCombinationMutation = class ProductCombinationMutation {
53
69
  if (newRecord.status) {
54
70
  newRecord.status = newRecord.status.toUpperCase();
55
71
  }
56
- const result = await productCombinationRepo.save(Object.assign(Object.assign(Object.assign({}, productCombination), newRecord), { updater: user }));
57
- results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
72
+ const result = await productCombinationRepo.save({
73
+ ...productCombination,
74
+ ...newRecord,
75
+ updater: user
76
+ });
77
+ results.push({ ...result, cuFlag: 'M' });
58
78
  }
59
79
  }
60
80
  return results;
@@ -70,7 +90,11 @@ let ProductCombinationMutation = class ProductCombinationMutation {
70
90
  let productCombinations = await productCombinationRepo.find({ where: { id: (0, typeorm_1.In)(ids) } });
71
91
  for (let i = 0; i < productCombinations.length; i++) {
72
92
  const product = productCombinations[i];
73
- await productCombinationRepo.save(Object.assign(Object.assign({}, product), { status: product_combination_1.ProductCombinationStatus.DELETED, updater: user }));
93
+ await productCombinationRepo.save({
94
+ ...product,
95
+ status: product_combination_1.ProductCombinationStatus.DELETED,
96
+ updater: user
97
+ });
74
98
  }
75
99
  return true;
76
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination-mutation.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAAwC;AAExC,qEAAgE;AAChE,+DAAoF;AACpF,yEAA2F;AAGpF,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAG/B,AAAN,KAAK,CAAC,wBAAwB,CACD,kBAAyC,EAC7D,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,wCAAkB,CAAC,CAAC,IAAI,iCACjD,kBAAkB,KACrB,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,wBAAwB,CACjB,EAAU,EACP,KAA8B,EACrC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,wCAAkB,CAAC,CAAA;QACvD,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACzC,CAAC,CAAA;QAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,kBAAkB,GAClB,KAAK,KACR,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,gCAAgC,CACI,eAAuB,EACZ,OAAkC,EAC9E,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAChE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/D,MAAM,iBAAiB,GAAG,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAA;QACzD,MAAM,sBAAsB,GAAG,EAAE,CAAC,aAAa,CAAC,wCAAkB,CAAC,CAAA;QAEnE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACjC,MAAM,aAAa,GAAkB,MAAM,iBAAiB,CAAC,OAAO,CAAC;oBACnE,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;oBAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;iBACvB,CAAC,CAAA;gBAEF,OAAO,SAAS,CAAC,EAAE,CAAA;gBAEnB,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,EAAE,CAAC;oBACvB,SAAS,CAAC,MAAM,GAAG,8CAAwB,CAAC,QAAQ,CAAA;gBACtD,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,iCAC3C,SAAS,KACZ,MAAM;oBACN,aAAa,EACb,OAAO,EAAE,aAAa,CAAC,OAAO,EAC9B,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EACtC,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC;oBAChE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;oBACzB,EAAE,EAAE,SAAS,CAAC,EAAE;iBACjB,CAAC,CAAA;gBAEF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACrB,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;gBACnD,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,+CAC3C,kBAAkB,GAClB,SAAS,KACZ,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAIK,AAAN,KAAK,CAAC,wBAAwB,CAAY,EAAU,EAAS,OAAwB;QACnF,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAElC,MAAM,EAAE,CAAC,aAAa,CAAC,wCAAkB,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACrG,OAAO,IAAI,CAAA;IACb,CAAC;IAIK,AAAN,KAAK,CAAC,yBAAyB,CACC,GAAa,EACpC,OAAwB;QAE/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAElC,MAAM,sBAAsB,GAAmC,EAAE,CAAC,aAAa,CAAC,wCAAkB,CAAC,CAAA;QAEnG,IAAI,mBAAmB,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QAEvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;YAEtC,MAAM,sBAAsB,CAAC,IAAI,iCAC5B,OAAO,KACV,MAAM,EAAE,8CAAwB,CAAC,OAAO,EACxC,OAAO,EAAE,IAAI,IACb,CAAA;QACJ,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AA3IY,gEAA0B;AAG/B;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,wCAAkB,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;IAE1F,mBAAA,IAAA,kBAAG,EAAC,oBAAoB,CAAC,CAAA;IACzB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CADyC,gDAAqB;;0EAWrE;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,wCAAkB,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;IAElG,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IACT,mBAAA,IAAA,kBAAG,EAAC,OAAO,CAAC,CAAA;IACZ,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDADe,kDAAuB;;0EAe7C;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,wCAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;IAE/G,mBAAA,IAAA,kBAAG,EAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IACtC,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,kDAAuB,CAAC,CAAC,CAAA;IACjD,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;kFA6DP;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;IAC9C,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;0EAK3D;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;IAErF,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;2EAmBP;qCA1IU,0BAA0B;IADtC,IAAA,uBAAQ,EAAC,wCAAkB,CAAC;GAChB,0BAA0B,CA2ItC","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: ResolverContext\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: ResolverContext\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: domain.id }, 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: ResolverContext\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.findOneBy({\n domain: { id: domain.id },\n id: newRecord.id\n })\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: ResolverContext): 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(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): 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: ResolverContext\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: ResolverContext\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: domain.id }, 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: ResolverContext\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.findOneBy({\n domain: { id: domain.id },\n id: newRecord.id\n })\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: ResolverContext): 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(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): 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"]}
@@ -16,7 +16,10 @@ let ProductCombinationQuery = class ProductCombinationQuery {
16
16
  }
17
17
  async productCombinations(params, context) {
18
18
  const convertedParams = (0, shell_1.convertListParams)(params);
19
- const [items, total] = await (0, shell_1.getRepository)(product_combination_1.ProductCombination).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['product', 'productDetail'] }));
19
+ const [items, total] = await (0, shell_1.getRepository)(product_combination_1.ProductCombination).findAndCount({
20
+ ...convertedParams,
21
+ relations: ['product', 'productDetail']
22
+ });
20
23
  return { items, total };
21
24
  }
22
25
  async domain(productCombination) {
@@ -1 +1 @@
1
- {"version":3,"file":"product-combination-query.js","sourceRoot":"","sources":["../../../server/service/product-combination/product-combination-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AAEnF,yDAAgD;AAChD,iDAA2F;AAE3F,+DAA0D;AAC1D,yEAAmE;AAG5D,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAE5B,AAAN,KAAK,CAAC,kBAAkB,CAAY,IAAY,EAAS,OAAwB;QAC/E,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,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CACE,MAAiB,EACnC,OAAwB;QAE/B,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,qBAAa,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,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnF,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,kBAAsC;QAC1D,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAA;IAClF,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,kBAAsC;QAC1D,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAA;IAClF,CAAC;CACF,CAAA;AAtCY,0DAAuB;AAE5B;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;IAEhG,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAD2B,iBAAS;;kEAU3C;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;kCArCU,uBAAuB;IADnC,IAAA,uBAAQ,EAAC,wCAAkB,CAAC;GAChB,uBAAuB,CAsCnC","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { convertListParams, Domain, getRepository, 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: ResolverContext): Promise<ProductCombination> {\n const { domain, tx } = context.state\n\n return await tx.getRepository(ProductCombination).findOne({\n where: { domain: { id: domain.id }, name }\n })\n }\n\n @Query(returns => ProductCombinationList, { description: 'To fetch multiple ProductCombinations' })\n async productCombinations(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): 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).findOneBy({ id: productCombination.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() productCombination: ProductCombination): Promise<User> {\n return await getRepository(User).findOneBy({ id: productCombination.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() productCombination: ProductCombination): Promise<User> {\n return await getRepository(User).findOneBy({ id: 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;AAEnF,yDAAgD;AAChD,iDAA2F;AAE3F,+DAA0D;AAC1D,yEAAmE;AAG5D,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAE5B,AAAN,KAAK,CAAC,kBAAkB,CAAY,IAAY,EAAS,OAAwB;QAC/E,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,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CACE,MAAiB,EACnC,OAAwB;QAE/B,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,qBAAa,EAAC,wCAAkB,CAAC,CAAC,YAAY,CAAC;YAC1E,GAAG,eAAe;YAClB,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;SACxC,CAAC,CAAA;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,kBAAsC;QACzD,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnF,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,kBAAsC;QAC1D,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAA;IAClF,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,kBAAsC;QAC1D,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAA;IAClF,CAAC;CACF,CAAA;AAtCY,0DAAuB;AAE5B;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;IAEhG,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAD2B,iBAAS;;kEAU3C;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;kCArCU,uBAAuB;IADnC,IAAA,uBAAQ,EAAC,wCAAkB,CAAC;GAChB,uBAAuB,CAsCnC","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { convertListParams, Domain, getRepository, 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: ResolverContext): Promise<ProductCombination> {\n const { domain, tx } = context.state\n\n return await tx.getRepository(ProductCombination).findOne({\n where: { domain: { id: domain.id }, name }\n })\n }\n\n @Query(returns => ProductCombinationList, { description: 'To fetch multiple ProductCombinations' })\n async productCombinations(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): 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).findOneBy({ id: productCombination.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() productCombination: ProductCombination): Promise<User> {\n return await getRepository(User).findOneBy({ id: productCombination.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() productCombination: ProductCombination): Promise<User> {\n return await getRepository(User).findOneBy({ id: productCombination.creatorId })\n }\n}\n"]}
@@ -11,7 +11,12 @@ const debug = require('debug')('things-factory:product-base:productCombinationSe
11
11
  let ProductCombinationSettingMutation = class ProductCombinationSettingMutation {
12
12
  async createProductCombinationSetting(productCombinationSetting, context) {
13
13
  const { domain, user, tx } = context.state;
14
- return await tx.getRepository(product_combination_setting_1.ProductCombinationSetting).save(Object.assign(Object.assign({}, productCombinationSetting), { domain, creator: user, updater: user }));
14
+ return await tx.getRepository(product_combination_setting_1.ProductCombinationSetting).save({
15
+ ...productCombinationSetting,
16
+ domain,
17
+ creator: user,
18
+ updater: user
19
+ });
15
20
  }
16
21
  async updateProductCombinationSetting(id, patch, context) {
17
22
  const { domain, user, tx } = context.state;
@@ -19,7 +24,11 @@ let ProductCombinationSettingMutation = class ProductCombinationSettingMutation
19
24
  const productCombinationSetting = await repository.findOne({
20
25
  where: { id }
21
26
  });
22
- return await repository.save(Object.assign(Object.assign(Object.assign({}, productCombinationSetting), patch), { updater: user }));
27
+ return await repository.save({
28
+ ...productCombinationSetting,
29
+ ...patch,
30
+ updater: user
31
+ });
23
32
  }
24
33
  async updateMultipleProductCombinationSetting(patches, context) {
25
34
  const { domain, user, tx } = context.state;
@@ -30,16 +39,25 @@ let ProductCombinationSettingMutation = class ProductCombinationSettingMutation
30
39
  if (_createRecords.length > 0) {
31
40
  for (let i = 0; i < _createRecords.length; i++) {
32
41
  const newRecord = _createRecords[i];
33
- const result = await productCombinationSettingRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
34
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
42
+ const result = await productCombinationSettingRepo.save({
43
+ ...newRecord,
44
+ domain,
45
+ creator: user,
46
+ updater: user
47
+ });
48
+ results.push({ ...result, cuFlag: '+' });
35
49
  }
36
50
  }
37
51
  if (_updateRecords.length > 0) {
38
52
  for (let i = 0; i < _updateRecords.length; i++) {
39
53
  const newRecord = _updateRecords[i];
40
54
  const productCombinationSetting = await productCombinationSettingRepo.findOneBy({ id: newRecord.id });
41
- const result = await productCombinationSettingRepo.save(Object.assign(Object.assign(Object.assign({}, productCombinationSetting), newRecord), { updater: user }));
42
- results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
55
+ const result = await productCombinationSettingRepo.save({
56
+ ...productCombinationSetting,
57
+ ...newRecord,
58
+ updater: user
59
+ });
60
+ results.push({ ...result, cuFlag: 'M' });
43
61
  }
44
62
  }
45
63
  return results;
@@ -192,16 +210,25 @@ async function updateMultipleProductCombinationSetting(patches, context) {
192
210
  if (_createRecords.length > 0) {
193
211
  for (let i = 0; i < _createRecords.length; i++) {
194
212
  const newRecord = _createRecords[i];
195
- const result = await productCombinationSettingRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
196
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
213
+ const result = await productCombinationSettingRepo.save({
214
+ ...newRecord,
215
+ domain,
216
+ creator: user,
217
+ updater: user
218
+ });
219
+ results.push({ ...result, cuFlag: '+' });
197
220
  }
198
221
  }
199
222
  if (_updateRecords.length > 0) {
200
223
  for (let i = 0; i < _updateRecords.length; i++) {
201
224
  const newRecord = _updateRecords[i];
202
225
  const productCombinationSetting = await productCombinationSettingRepo.findOneBy({ id: newRecord.id });
203
- const result = await productCombinationSettingRepo.save(Object.assign(Object.assign(Object.assign({}, productCombinationSetting), newRecord), { updater: user }));
204
- results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
226
+ const result = await productCombinationSettingRepo.save({
227
+ ...productCombinationSetting,
228
+ ...newRecord,
229
+ updater: user
230
+ });
231
+ results.push({ ...result, cuFlag: 'M' });
205
232
  }
206
233
  }
207
234
  return results;