@things-factory/product-base 4.0.36 → 4.0.40
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 +19 -0
- package/dist-server/service/product/product-mutation.js.map +1 -1
- package/dist-server/service/product/product-query.js +166 -105
- package/dist-server/service/product/product-query.js.map +1 -1
- package/dist-server/service/product/product-types.js +14 -5
- package/dist-server/service/product/product-types.js.map +1 -1
- package/dist-server/service/product/product.js +85 -1
- package/dist-server/service/product/product.js.map +1 -1
- package/package.json +4 -4
- package/server/service/product/product-mutation.ts +49 -3
- package/server/service/product/product-query.ts +139 -145
- package/server/service/product/product-types.ts +10 -0
- package/server/service/product/product.ts +79 -6
|
@@ -20,6 +20,69 @@ const shell_1 = require("@things-factory/shell");
|
|
|
20
20
|
const product_detail_1 = require("../product-detail/product-detail");
|
|
21
21
|
const product_set_1 = require("../product-set/product-set");
|
|
22
22
|
let Product = Product_1 = class Product {
|
|
23
|
+
constructor(obj) {
|
|
24
|
+
if (obj) {
|
|
25
|
+
this.id = obj.Product_id;
|
|
26
|
+
this.sku = obj.Product_sku;
|
|
27
|
+
this.name = obj.Product_name;
|
|
28
|
+
this.description = obj.Product_description;
|
|
29
|
+
this.bundleQty = obj.Product_bundle_qty;
|
|
30
|
+
this.type = obj.Product_type;
|
|
31
|
+
this.packingType = obj.Product_packing_type;
|
|
32
|
+
this.expirationPeriod = obj.Product_expiration_period;
|
|
33
|
+
this.weightUnit = obj.Product_weight_unit;
|
|
34
|
+
this.weight = obj.Product_weight;
|
|
35
|
+
this.density = obj.Product_density;
|
|
36
|
+
this.lengthUnit = obj.Product_length_unit;
|
|
37
|
+
this.costPrice = obj.Product_cost_price;
|
|
38
|
+
this.sellPrice = obj.Product_sell_price;
|
|
39
|
+
this.width = obj.Product_width;
|
|
40
|
+
this.depth = obj.Product_depth;
|
|
41
|
+
this.height = obj.Product_height;
|
|
42
|
+
this.primaryUnit = obj.Product_primary_unit;
|
|
43
|
+
this.primaryValue = obj.Product_primary_value;
|
|
44
|
+
this.auxUnit1 = obj.Product_aux_unit_1;
|
|
45
|
+
this.auxValue1 = obj.Product_aux_value_1;
|
|
46
|
+
this.auxUnit2 = obj.Product_aux_unit_2;
|
|
47
|
+
this.auxValue2 = obj.Product_aux_value_2;
|
|
48
|
+
this.auxUnit3 = obj.Product_aux_unit_3;
|
|
49
|
+
this.auxValue3 = obj.Product_aux_value_3;
|
|
50
|
+
this.createdAt = obj.Product_created_at;
|
|
51
|
+
this.updatedAt = obj.Product_updated_at;
|
|
52
|
+
this.movement = obj.Product_movement;
|
|
53
|
+
this.inventoryAccountCode = obj.Product_inventory_account_code;
|
|
54
|
+
this.cogsAccountCode = obj.Product_cogs_account_code;
|
|
55
|
+
this.isTrackedAsInventory = obj.Product_is_tracked_as_inventory;
|
|
56
|
+
this.mrpPrice = obj.Product_mrp_price;
|
|
57
|
+
this.afterTaxCostPrice = obj.Product_after_tax_cost_price;
|
|
58
|
+
this.afterTaxSalesPrice = obj.Product_after_tax_sales_price;
|
|
59
|
+
this.bufferQty = obj.Product_buffer_qty;
|
|
60
|
+
this.discountId = obj.Product_discount_id;
|
|
61
|
+
this.status = obj.Product_status;
|
|
62
|
+
this.brandSku = obj.Product_brand_sku;
|
|
63
|
+
this.brand = obj.Product_brand;
|
|
64
|
+
this.subBrand = obj.Product_sub_brand;
|
|
65
|
+
this.gtin = obj.Product_gtin;
|
|
66
|
+
this.caseGtin = obj.Product_case_gtin;
|
|
67
|
+
this.grossWeight = obj.Product_gross_weight;
|
|
68
|
+
this.caseWeight = obj.Product_case_weight;
|
|
69
|
+
this.caseGrossWeight = obj.Product_case_gross_weight;
|
|
70
|
+
this.volume = obj.Product_volume;
|
|
71
|
+
this.caseWidth = obj.Product_case_width;
|
|
72
|
+
this.caseDepth = obj.Product_case_depth;
|
|
73
|
+
this.caseHeight = obj.Product_case_height;
|
|
74
|
+
this.caseVolume = obj.Product_case_volume;
|
|
75
|
+
this.volumeSize = obj.Product_volume_size;
|
|
76
|
+
this.minQty = obj.Product_min_qty;
|
|
77
|
+
this.maxQty = obj.Product_max_qty;
|
|
78
|
+
this.isCompany = obj.Product_is_company;
|
|
79
|
+
this.deletedAt = obj.Product_deleted_at;
|
|
80
|
+
this.isRequiredCheckExpiry = obj.Product_is_required_check_expiry;
|
|
81
|
+
this.isRequireSerialNumberScanning = obj.Product_is_require_serial_number_scanning;
|
|
82
|
+
this.bizplace = { id: obj.Product_bizplace_id };
|
|
83
|
+
this.domain = { id: obj.Product_domain_id };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
23
86
|
};
|
|
24
87
|
__decorate([
|
|
25
88
|
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
@@ -35,6 +98,18 @@ __decorate([
|
|
|
35
98
|
(0, typeorm_1.RelationId)((product) => product.domain),
|
|
36
99
|
__metadata("design:type", String)
|
|
37
100
|
], Product.prototype, "domainId", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, typeorm_1.RelationId)((product) => product.bizplace),
|
|
103
|
+
__metadata("design:type", String)
|
|
104
|
+
], Product.prototype, "bizplaceId", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, typeorm_1.RelationId)((product) => product.productRef),
|
|
107
|
+
__metadata("design:type", String)
|
|
108
|
+
], Product.prototype, "productRefId", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, typeorm_1.RelationId)((product) => product.parentProductRef),
|
|
111
|
+
__metadata("design:type", String)
|
|
112
|
+
], Product.prototype, "parentProductRefId", void 0);
|
|
38
113
|
__decorate([
|
|
39
114
|
(0, typeorm_1.ManyToOne)(type => biz_base_1.Bizplace),
|
|
40
115
|
(0, type_graphql_1.Field)(),
|
|
@@ -410,11 +485,20 @@ __decorate([
|
|
|
410
485
|
(0, typeorm_1.RelationId)((product) => product.routing),
|
|
411
486
|
__metadata("design:type", String)
|
|
412
487
|
], Product.prototype, "routingId", void 0);
|
|
488
|
+
__decorate([
|
|
489
|
+
(0, type_graphql_1.Field)(type => String, { nullable: true }),
|
|
490
|
+
__metadata("design:type", String)
|
|
491
|
+
], Product.prototype, "thumbnail", void 0);
|
|
492
|
+
__decorate([
|
|
493
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
494
|
+
__metadata("design:type", String)
|
|
495
|
+
], Product.prototype, "productInformation", void 0);
|
|
413
496
|
Product = Product_1 = __decorate([
|
|
414
497
|
(0, typeorm_1.Entity)(),
|
|
415
498
|
(0, typeorm_1.Index)('ix_product_0', (product) => [product.domain, product.bizplace, product.name, product.description, product.weight], { unique: true }),
|
|
416
499
|
(0, typeorm_1.Index)('ix_product_1', (product) => [product.bizplace]),
|
|
417
|
-
(0, type_graphql_1.ObjectType)()
|
|
500
|
+
(0, type_graphql_1.ObjectType)(),
|
|
501
|
+
__metadata("design:paramtypes", [Object])
|
|
418
502
|
], Product);
|
|
419
503
|
exports.Product = Product;
|
|
420
504
|
//# sourceMappingURL=product.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../../server/service/product/product.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../../server/service/product/product.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/product-base",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.40",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@things-factory/biz-base": "^4.0.
|
|
28
|
-
"@things-factory/routing-base": "^4.0.
|
|
27
|
+
"@things-factory/biz-base": "^4.0.40",
|
|
28
|
+
"@things-factory/routing-base": "^4.0.40"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "f0697b5ab411e4aa1a52de19a6c135f39686eca1"
|
|
31
31
|
}
|
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import promisesAll from 'promises-all'
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
Arg,
|
|
4
|
+
Ctx,
|
|
5
|
+
Directive,
|
|
6
|
+
Mutation,
|
|
7
|
+
Resolver
|
|
8
|
+
} from 'type-graphql'
|
|
9
|
+
import {
|
|
10
|
+
EntityManager,
|
|
11
|
+
getRepository,
|
|
12
|
+
In,
|
|
13
|
+
Repository
|
|
14
|
+
} from 'typeorm'
|
|
4
15
|
|
|
16
|
+
import {
|
|
17
|
+
createAttachment,
|
|
18
|
+
deleteAttachmentsByRef
|
|
19
|
+
} from '@things-factory/attachment-base'
|
|
5
20
|
import { User } from '@things-factory/auth-base'
|
|
6
21
|
import { Bizplace } from '@things-factory/biz-base'
|
|
7
22
|
import { logger } from '@things-factory/env'
|
|
@@ -16,7 +31,10 @@ import {
|
|
|
16
31
|
} from '../product-detail/product-detail-mutation'
|
|
17
32
|
import { ProductSet } from '../product-set/product-set'
|
|
18
33
|
import { Product } from './product'
|
|
19
|
-
import {
|
|
34
|
+
import {
|
|
35
|
+
NewProduct,
|
|
36
|
+
ProductPatch
|
|
37
|
+
} from './product-types'
|
|
20
38
|
import { validateProduct } from './validate-product'
|
|
21
39
|
|
|
22
40
|
@Resolver(Product)
|
|
@@ -283,6 +301,19 @@ export async function createProduct(product: any, context: any) {
|
|
|
283
301
|
|
|
284
302
|
await updateMultipleProductDetail(result.id, productDetails, context)
|
|
285
303
|
|
|
304
|
+
if (product.thumbnail) {
|
|
305
|
+
await createAttachment(
|
|
306
|
+
null,
|
|
307
|
+
{
|
|
308
|
+
attachment: {
|
|
309
|
+
file: product.thumbnail,
|
|
310
|
+
refBy: result.id
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
context
|
|
314
|
+
)
|
|
315
|
+
}
|
|
316
|
+
|
|
286
317
|
return result
|
|
287
318
|
} catch (error) {
|
|
288
319
|
throw error
|
|
@@ -368,6 +399,21 @@ export async function updateProduct(id: string, patch, context) {
|
|
|
368
399
|
)
|
|
369
400
|
}
|
|
370
401
|
|
|
402
|
+
const productId = id
|
|
403
|
+
if (patch.thumbnail) {
|
|
404
|
+
await deleteAttachmentsByRef(null, { refBys: [productId] }, context)
|
|
405
|
+
await createAttachment(
|
|
406
|
+
null,
|
|
407
|
+
{
|
|
408
|
+
attachment: {
|
|
409
|
+
file: patch.thumbnail,
|
|
410
|
+
refBy: product.id
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
context
|
|
414
|
+
)
|
|
415
|
+
}
|
|
416
|
+
|
|
371
417
|
return product
|
|
372
418
|
} catch (error) {
|
|
373
419
|
throw error
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
|
2
2
|
import { Brackets, getRepository, In, SelectQueryBuilder } from 'typeorm'
|
|
3
3
|
|
|
4
|
+
import { Attachment } from '@things-factory/attachment-base'
|
|
4
5
|
import { User } from '@things-factory/auth-base'
|
|
5
6
|
import {
|
|
6
7
|
Bizplace,
|
|
@@ -49,28 +50,14 @@ export class ProductQuery {
|
|
|
49
50
|
async products(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {
|
|
50
51
|
const { domain, user }: { domain: Domain; user: User } = context.state
|
|
51
52
|
const { domains }: { domains: Domain[] } = user
|
|
52
|
-
|
|
53
|
-
const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder()
|
|
54
|
-
|
|
55
|
-
const productFilters = params.filters.filter(x => x.name == 'product_info')
|
|
56
|
-
const filters = params.filters.filter(x => x.name != 'product_info')
|
|
57
|
-
const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']
|
|
53
|
+
let bizplaces: Bizplace[]
|
|
58
54
|
|
|
59
55
|
if (!params.filters.find((filter: any) => filter.name === 'bizplace_id')) {
|
|
60
56
|
const warehouseDomain: Domain = domain
|
|
61
57
|
const companiesBizplaces: Bizplace[] = await getCompaniesBizplaces(domains, warehouseDomain)
|
|
62
58
|
const partnersCompanyBizplaces: Bizplace[] = await getPartnersCompanyBizplaces(domain, user)
|
|
63
59
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
params.filters = [
|
|
67
|
-
...filters,
|
|
68
|
-
{
|
|
69
|
-
name: 'bizplace_id',
|
|
70
|
-
operator: 'in',
|
|
71
|
-
value: [...companyBizIds, ...partnersCompanyBizplaces.map(biz => biz.id)]
|
|
72
|
-
}
|
|
73
|
-
]
|
|
60
|
+
bizplaces = [...companiesBizplaces, ...partnersCompanyBizplaces]
|
|
74
61
|
} else {
|
|
75
62
|
const bizplaceId: string[] = params.filters.filter(param => param.name == 'bizplace_id').map(item => item.value)
|
|
76
63
|
|
|
@@ -83,45 +70,15 @@ export class ProductQuery {
|
|
|
83
70
|
const companyDomain: Domain = foundBizplace.company?.domain
|
|
84
71
|
const companyBizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain: companyDomain } })
|
|
85
72
|
|
|
86
|
-
|
|
87
|
-
.filter(x => x.name == 'bizplace_id')
|
|
88
|
-
.map(itm => {
|
|
89
|
-
itm.operator = 'in'
|
|
90
|
-
itm.value = [companyBizplace.id, foundBizplace.id]
|
|
91
|
-
})
|
|
73
|
+
bizplaces = [companyBizplace, foundBizplace]
|
|
92
74
|
}
|
|
93
75
|
}
|
|
94
76
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
buildQuery(qb, params, context, false)
|
|
98
|
-
if (productFilters && productFilters.length > 0) {
|
|
99
|
-
let productInfo = productFilters[0]
|
|
100
|
-
qb.andWhere(
|
|
101
|
-
new Brackets(qb2 => {
|
|
102
|
-
productFilterColumns.forEach(filter => {
|
|
103
|
-
const condition = buildCondition(
|
|
104
|
-
qb.alias,
|
|
105
|
-
filter,
|
|
106
|
-
productInfo.operator,
|
|
107
|
-
productInfo.value,
|
|
108
|
-
productInfo.relation,
|
|
109
|
-
Object.keys(qb.getParameters()).length
|
|
110
|
-
)
|
|
111
|
-
|
|
112
|
-
qb2.orWhere(condition.clause, condition.parameters)
|
|
113
|
-
})
|
|
114
|
-
})
|
|
115
|
-
)
|
|
116
|
-
}
|
|
77
|
+
const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)
|
|
117
78
|
|
|
118
79
|
let [items, total] = await qb
|
|
119
|
-
.leftJoinAndSelect('Product.bizplace', 'Bizplace')
|
|
120
|
-
.leftJoinAndSelect('Product.productRef', 'ProductRef')
|
|
121
80
|
.leftJoinAndSelect('Product.productDetails', 'ProductDetails')
|
|
122
81
|
.leftJoinAndSelect('ProductDetails.childProductDetail', 'ChildProductDetail')
|
|
123
|
-
.leftJoinAndSelect('Product.creator', 'Creator')
|
|
124
|
-
.leftJoinAndSelect('Product.updater', 'Updater')
|
|
125
82
|
.getManyAndCount()
|
|
126
83
|
|
|
127
84
|
return { items, total }
|
|
@@ -131,53 +88,16 @@ export class ProductQuery {
|
|
|
131
88
|
@Query(returns => ProductList)
|
|
132
89
|
async myBizplaceProducts(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {
|
|
133
90
|
const { domain, user }: { domain: Domain; user: User } = context.state
|
|
91
|
+
const bizplaceFilter = params.filters.find(filter => filter.name === 'bizplace_id')
|
|
134
92
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const deletedFilter = params.filters.find(x => x.name == 'deleted')
|
|
139
|
-
const filters = params.filters.filter(x => x.name != 'product_info' && x.name != 'deleted')
|
|
140
|
-
const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']
|
|
141
|
-
|
|
142
|
-
if (!params.filters.find(filter => filter.name === 'bizplace_id')) {
|
|
143
|
-
// const companyBizplace: Bizplace = await getCompanyBizplace(domain, user)
|
|
144
|
-
let bizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain } })
|
|
145
|
-
params.filters = [...filters, { name: 'bizplace_id', operator: 'in', value: [bizplace.id] }]
|
|
93
|
+
let bizplaces: Bizplace[] = []
|
|
94
|
+
if (!bizplaceFilter) {
|
|
95
|
+
bizplaces.push(await getRepository(Bizplace).findOne({ where: { domain } }))
|
|
146
96
|
}
|
|
147
97
|
|
|
148
|
-
|
|
149
|
-
...params.filters,
|
|
150
|
-
{ name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' }
|
|
151
|
-
]
|
|
152
|
-
|
|
153
|
-
buildQuery(qb, params, context, false)
|
|
154
|
-
if (productFilters && productFilters.length > 0) {
|
|
155
|
-
let productInfo = productFilters[0]
|
|
156
|
-
qb.andWhere(
|
|
157
|
-
new Brackets(qb2 => {
|
|
158
|
-
productFilterColumns.forEach(filter => {
|
|
159
|
-
const condition = buildCondition(
|
|
160
|
-
qb.alias,
|
|
161
|
-
filter,
|
|
162
|
-
productInfo.operator,
|
|
163
|
-
productInfo.value,
|
|
164
|
-
productInfo.relation,
|
|
165
|
-
Object.keys(qb.getParameters()).length
|
|
166
|
-
)
|
|
167
|
-
|
|
168
|
-
qb2.orWhere(condition.clause, condition.parameters)
|
|
169
|
-
})
|
|
170
|
-
})
|
|
171
|
-
)
|
|
172
|
-
}
|
|
98
|
+
const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)
|
|
173
99
|
|
|
174
|
-
let [items, total] = await qb
|
|
175
|
-
.leftJoinAndSelect('Product.bizplace', 'Bizplace')
|
|
176
|
-
.leftJoinAndSelect('Product.productRef', 'ProductRef')
|
|
177
|
-
.leftJoinAndSelect('Product.parentProductRef', 'ParentProductRef')
|
|
178
|
-
.leftJoinAndSelect('Product.productDetails', 'ProductDetails')
|
|
179
|
-
.leftJoinAndSelect('Product.updater', 'Updater')
|
|
180
|
-
.getManyAndCount()
|
|
100
|
+
let [items, total] = await qb.leftJoinAndSelect('Product.productDetails', 'ProductDetails').getManyAndCount()
|
|
181
101
|
|
|
182
102
|
items = items.map(itm => {
|
|
183
103
|
let defaultProductDetail = itm.productDetails.find(itm => itm.isDefault)
|
|
@@ -194,68 +114,31 @@ export class ProductQuery {
|
|
|
194
114
|
@Query(returns => ProductList)
|
|
195
115
|
async productsByBizplace(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {
|
|
196
116
|
const { domain, user }: { domain: Domain; user: User } = context.state
|
|
197
|
-
|
|
198
|
-
const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder()
|
|
117
|
+
const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')
|
|
199
118
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
const deletedFilter = params.filters.find(x => x.name == 'deleted')
|
|
203
|
-
const filters = params.filters.filter(
|
|
204
|
-
x => x.name != 'product_info' && x.name != 'bizplace' && x.name != 'deleted'
|
|
205
|
-
)
|
|
206
|
-
const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']
|
|
207
|
-
|
|
208
|
-
let companyBizplace: Bizplace, myBizplace: Bizplace
|
|
119
|
+
try {
|
|
120
|
+
let bizplaces: Bizplace[]
|
|
209
121
|
if (!bizplaceFilter || bizplaceFilter.value == '') {
|
|
210
|
-
|
|
211
|
-
companyBizplace = await getCompanyBizplace(domain, user)
|
|
122
|
+
bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]
|
|
212
123
|
} else {
|
|
213
|
-
myBizplace = await getRepository(Bizplace).findOne(bizplaceFilter.value, {
|
|
124
|
+
let myBizplace: Bizplace = await getRepository(Bizplace).findOne(bizplaceFilter.value, {
|
|
214
125
|
relations: ['company', 'company.domain']
|
|
215
126
|
})
|
|
216
|
-
companyBizplace = await getRepository(Bizplace).findOne({
|
|
217
|
-
where: { domain: myBizplace.company.domain }
|
|
218
|
-
})
|
|
219
|
-
}
|
|
220
127
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
{ name: 'bizplace_id', operator: 'in', value: [companyBizplace.id, myBizplace.id] }
|
|
226
|
-
]
|
|
227
|
-
|
|
228
|
-
buildQuery(qb, params, context, false)
|
|
229
|
-
if (productFilters && productFilters.length > 0) {
|
|
230
|
-
let productInfo = productFilters[0]
|
|
231
|
-
qb.andWhere(
|
|
232
|
-
new Brackets(qb2 => {
|
|
233
|
-
productFilterColumns.forEach(filter => {
|
|
234
|
-
const condition = buildCondition(
|
|
235
|
-
qb.alias,
|
|
236
|
-
filter,
|
|
237
|
-
productInfo.operator,
|
|
238
|
-
productInfo.value,
|
|
239
|
-
productInfo.relation,
|
|
240
|
-
Object.keys(qb.getParameters()).length
|
|
241
|
-
)
|
|
242
|
-
|
|
243
|
-
qb2.orWhere(condition.clause, condition.parameters)
|
|
244
|
-
})
|
|
128
|
+
bizplaces = [
|
|
129
|
+
myBizplace,
|
|
130
|
+
await getRepository(Bizplace).findOne({
|
|
131
|
+
where: { domain: myBizplace.company.domain }
|
|
245
132
|
})
|
|
246
|
-
|
|
133
|
+
]
|
|
247
134
|
}
|
|
248
135
|
|
|
249
|
-
qb
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
.leftJoinAndSelect('Product.productDetails', 'ProductDetails')
|
|
253
|
-
.leftJoinAndSelect('Product.creator', 'Creator')
|
|
254
|
-
.leftJoinAndSelect('Product.updater', 'Updater')
|
|
255
|
-
let [items, total] = await qb.getManyAndCount()
|
|
136
|
+
const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)
|
|
137
|
+
|
|
138
|
+
let [items, total] = await qb.leftJoinAndSelect('Product.productDetails', 'ProductDetails').getManyAndCount()
|
|
256
139
|
|
|
257
140
|
items = items.map(itm => {
|
|
258
|
-
let defaultProductDetail = itm.productDetails
|
|
141
|
+
let defaultProductDetail = itm.productDetails?.find(itm => itm.isDefault)
|
|
259
142
|
return {
|
|
260
143
|
...itm,
|
|
261
144
|
...new ProductDetail(defaultProductDetail, true)
|
|
@@ -268,18 +151,129 @@ export class ProductQuery {
|
|
|
268
151
|
}
|
|
269
152
|
}
|
|
270
153
|
|
|
154
|
+
/**
|
|
155
|
+
* @description this resolver was specially made to return huge products data
|
|
156
|
+
* without dropping off performance due to typegraphql limitations
|
|
157
|
+
* @returns pure product data only. there will be no other table joined to avoid
|
|
158
|
+
* ORM lagging issue (converting to object extremely withdraws the performance)
|
|
159
|
+
* */
|
|
160
|
+
@Directive('@privilege(category: "order", privilege: "query")')
|
|
161
|
+
@Query(returns => ProductList)
|
|
162
|
+
async pureProductsByBizplace(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {
|
|
163
|
+
const { domain, user }: { domain: Domain; user: User } = context.state
|
|
164
|
+
const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')
|
|
165
|
+
|
|
166
|
+
try {
|
|
167
|
+
let bizplaces: Bizplace[]
|
|
168
|
+
if (!bizplaceFilter || bizplaceFilter.value == '') {
|
|
169
|
+
bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]
|
|
170
|
+
} else {
|
|
171
|
+
let myBizplace: Bizplace = await getRepository(Bizplace).findOne(bizplaceFilter.value, {
|
|
172
|
+
relations: ['company', 'company.domain']
|
|
173
|
+
})
|
|
174
|
+
|
|
175
|
+
bizplaces = [
|
|
176
|
+
myBizplace,
|
|
177
|
+
await getRepository(Bizplace).findOne({
|
|
178
|
+
where: { domain: myBizplace.company.domain }
|
|
179
|
+
})
|
|
180
|
+
]
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)
|
|
184
|
+
let items = await qb.getRawMany()
|
|
185
|
+
let total = await qb.getCount()
|
|
186
|
+
|
|
187
|
+
return { items: items.map(item => new Product(item)), total }
|
|
188
|
+
} catch (error) {
|
|
189
|
+
throw error
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
271
193
|
@FieldResolver(type => Domain)
|
|
272
194
|
async domain(@Root() product: Product): Promise<Domain> {
|
|
273
|
-
return await getRepository(Domain).findOne(product.domainId)
|
|
195
|
+
if (product.domainId) return await getRepository(Domain).findOne(product.domainId)
|
|
196
|
+
else return null
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
@FieldResolver(type => Bizplace)
|
|
200
|
+
async bizplace(@Root() product: Product): Promise<Bizplace> {
|
|
201
|
+
if (product.bizplaceId) return await getRepository(Bizplace).findOne(product.bizplaceId)
|
|
202
|
+
else return null
|
|
274
203
|
}
|
|
275
204
|
|
|
276
205
|
@FieldResolver(type => User)
|
|
277
206
|
async creator(@Root() product: Product): Promise<User> {
|
|
278
|
-
return await getRepository(User).findOne(product.creatorId)
|
|
207
|
+
if (product.creatorId) return await getRepository(User).findOne(product.creatorId)
|
|
208
|
+
else return null
|
|
279
209
|
}
|
|
280
210
|
|
|
281
211
|
@FieldResolver(type => User)
|
|
282
212
|
async updater(@Root() product: Product): Promise<User> {
|
|
283
|
-
return await getRepository(User).findOne(product.updaterId)
|
|
213
|
+
if (product.updaterId) return await getRepository(User).findOne(product.updaterId)
|
|
214
|
+
else return null
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
@FieldResolver(type => Product)
|
|
218
|
+
async parentProductRef(@Root() product: Product): Promise<Product> {
|
|
219
|
+
if (product.parentProductRefId) return await getRepository(Product).findOne(product.parentProductRefId)
|
|
220
|
+
else return null
|
|
284
221
|
}
|
|
222
|
+
|
|
223
|
+
@FieldResolver(type => Product)
|
|
224
|
+
async productRef(@Root() product: Product): Promise<Product> {
|
|
225
|
+
if (product.productRefId) return await getRepository(Product).findOne(product.productRefId)
|
|
226
|
+
else return null
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
@FieldResolver(type => String)
|
|
230
|
+
async thumbnail(@Root() product: Product): Promise<string | undefined> {
|
|
231
|
+
const attachment: Attachment = await getRepository(Attachment).findOne({
|
|
232
|
+
where: {
|
|
233
|
+
domain: product.domainId,
|
|
234
|
+
refBy: product.id
|
|
235
|
+
}
|
|
236
|
+
})
|
|
237
|
+
|
|
238
|
+
return attachment?.fullpath
|
|
239
|
+
}
|
|
240
|
+
productInformation(@Root() product: Product): String {
|
|
241
|
+
return `[${product.sku}] ${product.name}${product.description ? ` - ${product.description}` : ''}`
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
function buildCustomConditions(params, context, bizplaces): SelectQueryBuilder<Product> {
|
|
246
|
+
const deletedFilter = params.filters.find(x => x.name == 'deleted')
|
|
247
|
+
const productFilters = params.filters.find(x => x.name == 'product_info')
|
|
248
|
+
const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']
|
|
249
|
+
|
|
250
|
+
params.filters = [
|
|
251
|
+
...params.filters.filter(x => ['product_info', 'bizplace', 'bizplace_id', 'deleted'].indexOf(x.name) == -1),
|
|
252
|
+
{ name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' },
|
|
253
|
+
{ name: 'bizplace_id', operator: 'in', value: bizplaces.map(bizplace => bizplace.id) }
|
|
254
|
+
]
|
|
255
|
+
|
|
256
|
+
const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder()
|
|
257
|
+
|
|
258
|
+
buildQuery(qb, params, context, false)
|
|
259
|
+
if (productFilters) {
|
|
260
|
+
qb.andWhere(
|
|
261
|
+
new Brackets(qb2 => {
|
|
262
|
+
productFilterColumns.forEach(filter => {
|
|
263
|
+
const condition = buildCondition(
|
|
264
|
+
qb.alias,
|
|
265
|
+
filter,
|
|
266
|
+
productFilters.operator,
|
|
267
|
+
productFilters.value,
|
|
268
|
+
productFilters.relation,
|
|
269
|
+
Object.keys(qb.getParameters()).length
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
qb2.orWhere(condition.clause, condition.parameters)
|
|
273
|
+
})
|
|
274
|
+
})
|
|
275
|
+
)
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
return qb
|
|
285
279
|
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FileUpload,
|
|
3
|
+
GraphQLUpload
|
|
4
|
+
} from 'graphql-upload'
|
|
1
5
|
import {
|
|
2
6
|
Field,
|
|
3
7
|
Float,
|
|
@@ -182,6 +186,9 @@ export class NewProduct {
|
|
|
182
186
|
|
|
183
187
|
@Field(type => ObjectRef, { nullable: true })
|
|
184
188
|
routing?: ObjectRef
|
|
189
|
+
|
|
190
|
+
@Field(type => GraphQLUpload, { nullable: true })
|
|
191
|
+
thumbnail?: FileUpload
|
|
185
192
|
}
|
|
186
193
|
|
|
187
194
|
@ObjectType()
|
|
@@ -372,6 +379,9 @@ export class ProductPatch {
|
|
|
372
379
|
@Field(type => ObjectRef, { nullable: true })
|
|
373
380
|
routing?: ObjectRef
|
|
374
381
|
|
|
382
|
+
@Field(type => GraphQLUpload, { nullable: true })
|
|
383
|
+
thumbnail?: FileUpload
|
|
384
|
+
|
|
375
385
|
@Field({ nullable: true })
|
|
376
386
|
cuFlag?: string
|
|
377
387
|
}
|