@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.
- package/dist-server/service/product/product-mutation.js +49 -27
- package/dist-server/service/product/product-mutation.js.map +1 -1
- package/dist-server/service/product/product-query.js +12 -8
- package/dist-server/service/product/product-query.js.map +1 -1
- package/dist-server/service/product/validate-product.js +1 -1
- package/dist-server/service/product/validate-product.js.map +1 -1
- package/dist-server/service/product-bundle/product-bundle-mutation.js +31 -8
- package/dist-server/service/product-bundle/product-bundle-mutation.js.map +1 -1
- package/dist-server/service/product-bundle/product-bundle-query.js +3 -1
- package/dist-server/service/product-bundle/product-bundle-query.js.map +1 -1
- package/dist-server/service/product-bundle-setting/product-bundle-setting-mutation.js +9 -4
- package/dist-server/service/product-bundle-setting/product-bundle-setting-mutation.js.map +1 -1
- package/dist-server/service/product-bundle-setting/product-bundle-setting-query.js +31 -5
- package/dist-server/service/product-bundle-setting/product-bundle-setting-query.js.map +1 -1
- package/dist-server/service/product-combination/product-combination-mutation.js +33 -9
- package/dist-server/service/product-combination/product-combination-mutation.js.map +1 -1
- package/dist-server/service/product-combination/product-combination-query.js +4 -1
- package/dist-server/service/product-combination/product-combination-query.js.map +1 -1
- package/dist-server/service/product-combination-setting/product-combination-setting-mutation.js +37 -10
- package/dist-server/service/product-combination-setting/product-combination-setting-mutation.js.map +1 -1
- package/dist-server/service/product-combination-setting/product-combination-setting-query.js +6 -4
- package/dist-server/service/product-combination-setting/product-combination-setting-query.js.map +1 -1
- package/dist-server/service/product-detail/product-detail-mutation.js +74 -33
- package/dist-server/service/product-detail/product-detail-mutation.js.map +1 -1
- package/dist-server/service/product-detail/product-detail-query.js +18 -10
- package/dist-server/service/product-detail/product-detail-query.js.map +1 -1
- package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-mutation.js +22 -5
- package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-mutation.js.map +1 -1
- package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-query.js +8 -1
- package/dist-server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-query.js.map +1 -1
- package/dist-server/service/product-set/product-set-mutation.js +25 -7
- package/dist-server/service/product-set/product-set-mutation.js.map +1 -1
- package/dist-server/service/product-set/product-set-query.js +4 -1
- package/dist-server/service/product-set/product-set-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- 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":";;;;AAAA,+CAA2D;AAC3D,qCAAwC;AAExC,uDAAmD;AACnD,iDAAqD;AAErD,+CAAuD;AACvD,qDAAgD;AAChD,iEAA6E;AAGtE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAE1B,AAAN,KAAK,CAAC,mBAAmB,CACD,aAA+B,EAC9C,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,OAAO,MAAM,IAAA,qBAAa,EAAC,8BAAa,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"product-bundle-mutation.js","sourceRoot":"","sources":["../../../server/service/product-bundle/product-bundle-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAA2D;AAC3D,qCAAwC;AAExC,uDAAmD;AACnD,iDAAqD;AAErD,+CAAuD;AACvD,qDAAgD;AAChD,iEAA6E;AAGtE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAE1B,AAAN,KAAK,CAAC,mBAAmB,CACD,aAA+B,EAC9C,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,OAAO,MAAM,IAAA,qBAAa,EAAC,8BAAa,CAAC,CAAC,IAAI,CAAC;YAC7C,GAAG,aAAa;YAChB,MAAM;YACN,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CACV,IAAY,EACX,KAAyB,EAChC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,8BAAa,CAAC,CAAA;QAC/C,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAA;QAEF,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC;YAC3B,GAAG,aAAa;YAChB,GAAG,KAAK;YACR,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,2BAA2B,CACe,OAA6B,EACpE,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,iBAAiB,GAAG,IAAA,qBAAa,EAAC,8BAAa,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;QAE5C,IAAI,QAAkB,CAAA;QAEtB,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,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE,CAAA;gBAEnC,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;gBAEvE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;oBACjD,SAAS,CAAC,MAAM,GAAG,iCAAqB,CAAC,QAAQ,CAAA;gBACnD,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC;oBAC1C,GAAG,SAAS;oBACZ,MAAM;oBACN,QAAQ;oBACR,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE;oBACtC,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;iBACd,CAAC,CAAA;gBAEF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,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,aAAa,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;gBAExG,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,iBAAiB,CAAC,IAAI,CAAC;oBAC1C,GAAG,aAAa;oBAChB,GAAG,SAAS;oBACZ,OAAO,EAAE,IAAI;iBACd,CAAC,CAAA;gBAEF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CAAc,IAAY,EAAS,OAAwB;QAClF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,MAAM,IAAA,qBAAa,EAAC,8BAAa,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAE9E,OAAO,IAAI,CAAA;IACb,CAAC;IAGK,AAAN,KAAK,CAAC,oBAAoB,CACM,GAAa,EACpC,OAAwB;QAE/B,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAClC,MAAM,iBAAiB,GAA8B,IAAA,qBAAa,EAAC,8BAAa,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAA;QAEpH,IAAI,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QAE7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;YAEjC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC;gBAC1C,GAAG,OAAO;gBACV,MAAM,EAAE,iCAAqB,CAAC,OAAO;gBACrC,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAhIY,sDAAqB;AAE1B;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,EAAC,eAAe,CAAC,CAAA;IACpB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAD+B,uCAAgB;;gEAWtD;AAGK;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,CAAC,CAAA;IACZ,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDADe,yCAAkB;;gEAexC;AAGK;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,8BAAa,CAAC,CAAC;IAElC,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,yCAAkB,CAAC,CAAC,CAAA;IAC5C,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;wEAwDP;AAGK;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IACF,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;gEAM1D;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;;;;iEAkBP;gCA/HU,qBAAqB;IADjC,IAAA,uBAAQ,EAAC,8BAAa,CAAC;GACX,qBAAqB,CAgIjC","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(
|
|
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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
|
|
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(
|
|
142
|
-
|
|
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(
|
|
150
|
-
|
|
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":"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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"]}
|
|
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(
|
|
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
|
|
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
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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":";;;;AAAA,+CAAyD;AACzD,qCAAsD;AAEtD,uDAAmD;AACnD,iDAA+G;AAE/G,gDAA4C;AAC5C,qEAA+D;AAC/D,iFAAyE;AAGlE,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAE9B,AAAN,KAAK,CAAC,qBAAqB,CACA,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,6CAAoB,CAAC,CAAC,YAAY,
|
|
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(
|
|
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(
|
|
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 (!
|
|
47
|
+
if (!newRecord?.status) {
|
|
39
48
|
newRecord.status = product_combination_1.ProductCombinationStatus.INACTIVE;
|
|
40
49
|
}
|
|
41
|
-
const result = await productCombinationRepo.save(
|
|
42
|
-
|
|
43
|
-
|
|
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(
|
|
57
|
-
|
|
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(
|
|
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":"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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"]}
|
|
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(
|
|
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,
|
|
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"]}
|
package/dist-server/service/product-combination-setting/product-combination-setting-mutation.js
CHANGED
|
@@ -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(
|
|
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(
|
|
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(
|
|
34
|
-
|
|
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(
|
|
42
|
-
|
|
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(
|
|
196
|
-
|
|
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(
|
|
204
|
-
|
|
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;
|