@things-factory/product-base 8.0.38 → 8.0.42
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/index.d.ts +3 -2
- package/dist-server/service/index.js +1 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/product/product-query.js +1 -1
- package/dist-server/service/product/product-query.js.map +1 -1
- package/dist-server/service/product/product.js +1 -0
- package/dist-server/service/product/product.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/server/service/index.ts +1 -0
- package/server/service/product/product-query.ts +1 -1
- package/server/service/product/product.ts +1 -0
|
@@ -6,6 +6,7 @@ export * from './product-bundle/product-bundle';
|
|
|
6
6
|
export * from './product-bundle-setting/product-bundle-setting';
|
|
7
7
|
export * from './product-detail-bizplace-setting/product-detail-bizplace-setting';
|
|
8
8
|
export * from './product-set/product-set';
|
|
9
|
+
export * from './product/product-mutation';
|
|
9
10
|
export * from './product-combination/product-combination-type';
|
|
10
11
|
export * from './product-combination-setting/product-combination-setting-type';
|
|
11
12
|
export * from './product/product-types';
|
|
@@ -14,7 +15,7 @@ export * from './product-bundle/product-bundle-types';
|
|
|
14
15
|
export * from './product-bundle-setting/product-bundle-setting-types';
|
|
15
16
|
export * from './product-detail-bizplace-setting/product-detail-bizplace-setting-types';
|
|
16
17
|
export * from './product-set/product-set-types';
|
|
17
|
-
export declare const entities: (typeof import("./product
|
|
18
|
+
export declare const entities: (typeof import("./product/product").Product | typeof import("./product-detail/product-detail").ProductDetail | typeof import("./product-set/product-set").ProductSet | typeof import("./product-bundle/product-bundle").ProductBundle | typeof import("./product-bundle-setting/product-bundle-setting").ProductBundleSetting | typeof import("./product-detail-bizplace-setting/product-detail-bizplace-setting").ProductDetailBizplaceSetting | typeof import("./product-combination/product-combination").ProductCombination | typeof import("./product-combination-setting/product-combination-setting").ProductCombinationSetting)[];
|
|
18
19
|
export declare const schema: {
|
|
19
|
-
resolverClasses: (typeof import("./product
|
|
20
|
+
resolverClasses: (typeof import("./product/product-query").ProductQuery | typeof import("./product/product-mutation").ProductMutation | typeof import("./product-detail/product-detail-query").ProductDetailQuery | typeof import("./product-detail/product-detail-mutation").ProductDetailMutation | typeof import("./product-bundle/product-bundle-query").ProductBundleQuery | typeof import("./product-bundle/product-bundle-mutation").ProductBundleMutation | typeof import("./product-bundle-setting/product-bundle-setting-query").ProductBundleSettingQuery | typeof import("./product-bundle-setting/product-bundle-setting-mutation").ProductBundleSettingMutation | typeof import("./product-detail-bizplace-setting/product-detail-bizplace-setting-query").ProductDetailBizplaceSettingQuery | typeof import("./product-detail-bizplace-setting/product-detail-bizplace-setting-mutation").ProductDetailBizplaceSettingMutation | typeof import("./product-set/product-set-query").ProductSetQuery | typeof import("./product-set/product-set-mutation").ProductSetMutation | typeof import("./product-combination/product-combination-query").ProductCombinationQuery | typeof import("./product-combination/product-combination-mutation").ProductCombinationMutation | typeof import("./product-combination-setting/product-combination-setting-query").ProductCombinationSettingQuery | typeof import("./product-combination-setting/product-combination-setting-mutation").ProductCombinationSettingMutation)[];
|
|
20
21
|
};
|
|
@@ -19,6 +19,7 @@ tslib_1.__exportStar(require("./product-bundle/product-bundle"), exports);
|
|
|
19
19
|
tslib_1.__exportStar(require("./product-bundle-setting/product-bundle-setting"), exports);
|
|
20
20
|
tslib_1.__exportStar(require("./product-detail-bizplace-setting/product-detail-bizplace-setting"), exports);
|
|
21
21
|
tslib_1.__exportStar(require("./product-set/product-set"), exports);
|
|
22
|
+
tslib_1.__exportStar(require("./product/product-mutation"), exports);
|
|
22
23
|
/* EXPORT TYPES */
|
|
23
24
|
tslib_1.__exportStar(require("./product-combination/product-combination-type"), exports);
|
|
24
25
|
tslib_1.__exportStar(require("./product-combination-setting/product-combination-setting-type"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,uCAAsF;AACtF,qDAAyG;AACzG,qEAGiC;AACjC,qDAAyG;AACzG,uFAG0C;AAC1C,+CAAgG;AAChG,+DAAwH;AACxH,+EAGsC;AAEtC,yBAAyB;AACzB,oGAAyE;AACzE,oFAAyD;AACzD,4DAAiC;AACjC,0EAA+C;AAC/C,0EAA+C;AAC/C,0FAA+D;AAC/D,4GAAiF;AACjF,oEAAyC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,uCAAsF;AACtF,qDAAyG;AACzG,qEAGiC;AACjC,qDAAyG;AACzG,uFAG0C;AAC1C,+CAAgG;AAChG,+DAAwH;AACxH,+EAGsC;AAEtC,yBAAyB;AACzB,oGAAyE;AACzE,oFAAyD;AACzD,4DAAiC;AACjC,0EAA+C;AAC/C,0EAA+C;AAC/C,0FAA+D;AAC/D,4GAAiF;AACjF,oEAAyC;AACzC,qEAA0C;AAE1C,kBAAkB;AAClB,yFAA8D;AAC9D,yGAA8E;AAC9E,kEAAuC;AACvC,gFAAqD;AACrD,gFAAqD;AACrD,gGAAqE;AACrE,kHAAuF;AACvF,0EAA+C;AAElC,QAAA,QAAQ,GAAG;IACtB,GAAG,kBAAe;IAClB,GAAG,yBAAqB;IACxB,GAAG,yBAAqB;IACxB,GAAG,iCAA4B;IAC/B,GAAG,0CAAoC;IACvC,GAAG,sBAAkB;IACrB,GAAG,8BAA0B;IAC7B,GAAG,sCAAiC;CACrC,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,GAAG,mBAAgB;QACnB,GAAG,0BAAsB;QACzB,GAAG,0BAAsB;QACzB,GAAG,kCAA6B;QAChC,GAAG,2CAAoC;QACvC,GAAG,uBAAmB;QACtB,GAAG,+BAA2B;QAC9B,GAAG,uCAAkC;KACtC;CACF,CAAA","sourcesContent":["import { entities as ProductEntities, resolvers as ProductResolvers } from './product'\nimport { entities as ProductBundleEntities, resolvers as ProductBundleResolvers } from './product-bundle'\nimport {\n entities as ProductBundleSettingEntities,\n resolvers as ProductBundleSettingResolvers\n} from './product-bundle-setting'\nimport { entities as ProductDetailEntities, resolvers as ProductDetailResolvers } from './product-detail'\nimport {\n entities as ProductDetailBizplaceSettingEntities,\n resolvers as ProductDetailBizplaceSettingResolver\n} from './product-detail-bizplace-setting'\nimport { entities as ProductSetEntities, resolvers as ProductSetResolvers } from './product-set'\nimport { entities as ProductCombinationEntities, resolvers as ProductCombinationResolvers } from './product-combination'\nimport {\n entities as ProductCombinationSettingEntities,\n resolvers as ProductCombinationSettingResolvers\n} from './product-combination-setting'\n\n/* EXPORT ENTITY TYPES */\nexport * from './product-combination-setting/product-combination-setting'\nexport * from './product-combination/product-combination'\nexport * from './product/product'\nexport * from './product-detail/product-detail'\nexport * from './product-bundle/product-bundle'\nexport * from './product-bundle-setting/product-bundle-setting'\nexport * from './product-detail-bizplace-setting/product-detail-bizplace-setting'\nexport * from './product-set/product-set'\nexport * from './product/product-mutation'\n\n/* EXPORT TYPES */\nexport * from './product-combination/product-combination-type'\nexport * from './product-combination-setting/product-combination-setting-type'\nexport * from './product/product-types'\nexport * from './product-detail/product-detail-types'\nexport * from './product-bundle/product-bundle-types'\nexport * from './product-bundle-setting/product-bundle-setting-types'\nexport * from './product-detail-bizplace-setting/product-detail-bizplace-setting-types'\nexport * from './product-set/product-set-types'\n\nexport const entities = [\n ...ProductEntities,\n ...ProductDetailEntities,\n ...ProductBundleEntities,\n ...ProductBundleSettingEntities,\n ...ProductDetailBizplaceSettingEntities,\n ...ProductSetEntities,\n ...ProductCombinationEntities,\n ...ProductCombinationSettingEntities\n]\n\nexport const schema = {\n resolverClasses: [\n ...ProductResolvers,\n ...ProductDetailResolvers,\n ...ProductBundleResolvers,\n ...ProductBundleSettingResolvers,\n ...ProductDetailBizplaceSettingResolver,\n ...ProductSetResolvers,\n ...ProductCombinationResolvers,\n ...ProductCombinationSettingResolvers\n ]\n}\n"]}
|
|
@@ -351,7 +351,7 @@ exports.ProductQuery = ProductQuery = tslib_1.__decorate([
|
|
|
351
351
|
function buildCustomConditions(params, context, bizplaces) {
|
|
352
352
|
const deletedFilter = params.filters.find(x => x.name == 'deleted');
|
|
353
353
|
const productFilters = params.filters.find(x => x.name == 'product_info');
|
|
354
|
-
const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand'];
|
|
354
|
+
const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand', 'id'];
|
|
355
355
|
try {
|
|
356
356
|
params.filters = [
|
|
357
357
|
...params.filters.filter(x => ['product_info', 'bizplace', 'bizplaceId', 'deleted'].indexOf(x.name) == -1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-query.js","sourceRoot":"","sources":["../../../server/service/product/product-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, In, SelectQueryBuilder } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport {\n Bizplace,\n getCompaniesBizplaces,\n getCompanyBizplace,\n getMyBizplace,\n getPartnersCompanyBizplaces,\n getPermittedBizplaceIds\n} from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { buildCondition, Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from './product'\nimport { ProductList } from './product-types'\n\nconst debug = require('debug')('things-factory:product-base:product')\n\n@Resolver(Product)\nexport class ProductQuery {\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Product)\n async product(@Arg('sku') sku: string, @Ctx() context: ResolverContext): Promise<Product> {\n const { domain, user, bizplace } = context.state\n\n if (bizplace) {\n return await getRepository(Product).findOne({\n where: {\n domain: { id: domain.id },\n sku,\n bizplace: { id: bizplace.id }\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n } else {\n return await getRepository(Product).findOne({\n where: {\n domain: { id: domain.id },\n sku,\n bizplace: { id: In(await getPermittedBizplaceIds(domain, user)) }\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Product)\n async productById(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Product> {\n const { domain, user } = context.state\n return await getRepository(Product).findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async products(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<ProductList> {\n const { domain, user } = context.state\n const { domains }: { domains: Domain[] } = user as any /* TODO clarify this */\n let bizplaces: Bizplace[]\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplace_id')) {\n const warehouseDomain: Domain = domain\n const companiesBizplaces: Bizplace[] = await getCompaniesBizplaces(domains, warehouseDomain)\n const partnersCompanyBizplaces: Bizplace[] = await getPartnersCompanyBizplaces(domain, user)\n\n bizplaces = [...companiesBizplaces, ...partnersCompanyBizplaces]\n } else {\n const bizplaceId: string[] = params.filters.filter(param => param.name == 'bizplace_id').map(item => item.value)\n\n const foundBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceId[0] },\n relations: ['company', 'company.domain']\n })\n\n if (foundBizplace) {\n const companyDomain: Domain = foundBizplace.company?.domain\n const companyBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { domain: { id: companyDomain.id } }\n })\n\n bizplaces = [companyBizplace, foundBizplace]\n }\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb\n .leftJoinAndSelect('Product.productDetails', 'ProductDetails')\n .leftJoinAndSelect('ProductDetails.childProductDetail', 'ChildProductDetail')\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async myBizplaceProducts(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n try {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const bizplaceFilter = params.filters.find(filter => filter.name === 'bizplace_id')\n\n let bizplaces: Bizplace[] = []\n if (!bizplaceFilter) {\n bizplaces.push(await getRepository(Bizplace).findOne({ where: { domain: { id: domain.id } } }))\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb\n .leftJoinAndSelect('Product.productDetails', 'ProductDetails')\n .leftJoinAndSelect('Product.routing', 'Routing')\n .leftJoinAndSelect('Product.deliverTo', 'deliverTo')\n .leftJoinAndSelect('Product.manufacturedBy', 'manufacturedBy')\n .getManyAndCount()\n\n items = items.map(itm => {\n let defaultProductDetail = itm.productDetails.find(itm => itm.isDefault)\n return {\n ...itm,\n ...new ProductDetail(defaultProductDetail, true)\n }\n })\n\n return { items, total }\n } catch (error) {\n logger.error(`product-query[myBizplaceProducts]: ${error}`)\n throw error\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async productsByBizplace(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n const { domain, user } = context.state\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')\n\n try {\n let bizplaces: Bizplace[]\n if (!bizplaceFilter || bizplaceFilter.value == '') {\n bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]\n } else {\n let myBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceFilter.value },\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: { id: myBizplace.company.domain.id } }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb.leftJoinAndSelect('Product.productDetails', 'ProductDetails').getManyAndCount()\n\n items = items.map(itm => {\n let defaultProductDetail = itm.productDetails?.find(itm => itm.isDefault)\n return {\n ...itm,\n ...new ProductDetail(defaultProductDetail, true)\n }\n })\n\n return { items, total }\n } catch (error) {\n throw error\n }\n }\n\n /**\n * @description this resolver was specially made to return huge products data\n * without dropping off performance due to typegraphql limitations\n * @returns pure product data only. there will be no other table joined to avoid\n * ORM lagging issue (converting to object extremely withdraws the performance)\n * */\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async pureProductsByBizplace(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n const { domain, user } = context.state\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')\n\n try {\n let bizplaces: Bizplace[]\n if (!bizplaceFilter || bizplaceFilter.value == '') {\n bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]\n } else {\n let myBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceFilter.value },\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: { id: myBizplace.company.domain.id } }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n let items = await (await qb.getRawMany()).map(item => new Product(item))\n let total = await qb.getCount()\n\n return { items, total }\n } catch (error) {\n throw error\n }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() product: Product): Promise<Domain> {\n if (product.domainId) return await getRepository(Domain).findOneBy({ id: product.domainId })\n else return null\n }\n\n @FieldResolver(type => Bizplace)\n async bizplace(@Root() product: Product): Promise<Bizplace> {\n if (product.bizplaceId) return await getRepository(Bizplace).findOneBy({ id: product.bizplaceId })\n else return null\n }\n\n @FieldResolver(type => User)\n async creator(@Root() product: Product): Promise<User> {\n if (product.creatorId) return await getRepository(User).findOneBy({ id: product.creatorId })\n else return null\n }\n\n @FieldResolver(type => User)\n async updater(@Root() product: Product): Promise<User> {\n if (product.updaterId) return await getRepository(User).findOneBy({ id: product.updaterId })\n else return null\n }\n\n @FieldResolver(type => Product)\n async parentProductRef(@Root() product: Product): Promise<Product> {\n if (product.parentProductRefId) return await getRepository(Product).findOneBy({ id: product.parentProductRefId })\n else return null\n }\n\n @FieldResolver(type => Product)\n async productRef(@Root() product: Product): Promise<Product> {\n if (product.productRefId) return await getRepository(Product).findOneBy({ id: product.productRefId })\n else return null\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() product: Product): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: product.domainId },\n refBy: product.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => String)\n productInformation(@Root() product: Product): String {\n return `[${product.sku}] ${product.name}${product.description ? ` - ${product.description}` : ''}`\n }\n\n @FieldResolver(type => String, { nullable: true })\n async warehouseName(@Root() product: Product): Promise<String | undefined> {\n if (!product.warehouseId) return null\n\n const items = await getRepository(Product).query(`\n SELECT w.name as \"warehouseName\" FROM products p LEFT JOIN warehouses w ON p.warehouse_id::uuid = w.id and w.domain_id = p.domain_id WHERE p.id = '${product.id}'\n `)\n\n return items[0].warehouseName || null\n }\n}\n\nfunction buildCustomConditions(params, context, bizplaces): SelectQueryBuilder<Product> {\n const deletedFilter = params.filters.find(x => x.name == 'deleted')\n const productFilters = params.filters.find(x => x.name == 'product_info')\n const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']\n\n try {\n params.filters = [\n ...params.filters.filter(x => ['product_info', 'bizplace', 'bizplaceId', 'deleted'].indexOf(x.name) == -1),\n { name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' },\n { name: 'bizplaceId', operator: 'in', value: bizplaces.map(bizplace => bizplace.id) }\n ]\n } catch (err) {\n // error with no bizplace.\n debug('[WARN] params.filters', err.message)\n }\n\n const qb = getQueryBuilderFromListParams({\n repository: getRepository(Product),\n alias: 'Product',\n params,\n domain: context.domain,\n searchables: ['sku', 'name', 'description']\n })\n\n if (productFilters) {\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productFilters.operator,\n productFilters.value,\n productFilters.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n return qb\n}\n"]}
|
|
1
|
+
{"version":3,"file":"product-query.js","sourceRoot":"","sources":["../../../server/service/product/product-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, In, SelectQueryBuilder } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport {\n Bizplace,\n getCompaniesBizplaces,\n getCompanyBizplace,\n getMyBizplace,\n getPartnersCompanyBizplaces,\n getPermittedBizplaceIds\n} from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { buildCondition, Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { Product } from './product'\nimport { ProductList } from './product-types'\n\nconst debug = require('debug')('things-factory:product-base:product')\n\n@Resolver(Product)\nexport class ProductQuery {\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Product)\n async product(@Arg('sku') sku: string, @Ctx() context: ResolverContext): Promise<Product> {\n const { domain, user, bizplace } = context.state\n\n if (bizplace) {\n return await getRepository(Product).findOne({\n where: {\n domain: { id: domain.id },\n sku,\n bizplace: { id: bizplace.id }\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n } else {\n return await getRepository(Product).findOne({\n where: {\n domain: { id: domain.id },\n sku,\n bizplace: { id: In(await getPermittedBizplaceIds(domain, user)) }\n },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Product)\n async productById(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Product> {\n const { domain, user } = context.state\n return await getRepository(Product).findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'bizplace', 'productRef', 'creator', 'updater']\n })\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async products(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<ProductList> {\n const { domain, user } = context.state\n const { domains }: { domains: Domain[] } = user as any /* TODO clarify this */\n let bizplaces: Bizplace[]\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplace_id')) {\n const warehouseDomain: Domain = domain\n const companiesBizplaces: Bizplace[] = await getCompaniesBizplaces(domains, warehouseDomain)\n const partnersCompanyBizplaces: Bizplace[] = await getPartnersCompanyBizplaces(domain, user)\n\n bizplaces = [...companiesBizplaces, ...partnersCompanyBizplaces]\n } else {\n const bizplaceId: string[] = params.filters.filter(param => param.name == 'bizplace_id').map(item => item.value)\n\n const foundBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceId[0] },\n relations: ['company', 'company.domain']\n })\n\n if (foundBizplace) {\n const companyDomain: Domain = foundBizplace.company?.domain\n const companyBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { domain: { id: companyDomain.id } }\n })\n\n bizplaces = [companyBizplace, foundBizplace]\n }\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb\n .leftJoinAndSelect('Product.productDetails', 'ProductDetails')\n .leftJoinAndSelect('ProductDetails.childProductDetail', 'ChildProductDetail')\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async myBizplaceProducts(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n try {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const bizplaceFilter = params.filters.find(filter => filter.name === 'bizplace_id')\n\n let bizplaces: Bizplace[] = []\n if (!bizplaceFilter) {\n bizplaces.push(await getRepository(Bizplace).findOne({ where: { domain: { id: domain.id } } }))\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb\n .leftJoinAndSelect('Product.productDetails', 'ProductDetails')\n .leftJoinAndSelect('Product.routing', 'Routing')\n .leftJoinAndSelect('Product.deliverTo', 'deliverTo')\n .leftJoinAndSelect('Product.manufacturedBy', 'manufacturedBy')\n .getManyAndCount()\n\n items = items.map(itm => {\n let defaultProductDetail = itm.productDetails.find(itm => itm.isDefault)\n return {\n ...itm,\n ...new ProductDetail(defaultProductDetail, true)\n }\n })\n\n return { items, total }\n } catch (error) {\n logger.error(`product-query[myBizplaceProducts]: ${error}`)\n throw error\n }\n }\n\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async productsByBizplace(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n const { domain, user } = context.state\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')\n\n try {\n let bizplaces: Bizplace[]\n if (!bizplaceFilter || bizplaceFilter.value == '') {\n bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]\n } else {\n let myBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceFilter.value },\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: { id: myBizplace.company.domain.id } }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n\n let [items, total] = await qb.leftJoinAndSelect('Product.productDetails', 'ProductDetails').getManyAndCount()\n\n items = items.map(itm => {\n let defaultProductDetail = itm.productDetails?.find(itm => itm.isDefault)\n return {\n ...itm,\n ...new ProductDetail(defaultProductDetail, true)\n }\n })\n\n return { items, total }\n } catch (error) {\n throw error\n }\n }\n\n /**\n * @description this resolver was specially made to return huge products data\n * without dropping off performance due to typegraphql limitations\n * @returns pure product data only. there will be no other table joined to avoid\n * ORM lagging issue (converting to object extremely withdraws the performance)\n * */\n @Directive('@privilege(category: \"order\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProductList)\n async pureProductsByBizplace(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<ProductList> {\n const { domain, user } = context.state\n const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')\n\n try {\n let bizplaces: Bizplace[]\n if (!bizplaceFilter || bizplaceFilter.value == '') {\n bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]\n } else {\n let myBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { id: bizplaceFilter.value },\n relations: ['company', 'company.domain']\n })\n\n bizplaces = [\n myBizplace,\n await getRepository(Bizplace).findOne({\n where: { domain: { id: myBizplace.company.domain.id } }\n })\n ]\n }\n\n const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)\n let items = await (await qb.getRawMany()).map(item => new Product(item))\n let total = await qb.getCount()\n\n return { items, total }\n } catch (error) {\n throw error\n }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() product: Product): Promise<Domain> {\n if (product.domainId) return await getRepository(Domain).findOneBy({ id: product.domainId })\n else return null\n }\n\n @FieldResolver(type => Bizplace)\n async bizplace(@Root() product: Product): Promise<Bizplace> {\n if (product.bizplaceId) return await getRepository(Bizplace).findOneBy({ id: product.bizplaceId })\n else return null\n }\n\n @FieldResolver(type => User)\n async creator(@Root() product: Product): Promise<User> {\n if (product.creatorId) return await getRepository(User).findOneBy({ id: product.creatorId })\n else return null\n }\n\n @FieldResolver(type => User)\n async updater(@Root() product: Product): Promise<User> {\n if (product.updaterId) return await getRepository(User).findOneBy({ id: product.updaterId })\n else return null\n }\n\n @FieldResolver(type => Product)\n async parentProductRef(@Root() product: Product): Promise<Product> {\n if (product.parentProductRefId) return await getRepository(Product).findOneBy({ id: product.parentProductRefId })\n else return null\n }\n\n @FieldResolver(type => Product)\n async productRef(@Root() product: Product): Promise<Product> {\n if (product.productRefId) return await getRepository(Product).findOneBy({ id: product.productRefId })\n else return null\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() product: Product): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: product.domainId },\n refBy: product.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => String)\n productInformation(@Root() product: Product): String {\n return `[${product.sku}] ${product.name}${product.description ? ` - ${product.description}` : ''}`\n }\n\n @FieldResolver(type => String, { nullable: true })\n async warehouseName(@Root() product: Product): Promise<String | undefined> {\n if (!product.warehouseId) return null\n\n const items = await getRepository(Product).query(`\n SELECT w.name as \"warehouseName\" FROM products p LEFT JOIN warehouses w ON p.warehouse_id::uuid = w.id and w.domain_id = p.domain_id WHERE p.id = '${product.id}'\n `)\n\n return items[0].warehouseName || null\n }\n}\n\nfunction buildCustomConditions(params, context, bizplaces): SelectQueryBuilder<Product> {\n const deletedFilter = params.filters.find(x => x.name == 'deleted')\n const productFilters = params.filters.find(x => x.name == 'product_info')\n const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand', 'id']\n\n try {\n params.filters = [\n ...params.filters.filter(x => ['product_info', 'bizplace', 'bizplaceId', 'deleted'].indexOf(x.name) == -1),\n { name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' },\n { name: 'bizplaceId', operator: 'in', value: bizplaces.map(bizplace => bizplace.id) }\n ]\n } catch (err) {\n // error with no bizplace.\n debug('[WARN] params.filters', err.message)\n }\n\n const qb = getQueryBuilderFromListParams({\n repository: getRepository(Product),\n alias: 'Product',\n params,\n domain: context.domain,\n searchables: ['sku', 'name', 'description']\n })\n\n if (productFilters) {\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n qb.alias,\n filter,\n productFilters.operator,\n productFilters.value,\n productFilters.relation,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n return qb\n}\n"]}
|
|
@@ -612,6 +612,7 @@ exports.Product = Product = tslib_1.__decorate([
|
|
|
612
612
|
(0, typeorm_1.Entity)(),
|
|
613
613
|
(0, typeorm_1.Index)('ix_product_0', (product) => [product.domain, product.bizplace, product.name, product.description, product.weight], { unique: true }),
|
|
614
614
|
(0, typeorm_1.Index)('ix_product_1', (product) => [product.bizplace]),
|
|
615
|
+
(0, typeorm_1.Index)('ix_product_product_ref_id', (product) => [product.productRef]),
|
|
615
616
|
(0, type_graphql_1.ObjectType)(),
|
|
616
617
|
tslib_1.__metadata("design:paramtypes", [Object])
|
|
617
618
|
], Product);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../../server/service/product/product.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, Float, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n OneToMany,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint } from '@things-factory/biz-base'\nimport { config } from '@things-factory/env'\nimport { Routing } from '@things-factory/routing-base'\nimport { Domain, roundTransformer } from '@things-factory/shell'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { ProductSet } from '../product-set/product-set'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum pickStrategy {\n FIFO = 'FIFO',\n FEFO = 'FEFO',\n FMFO = 'FMFO',\n LIFO = 'LIFO',\n LOCATION = 'LOCATION'\n}\n\n@Entity()\n@Index(\n 'ix_product_0',\n (product: Product) => [product.domain, product.bizplace, product.name, product.description, product.weight],\n { unique: true }\n)\n@Index('ix_product_1', (product: Product) => [product.bizplace])\n@ObjectType()\nexport class Product {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain: Domain\n\n @RelationId((product: Product) => product.domain)\n domainId: string\n\n @RelationId((product: Product) => product.bizplace)\n bizplaceId: string\n\n @RelationId((product: Product) => product.productRef)\n productRefId: string\n\n @RelationId((product: Product) => product.parentProductRef)\n parentProductRefId: string\n\n @ManyToOne(type => Bizplace)\n @Field()\n bizplace: Bizplace\n\n @Column({ default: false })\n @Field()\n isCompany: boolean\n\n @Column()\n @Field({ nullable: true })\n sku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brandSku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brand: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n subBrand: string\n\n // 입고 단위\n @Column({ nullable: true })\n @Field({ nullable: true })\n inboundUnit?: string\n\n // 변환 kg\n @Column('float', { nullable: true, default: 1, transformer: roundTransformer })\n @Field({ nullable: true })\n convertWeight?: number\n\n // 박스입수\n @Column('float', { nullable: true, default: 0, transformer: roundTransformer })\n @Field({ nullable: true })\n boxInQty?: number\n\n // 제품군\n @Column({ nullable: true })\n @Field({ nullable: true })\n category?: string\n\n // 경매입고\n @Column({ nullable: true, default: false })\n @Field({ nullable: true })\n isAuction?: boolean\n\n // 판매 통화\n @Column({ nullable: true, default: 'USD' })\n @Field({ nullable: true })\n sellCurrency?: string\n\n // 원가 통화\n @Column({ nullable: true, default: 'KRW' })\n @Field({ nullable: true })\n costCurrency?: string\n\n // 바코드\n @Column({ nullable: true })\n @Field({ nullable: true })\n barcode?: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n gtin: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n caseGtin: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n name: string\n\n @Column()\n @Field()\n type: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n packingType: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n @OneToMany(type => ProductDetail, productDetails => productDetails.product, { nullable: true })\n @Field(type => [ProductDetail], { nullable: true })\n productDetails: ProductDetail[]\n\n @ManyToOne(type => Product, { nullable: true })\n @Field({ nullable: true })\n productRef: Product\n\n //// To be removed ////\n @ManyToOne(type => Product, { nullable: true })\n @Field({ nullable: true })\n parentProductRef: Product\n\n //// To be removed ////\n @OneToMany(type => Product, product => product.parentProductRef, { nullable: true })\n @Field(type => [Product], { nullable: true })\n childProducts: Product[]\n\n @ManyToOne(type => ContactPoint, { nullable: true })\n @Field({ nullable: true })\n deliverTo: ContactPoint\n\n @RelationId((product: Product) => product.deliverTo)\n deliverToId: string\n\n @ManyToOne(type => ContactPoint, { nullable: true })\n @Field({ nullable: true })\n manufacturedBy: ContactPoint\n\n @RelationId((product: Product) => product.manufacturedBy)\n manufacturedById: string\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n bundleQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n expirationPeriod: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n weightUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n weight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n grossWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseGrossWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n density: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n lengthUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n costPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n mrpPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n sellPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n afterTaxCostPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n afterTaxSalesPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n width: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n depth: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n height: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n volume: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseWidth: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseDepth: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseHeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseVolume: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n volumeSize: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n primaryUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n primaryValue: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit1: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue1: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit2: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue2: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit3: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue3: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n inventoryAccountCode: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n cogsAccountCode: string\n\n //// To be removed ////\n @ManyToOne(type => ProductSet, productSet => productSet.product, { nullable: true })\n @Field({ nullable: true })\n productSet: ProductSet\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n movement: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n bufferQty: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n minQty: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n maxQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n discountId: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n status: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n isTrackedAsInventory: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequiredCheckExpiry: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanning: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanningInbound: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanningOutbound: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deletedAt: Date\n\n @Column({\n nullable: false,\n type:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'enum'\n : DATABASE_TYPE == 'oracle'\n ? 'varchar2'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n enum:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? pickStrategy : undefined,\n length: DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? undefined : 32,\n default: pickStrategy.FIFO\n })\n @Field()\n pickingStrategy: pickStrategy\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n releaseType?: string\n\n @Field({ nullable: true })\n refCode: string\n\n @Field(type => Float, { nullable: true })\n nettWeight: number\n\n @Field({ nullable: true })\n uom: string\n\n @Field(type => Float, { nullable: true })\n uomValue: number\n\n @Field({ nullable: true })\n auxUnit4: string\n\n @Field({ nullable: true })\n auxValue4: string\n\n @Field({ nullable: true })\n auxUnit5: string\n\n @Field({ nullable: true })\n auxValue5: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((product: Product) => product.creator)\n creatorId: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((product: Product) => product.updater)\n updaterId: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n @ManyToOne(type => Routing, { nullable: true })\n @Field({ nullable: true })\n routing?: Routing\n\n @RelationId((product: Product) => product.routing)\n routingId?: string\n\n @Column({ nullable: true })\n @Field(type => String, { nullable: true })\n warehouseId?: string\n\n @Field(type => String, { nullable: true })\n thumbnail?: string\n\n @Field({ nullable: true })\n productInformation: string\n\n @Field({ nullable: true })\n batchNo?: string\n\n @Field({ nullable: true })\n loadedQty: number\n\n constructor(obj?) {\n if (obj) {\n this.id = obj.product_id\n this.sku = obj.product_sku\n this.name = obj.product_name\n this.description = obj.product_description\n this.bundleQty = obj.product_bundle_qty\n this.type = obj.product_type\n this.packingType = obj.product_packing_type\n this.expirationPeriod = obj.product_expiration_period\n this.weightUnit = obj.product_weight_unit\n this.weight = obj.product_weight\n this.density = obj.product_density\n this.lengthUnit = obj.product_length_unit\n this.costPrice = obj.product_cost_price\n this.sellPrice = obj.product_sell_price\n this.width = obj.product_width\n this.depth = obj.product_depth\n this.height = obj.product_height\n this.primaryUnit = obj.product_primary_unit\n this.primaryValue = obj.product_primary_value\n this.auxUnit1 = obj.product_aux_unit_1\n this.auxValue1 = obj.product_aux_value_1\n this.auxUnit2 = obj.product_aux_unit_2\n this.auxValue2 = obj.product_aux_value_2\n this.auxUnit3 = obj.product_aux_unit_3\n this.auxValue3 = obj.product_aux_value_3\n this.createdAt = obj.product_created_at\n this.updatedAt = obj.product_updated_at\n this.movement = obj.product_movement\n this.inventoryAccountCode = obj.product_inventory_account_code\n this.cogsAccountCode = obj.product_cogs_account_code\n this.isTrackedAsInventory = obj.product_is_tracked_as_inventory\n this.mrpPrice = obj.product_mrp_price\n this.afterTaxCostPrice = obj.product_after_tax_cost_price\n this.afterTaxSalesPrice = obj.product_after_tax_sales_price\n this.bufferQty = obj.product_buffer_qty\n this.discountId = obj.product_discount_id\n this.status = obj.product_status\n this.brandSku = obj.product_brand_sku\n this.brand = obj.product_brand\n this.subBrand = obj.product_sub_brand\n this.gtin = obj.product_gtin\n this.caseGtin = obj.product_case_gtin\n this.grossWeight = obj.product_gross_weight\n this.caseWeight = obj.product_case_weight\n this.caseGrossWeight = obj.product_case_gross_weight\n this.volume = obj.product_volume\n this.caseWidth = obj.product_case_width\n this.caseDepth = obj.product_case_depth\n this.caseHeight = obj.product_case_height\n this.caseVolume = obj.product_case_volume\n this.volumeSize = obj.product_volume_size\n this.minQty = obj.product_min_qty\n this.maxQty = obj.product_max_qty\n this.isCompany = obj.product_is_company\n this.deletedAt = obj.product_deleted_at\n this.isRequiredCheckExpiry = obj.product_is_required_check_expiry\n this.isRequireSerialNumberScanning = obj.product_is_require_serial_number_scanning\n this.isRequireSerialNumberScanningInbound = obj.product_is_require_serial_number_scanning_inbound\n this.isRequireSerialNumberScanningOutbound = obj.product_is_require_serial_number_scanning_outbound\n this.bizplace = { id: obj.product_bizplace_id } as any\n this.domain = { id: obj.product_domain_id } as any\n this.inboundUnit = obj.product_inbound_unit\n this.convertWeight = obj.product_convert_weight\n this.category = obj.product_category\n this.boxInQty = obj.product_box_in_qty\n this.isAuction = obj.product_is_auction\n this.sellCurrency = obj.product_sell_currency\n this.costCurrency = obj.product_cost_currency\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../../server/service/product/product.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, Float, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n OneToMany,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint } from '@things-factory/biz-base'\nimport { config } from '@things-factory/env'\nimport { Routing } from '@things-factory/routing-base'\nimport { Domain, roundTransformer } from '@things-factory/shell'\n\nimport { ProductDetail } from '../product-detail/product-detail'\nimport { ProductSet } from '../product-set/product-set'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum pickStrategy {\n FIFO = 'FIFO',\n FEFO = 'FEFO',\n FMFO = 'FMFO',\n LIFO = 'LIFO',\n LOCATION = 'LOCATION'\n}\n\n@Entity()\n@Index(\n 'ix_product_0',\n (product: Product) => [product.domain, product.bizplace, product.name, product.description, product.weight],\n { unique: true }\n)\n@Index('ix_product_1', (product: Product) => [product.bizplace])\n@Index('ix_product_product_ref_id', (product: Product) => [product.productRef])\n@ObjectType()\nexport class Product {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain: Domain\n\n @RelationId((product: Product) => product.domain)\n domainId: string\n\n @RelationId((product: Product) => product.bizplace)\n bizplaceId: string\n\n @RelationId((product: Product) => product.productRef)\n productRefId: string\n\n @RelationId((product: Product) => product.parentProductRef)\n parentProductRefId: string\n\n @ManyToOne(type => Bizplace)\n @Field()\n bizplace: Bizplace\n\n @Column({ default: false })\n @Field()\n isCompany: boolean\n\n @Column()\n @Field({ nullable: true })\n sku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brandSku: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brand: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n subBrand: string\n\n // 입고 단위\n @Column({ nullable: true })\n @Field({ nullable: true })\n inboundUnit?: string\n\n // 변환 kg\n @Column('float', { nullable: true, default: 1, transformer: roundTransformer })\n @Field({ nullable: true })\n convertWeight?: number\n\n // 박스입수\n @Column('float', { nullable: true, default: 0, transformer: roundTransformer })\n @Field({ nullable: true })\n boxInQty?: number\n\n // 제품군\n @Column({ nullable: true })\n @Field({ nullable: true })\n category?: string\n\n // 경매입고\n @Column({ nullable: true, default: false })\n @Field({ nullable: true })\n isAuction?: boolean\n\n // 판매 통화\n @Column({ nullable: true, default: 'USD' })\n @Field({ nullable: true })\n sellCurrency?: string\n\n // 원가 통화\n @Column({ nullable: true, default: 'KRW' })\n @Field({ nullable: true })\n costCurrency?: string\n\n // 바코드\n @Column({ nullable: true })\n @Field({ nullable: true })\n barcode?: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n gtin: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n caseGtin: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n name: string\n\n @Column()\n @Field()\n type: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n packingType: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n @OneToMany(type => ProductDetail, productDetails => productDetails.product, { nullable: true })\n @Field(type => [ProductDetail], { nullable: true })\n productDetails: ProductDetail[]\n\n @ManyToOne(type => Product, { nullable: true })\n @Field({ nullable: true })\n productRef: Product\n\n //// To be removed ////\n @ManyToOne(type => Product, { nullable: true })\n @Field({ nullable: true })\n parentProductRef: Product\n\n //// To be removed ////\n @OneToMany(type => Product, product => product.parentProductRef, { nullable: true })\n @Field(type => [Product], { nullable: true })\n childProducts: Product[]\n\n @ManyToOne(type => ContactPoint, { nullable: true })\n @Field({ nullable: true })\n deliverTo: ContactPoint\n\n @RelationId((product: Product) => product.deliverTo)\n deliverToId: string\n\n @ManyToOne(type => ContactPoint, { nullable: true })\n @Field({ nullable: true })\n manufacturedBy: ContactPoint\n\n @RelationId((product: Product) => product.manufacturedBy)\n manufacturedById: string\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n bundleQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n expirationPeriod: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n weightUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n weight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n grossWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseGrossWeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n density: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n lengthUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n costPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n mrpPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n sellPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n afterTaxCostPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n afterTaxSalesPrice: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n width: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n depth: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n height: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n volume: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseWidth: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseDepth: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseHeight: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n caseVolume: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n volumeSize: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n primaryUnit: string\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n primaryValue: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit1: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue1: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit2: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue2: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxUnit3: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n auxValue3: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n inventoryAccountCode: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n cogsAccountCode: string\n\n //// To be removed ////\n @ManyToOne(type => ProductSet, productSet => productSet.product, { nullable: true })\n @Field({ nullable: true })\n productSet: ProductSet\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n movement: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n bufferQty: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n minQty: number\n\n //// To be removed ////\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n maxQty: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n discountId: number\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n status: string\n\n //// To be removed ////\n @Column({ nullable: true })\n @Field({ nullable: true })\n isTrackedAsInventory: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequiredCheckExpiry: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanning: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanningInbound: boolean\n\n @Column({ default: false })\n @Field({ nullable: true })\n isRequireSerialNumberScanningOutbound: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deletedAt: Date\n\n @Column({\n nullable: false,\n type:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'enum'\n : DATABASE_TYPE == 'oracle'\n ? 'varchar2'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n enum:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? pickStrategy : undefined,\n length: DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? undefined : 32,\n default: pickStrategy.FIFO\n })\n @Field()\n pickingStrategy: pickStrategy\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n releaseType?: string\n\n @Field({ nullable: true })\n refCode: string\n\n @Field(type => Float, { nullable: true })\n nettWeight: number\n\n @Field({ nullable: true })\n uom: string\n\n @Field(type => Float, { nullable: true })\n uomValue: number\n\n @Field({ nullable: true })\n auxUnit4: string\n\n @Field({ nullable: true })\n auxValue4: string\n\n @Field({ nullable: true })\n auxUnit5: string\n\n @Field({ nullable: true })\n auxValue5: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((product: Product) => product.creator)\n creatorId: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((product: Product) => product.updater)\n updaterId: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n @ManyToOne(type => Routing, { nullable: true })\n @Field({ nullable: true })\n routing?: Routing\n\n @RelationId((product: Product) => product.routing)\n routingId?: string\n\n @Column({ nullable: true })\n @Field(type => String, { nullable: true })\n warehouseId?: string\n\n @Field(type => String, { nullable: true })\n thumbnail?: string\n\n @Field({ nullable: true })\n productInformation: string\n\n @Field({ nullable: true })\n batchNo?: string\n\n @Field({ nullable: true })\n loadedQty: number\n\n constructor(obj?) {\n if (obj) {\n this.id = obj.product_id\n this.sku = obj.product_sku\n this.name = obj.product_name\n this.description = obj.product_description\n this.bundleQty = obj.product_bundle_qty\n this.type = obj.product_type\n this.packingType = obj.product_packing_type\n this.expirationPeriod = obj.product_expiration_period\n this.weightUnit = obj.product_weight_unit\n this.weight = obj.product_weight\n this.density = obj.product_density\n this.lengthUnit = obj.product_length_unit\n this.costPrice = obj.product_cost_price\n this.sellPrice = obj.product_sell_price\n this.width = obj.product_width\n this.depth = obj.product_depth\n this.height = obj.product_height\n this.primaryUnit = obj.product_primary_unit\n this.primaryValue = obj.product_primary_value\n this.auxUnit1 = obj.product_aux_unit_1\n this.auxValue1 = obj.product_aux_value_1\n this.auxUnit2 = obj.product_aux_unit_2\n this.auxValue2 = obj.product_aux_value_2\n this.auxUnit3 = obj.product_aux_unit_3\n this.auxValue3 = obj.product_aux_value_3\n this.createdAt = obj.product_created_at\n this.updatedAt = obj.product_updated_at\n this.movement = obj.product_movement\n this.inventoryAccountCode = obj.product_inventory_account_code\n this.cogsAccountCode = obj.product_cogs_account_code\n this.isTrackedAsInventory = obj.product_is_tracked_as_inventory\n this.mrpPrice = obj.product_mrp_price\n this.afterTaxCostPrice = obj.product_after_tax_cost_price\n this.afterTaxSalesPrice = obj.product_after_tax_sales_price\n this.bufferQty = obj.product_buffer_qty\n this.discountId = obj.product_discount_id\n this.status = obj.product_status\n this.brandSku = obj.product_brand_sku\n this.brand = obj.product_brand\n this.subBrand = obj.product_sub_brand\n this.gtin = obj.product_gtin\n this.caseGtin = obj.product_case_gtin\n this.grossWeight = obj.product_gross_weight\n this.caseWeight = obj.product_case_weight\n this.caseGrossWeight = obj.product_case_gross_weight\n this.volume = obj.product_volume\n this.caseWidth = obj.product_case_width\n this.caseDepth = obj.product_case_depth\n this.caseHeight = obj.product_case_height\n this.caseVolume = obj.product_case_volume\n this.volumeSize = obj.product_volume_size\n this.minQty = obj.product_min_qty\n this.maxQty = obj.product_max_qty\n this.isCompany = obj.product_is_company\n this.deletedAt = obj.product_deleted_at\n this.isRequiredCheckExpiry = obj.product_is_required_check_expiry\n this.isRequireSerialNumberScanning = obj.product_is_require_serial_number_scanning\n this.isRequireSerialNumberScanningInbound = obj.product_is_require_serial_number_scanning_inbound\n this.isRequireSerialNumberScanningOutbound = obj.product_is_require_serial_number_scanning_outbound\n this.bizplace = { id: obj.product_bizplace_id } as any\n this.domain = { id: obj.product_domain_id } as any\n this.inboundUnit = obj.product_inbound_unit\n this.convertWeight = obj.product_convert_weight\n this.category = obj.product_category\n this.boxInQty = obj.product_box_in_qty\n this.isAuction = obj.product_is_auction\n this.sellCurrency = obj.product_sell_currency\n this.costCurrency = obj.product_cost_currency\n }\n }\n}\n"]}
|