@things-factory/product-base 4.0.39 → 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.
@@ -11,7 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var _a, _b, _c;
14
+ var _a, _b, _c, _d;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.ProductQuery = void 0;
17
17
  const type_graphql_1 = require("type-graphql");
@@ -52,23 +52,12 @@ let ProductQuery = class ProductQuery {
52
52
  var _a;
53
53
  const { domain, user } = context.state;
54
54
  const { domains } = user;
55
- const qb = (0, typeorm_1.getRepository)(product_1.Product).createQueryBuilder();
56
- const productFilters = params.filters.filter(x => x.name == 'product_info');
57
- const filters = params.filters.filter(x => x.name != 'product_info');
58
- const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand'];
55
+ let bizplaces;
59
56
  if (!params.filters.find((filter) => filter.name === 'bizplace_id')) {
60
57
  const warehouseDomain = domain;
61
58
  const companiesBizplaces = await (0, biz_base_1.getCompaniesBizplaces)(domains, warehouseDomain);
62
59
  const partnersCompanyBizplaces = await (0, biz_base_1.getPartnersCompanyBizplaces)(domain, user);
63
- const companyBizIds = companiesBizplaces.map((biz) => biz.id);
64
- params.filters = [
65
- ...filters,
66
- {
67
- name: 'bizplace_id',
68
- operator: 'in',
69
- value: [...companyBizIds, ...partnersCompanyBizplaces.map(biz => biz.id)]
70
- }
71
- ];
60
+ bizplaces = [...companiesBizplaces, ...partnersCompanyBizplaces];
72
61
  }
73
62
  else {
74
63
  const bizplaceId = params.filters.filter(param => param.name == 'bizplace_id').map(item => item.value);
@@ -79,68 +68,25 @@ let ProductQuery = class ProductQuery {
79
68
  if (foundBizplace) {
80
69
  const companyDomain = (_a = foundBizplace.company) === null || _a === void 0 ? void 0 : _a.domain;
81
70
  const companyBizplace = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne({ where: { domain: companyDomain } });
82
- params.filters
83
- .filter(x => x.name == 'bizplace_id')
84
- .map(itm => {
85
- itm.operator = 'in';
86
- itm.value = [companyBizplace.id, foundBizplace.id];
87
- });
71
+ bizplaces = [companyBizplace, foundBizplace];
88
72
  }
89
73
  }
90
- params.filters = [...filters, { name: 'deletedAt', operator: 'is_null' }];
91
- (0, shell_1.buildQuery)(qb, params, context, false);
92
- if (productFilters && productFilters.length > 0) {
93
- let productInfo = productFilters[0];
94
- qb.andWhere(new typeorm_1.Brackets(qb2 => {
95
- productFilterColumns.forEach(filter => {
96
- const condition = (0, shell_1.buildCondition)(qb.alias, filter, productInfo.operator, productInfo.value, productInfo.relation, Object.keys(qb.getParameters()).length);
97
- qb2.orWhere(condition.clause, condition.parameters);
98
- });
99
- }));
100
- }
74
+ const qb = buildCustomConditions(params, context, bizplaces);
101
75
  let [items, total] = await qb
102
- .leftJoinAndSelect('Product.bizplace', 'Bizplace')
103
- .leftJoinAndSelect('Product.productRef', 'ProductRef')
104
76
  .leftJoinAndSelect('Product.productDetails', 'ProductDetails')
105
77
  .leftJoinAndSelect('ProductDetails.childProductDetail', 'ChildProductDetail')
106
- .leftJoinAndSelect('Product.creator', 'Creator')
107
- .leftJoinAndSelect('Product.updater', 'Updater')
108
78
  .getManyAndCount();
109
79
  return { items, total };
110
80
  }
111
81
  async myBizplaceProducts(params, context) {
112
82
  const { domain, user } = context.state;
113
- const qb = (0, typeorm_1.getRepository)(product_1.Product).createQueryBuilder();
114
- const productFilters = params.filters.filter(x => x.name == 'product_info');
115
- const deletedFilter = params.filters.find(x => x.name == 'deleted');
116
- const filters = params.filters.filter(x => x.name != 'product_info' && x.name != 'deleted');
117
- const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand'];
118
- if (!params.filters.find(filter => filter.name === 'bizplace_id')) {
119
- // const companyBizplace: Bizplace = await getCompanyBizplace(domain, user)
120
- let bizplace = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne({ where: { domain } });
121
- params.filters = [...filters, { name: 'bizplace_id', operator: 'in', value: [bizplace.id] }];
83
+ const bizplaceFilter = params.filters.find(filter => filter.name === 'bizplace_id');
84
+ let bizplaces = [];
85
+ if (!bizplaceFilter) {
86
+ bizplaces.push(await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne({ where: { domain } }));
122
87
  }
123
- params.filters = [
124
- ...params.filters,
125
- { name: 'deletedAt', operator: (deletedFilter === null || deletedFilter === void 0 ? void 0 : deletedFilter.value) ? 'is_not_null' : 'is_null' }
126
- ];
127
- (0, shell_1.buildQuery)(qb, params, context, false);
128
- if (productFilters && productFilters.length > 0) {
129
- let productInfo = productFilters[0];
130
- qb.andWhere(new typeorm_1.Brackets(qb2 => {
131
- productFilterColumns.forEach(filter => {
132
- const condition = (0, shell_1.buildCondition)(qb.alias, filter, productInfo.operator, productInfo.value, productInfo.relation, Object.keys(qb.getParameters()).length);
133
- qb2.orWhere(condition.clause, condition.parameters);
134
- });
135
- }));
136
- }
137
- let [items, total] = await qb
138
- .leftJoinAndSelect('Product.bizplace', 'Bizplace')
139
- .leftJoinAndSelect('Product.productRef', 'ProductRef')
140
- .leftJoinAndSelect('Product.parentProductRef', 'ParentProductRef')
141
- .leftJoinAndSelect('Product.productDetails', 'ProductDetails')
142
- .leftJoinAndSelect('Product.updater', 'Updater')
143
- .getManyAndCount();
88
+ const qb = buildCustomConditions(params, context, bizplaces);
89
+ let [items, total] = await qb.leftJoinAndSelect('Product.productDetails', 'ProductDetails').getManyAndCount();
144
90
  items = items.map(itm => {
145
91
  let defaultProductDetail = itm.productDetails.find(itm => itm.isDefault);
146
92
  return Object.assign(Object.assign({}, itm), new product_detail_1.ProductDetail(defaultProductDetail, true));
@@ -149,51 +95,28 @@ let ProductQuery = class ProductQuery {
149
95
  }
150
96
  async productsByBizplace(params, context) {
151
97
  const { domain, user } = context.state;
98
+ const bizplaceFilter = params.filters.find(x => x.name == 'bizplace');
152
99
  try {
153
- const qb = (0, typeorm_1.getRepository)(product_1.Product).createQueryBuilder();
154
- const productFilters = params.filters.filter(x => x.name == 'product_info');
155
- const bizplaceFilter = params.filters.find(x => x.name == 'bizplace');
156
- const deletedFilter = params.filters.find(x => x.name == 'deleted');
157
- const filters = params.filters.filter(x => x.name != 'product_info' && x.name != 'bizplace' && x.name != 'deleted');
158
- const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand'];
159
- let companyBizplace, myBizplace;
100
+ let bizplaces;
160
101
  if (!bizplaceFilter || bizplaceFilter.value == '') {
161
- myBizplace = await (0, biz_base_1.getMyBizplace)(domain, user);
162
- companyBizplace = await (0, biz_base_1.getCompanyBizplace)(domain, user);
102
+ bizplaces = [await (0, biz_base_1.getMyBizplace)(domain, user), await (0, biz_base_1.getCompanyBizplace)(domain, user)];
163
103
  }
164
104
  else {
165
- myBizplace = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne(bizplaceFilter.value, {
105
+ let myBizplace = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne(bizplaceFilter.value, {
166
106
  relations: ['company', 'company.domain']
167
107
  });
168
- companyBizplace = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne({
169
- where: { domain: myBizplace.company.domain }
170
- });
108
+ bizplaces = [
109
+ myBizplace,
110
+ await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne({
111
+ where: { domain: myBizplace.company.domain }
112
+ })
113
+ ];
171
114
  }
172
- params.filters = [
173
- ...filters,
174
- { name: 'deletedAt', operator: (deletedFilter === null || deletedFilter === void 0 ? void 0 : deletedFilter.value) ? 'is_not_null' : 'is_null' },
175
- ,
176
- { name: 'bizplace_id', operator: 'in', value: [companyBizplace.id, myBizplace.id] }
177
- ];
178
- (0, shell_1.buildQuery)(qb, params, context, false);
179
- if (productFilters && productFilters.length > 0) {
180
- let productInfo = productFilters[0];
181
- qb.andWhere(new typeorm_1.Brackets(qb2 => {
182
- productFilterColumns.forEach(filter => {
183
- const condition = (0, shell_1.buildCondition)(qb.alias, filter, productInfo.operator, productInfo.value, productInfo.relation, Object.keys(qb.getParameters()).length);
184
- qb2.orWhere(condition.clause, condition.parameters);
185
- });
186
- }));
187
- }
188
- qb.leftJoinAndSelect('Product.bizplace', 'Bizplace')
189
- .leftJoinAndSelect('Product.productRef', 'ProductRef')
190
- .leftJoinAndSelect('Product.parentProductRef', 'ParentProductRef')
191
- .leftJoinAndSelect('Product.productDetails', 'ProductDetails')
192
- .leftJoinAndSelect('Product.creator', 'Creator')
193
- .leftJoinAndSelect('Product.updater', 'Updater');
194
- let [items, total] = await qb.getManyAndCount();
115
+ const qb = buildCustomConditions(params, context, bizplaces);
116
+ let [items, total] = await qb.leftJoinAndSelect('Product.productDetails', 'ProductDetails').getManyAndCount();
195
117
  items = items.map(itm => {
196
- let defaultProductDetail = itm.productDetails.find(itm => itm.isDefault);
118
+ var _a;
119
+ let defaultProductDetail = (_a = itm.productDetails) === null || _a === void 0 ? void 0 : _a.find(itm => itm.isDefault);
197
120
  return Object.assign(Object.assign({}, itm), new product_detail_1.ProductDetail(defaultProductDetail, true));
198
121
  });
199
122
  return { items, total };
@@ -202,14 +125,75 @@ let ProductQuery = class ProductQuery {
202
125
  throw error;
203
126
  }
204
127
  }
128
+ /**
129
+ * @description this resolver was specially made to return huge products data
130
+ * without dropping off performance due to typegraphql limitations
131
+ * @returns pure product data only. there will be no other table joined to avoid
132
+ * ORM lagging issue (converting to object extremely withdraws the performance)
133
+ * */
134
+ async pureProductsByBizplace(params, context) {
135
+ const { domain, user } = context.state;
136
+ const bizplaceFilter = params.filters.find(x => x.name == 'bizplace');
137
+ try {
138
+ let bizplaces;
139
+ if (!bizplaceFilter || bizplaceFilter.value == '') {
140
+ bizplaces = [await (0, biz_base_1.getMyBizplace)(domain, user), await (0, biz_base_1.getCompanyBizplace)(domain, user)];
141
+ }
142
+ else {
143
+ let myBizplace = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne(bizplaceFilter.value, {
144
+ relations: ['company', 'company.domain']
145
+ });
146
+ bizplaces = [
147
+ myBizplace,
148
+ await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne({
149
+ where: { domain: myBizplace.company.domain }
150
+ })
151
+ ];
152
+ }
153
+ const qb = buildCustomConditions(params, context, bizplaces);
154
+ let items = await qb.getRawMany();
155
+ let total = await qb.getCount();
156
+ return { items: items.map(item => new product_1.Product(item)), total };
157
+ }
158
+ catch (error) {
159
+ throw error;
160
+ }
161
+ }
205
162
  async domain(product) {
206
- return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(product.domainId);
163
+ if (product.domainId)
164
+ return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(product.domainId);
165
+ else
166
+ return null;
167
+ }
168
+ async bizplace(product) {
169
+ if (product.bizplaceId)
170
+ return await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne(product.bizplaceId);
171
+ else
172
+ return null;
207
173
  }
208
174
  async creator(product) {
209
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(product.creatorId);
175
+ if (product.creatorId)
176
+ return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(product.creatorId);
177
+ else
178
+ return null;
210
179
  }
211
180
  async updater(product) {
212
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(product.updaterId);
181
+ if (product.updaterId)
182
+ return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(product.updaterId);
183
+ else
184
+ return null;
185
+ }
186
+ async parentProductRef(product) {
187
+ if (product.parentProductRefId)
188
+ return await (0, typeorm_1.getRepository)(product_1.Product).findOne(product.parentProductRefId);
189
+ else
190
+ return null;
191
+ }
192
+ async productRef(product) {
193
+ if (product.productRefId)
194
+ return await (0, typeorm_1.getRepository)(product_1.Product).findOne(product.productRefId);
195
+ else
196
+ return null;
213
197
  }
214
198
  async thumbnail(product) {
215
199
  const attachment = await (0, typeorm_1.getRepository)(attachment_base_1.Attachment).findOne({
@@ -220,6 +204,9 @@ let ProductQuery = class ProductQuery {
220
204
  });
221
205
  return attachment === null || attachment === void 0 ? void 0 : attachment.fullpath;
222
206
  }
207
+ productInformation(product) {
208
+ return `[${product.sku}] ${product.name}${product.description ? ` - ${product.description}` : ''}`;
209
+ }
223
210
  };
224
211
  __decorate([
225
212
  (0, type_graphql_1.Directive)('@privilege(category: "order", privilege: "query")'),
@@ -257,6 +244,15 @@ __decorate([
257
244
  __metadata("design:paramtypes", [typeof (_c = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _c : Object, Object]),
258
245
  __metadata("design:returntype", Promise)
259
246
  ], ProductQuery.prototype, "productsByBizplace", null);
247
+ __decorate([
248
+ (0, type_graphql_1.Directive)('@privilege(category: "order", privilege: "query")'),
249
+ (0, type_graphql_1.Query)(returns => product_types_1.ProductList),
250
+ __param(0, (0, type_graphql_1.Args)()),
251
+ __param(1, (0, type_graphql_1.Ctx)()),
252
+ __metadata("design:type", Function),
253
+ __metadata("design:paramtypes", [typeof (_d = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _d : Object, Object]),
254
+ __metadata("design:returntype", Promise)
255
+ ], ProductQuery.prototype, "pureProductsByBizplace", null);
260
256
  __decorate([
261
257
  (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
262
258
  __param(0, (0, type_graphql_1.Root)()),
@@ -264,6 +260,13 @@ __decorate([
264
260
  __metadata("design:paramtypes", [product_1.Product]),
265
261
  __metadata("design:returntype", Promise)
266
262
  ], ProductQuery.prototype, "domain", null);
263
+ __decorate([
264
+ (0, type_graphql_1.FieldResolver)(type => biz_base_1.Bizplace),
265
+ __param(0, (0, type_graphql_1.Root)()),
266
+ __metadata("design:type", Function),
267
+ __metadata("design:paramtypes", [product_1.Product]),
268
+ __metadata("design:returntype", Promise)
269
+ ], ProductQuery.prototype, "bizplace", null);
267
270
  __decorate([
268
271
  (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
269
272
  __param(0, (0, type_graphql_1.Root)()),
@@ -278,6 +281,20 @@ __decorate([
278
281
  __metadata("design:paramtypes", [product_1.Product]),
279
282
  __metadata("design:returntype", Promise)
280
283
  ], ProductQuery.prototype, "updater", null);
284
+ __decorate([
285
+ (0, type_graphql_1.FieldResolver)(type => product_1.Product),
286
+ __param(0, (0, type_graphql_1.Root)()),
287
+ __metadata("design:type", Function),
288
+ __metadata("design:paramtypes", [product_1.Product]),
289
+ __metadata("design:returntype", Promise)
290
+ ], ProductQuery.prototype, "parentProductRef", null);
291
+ __decorate([
292
+ (0, type_graphql_1.FieldResolver)(type => product_1.Product),
293
+ __param(0, (0, type_graphql_1.Root)()),
294
+ __metadata("design:type", Function),
295
+ __metadata("design:paramtypes", [product_1.Product]),
296
+ __metadata("design:returntype", Promise)
297
+ ], ProductQuery.prototype, "productRef", null);
281
298
  __decorate([
282
299
  (0, type_graphql_1.FieldResolver)(type => String),
283
300
  __param(0, (0, type_graphql_1.Root)()),
@@ -285,8 +302,35 @@ __decorate([
285
302
  __metadata("design:paramtypes", [product_1.Product]),
286
303
  __metadata("design:returntype", Promise)
287
304
  ], ProductQuery.prototype, "thumbnail", null);
305
+ __decorate([
306
+ __param(0, (0, type_graphql_1.Root)()),
307
+ __metadata("design:type", Function),
308
+ __metadata("design:paramtypes", [product_1.Product]),
309
+ __metadata("design:returntype", String)
310
+ ], ProductQuery.prototype, "productInformation", null);
288
311
  ProductQuery = __decorate([
289
312
  (0, type_graphql_1.Resolver)(product_1.Product)
290
313
  ], ProductQuery);
291
314
  exports.ProductQuery = ProductQuery;
315
+ function buildCustomConditions(params, context, bizplaces) {
316
+ const deletedFilter = params.filters.find(x => x.name == 'deleted');
317
+ const productFilters = params.filters.find(x => x.name == 'product_info');
318
+ const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand'];
319
+ params.filters = [
320
+ ...params.filters.filter(x => ['product_info', 'bizplace', 'bizplace_id', 'deleted'].indexOf(x.name) == -1),
321
+ { name: 'deletedAt', operator: (deletedFilter === null || deletedFilter === void 0 ? void 0 : deletedFilter.value) ? 'is_not_null' : 'is_null' },
322
+ { name: 'bizplace_id', operator: 'in', value: bizplaces.map(bizplace => bizplace.id) }
323
+ ];
324
+ const qb = (0, typeorm_1.getRepository)(product_1.Product).createQueryBuilder();
325
+ (0, shell_1.buildQuery)(qb, params, context, false);
326
+ if (productFilters) {
327
+ qb.andWhere(new typeorm_1.Brackets(qb2 => {
328
+ productFilterColumns.forEach(filter => {
329
+ const condition = (0, shell_1.buildCondition)(qb.alias, filter, productFilters.operator, productFilters.value, productFilters.relation, Object.keys(qb.getParameters()).length);
330
+ qb2.orWhere(condition.clause, condition.parameters);
331
+ });
332
+ }));
333
+ }
334
+ return qb;
335
+ }
292
336
  //# sourceMappingURL=product-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-query.js","sourceRoot":"","sources":["../../../server/service/product/product-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-query.js","sourceRoot":"","sources":["../../../server/service/product/product-query.ts"],"names":[],"mappings":"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"}
@@ -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)(),
@@ -414,11 +489,16 @@ __decorate([
414
489
  (0, type_graphql_1.Field)(type => String, { nullable: true }),
415
490
  __metadata("design:type", String)
416
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);
417
496
  Product = Product_1 = __decorate([
418
497
  (0, typeorm_1.Entity)(),
419
498
  (0, typeorm_1.Index)('ix_product_0', (product) => [product.domain, product.bizplace, product.name, product.description, product.weight], { unique: true }),
420
499
  (0, typeorm_1.Index)('ix_product_1', (product) => [product.bizplace]),
421
- (0, type_graphql_1.ObjectType)()
500
+ (0, type_graphql_1.ObjectType)(),
501
+ __metadata("design:paramtypes", [Object])
422
502
  ], Product);
423
503
  exports.Product = Product;
424
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.39",
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.39",
28
- "@things-factory/routing-base": "^4.0.39"
27
+ "@things-factory/biz-base": "^4.0.40",
28
+ "@things-factory/routing-base": "^4.0.40"
29
29
  },
30
- "gitHead": "a4f93ea85a26cf70ae0aa2fcd298aa59b55dd039"
30
+ "gitHead": "f0697b5ab411e4aa1a52de19a6c135f39686eca1"
31
31
  }
@@ -1,19 +1,5 @@
1
- import {
2
- Arg,
3
- Args,
4
- Ctx,
5
- Directive,
6
- FieldResolver,
7
- Query,
8
- Resolver,
9
- Root
10
- } from 'type-graphql'
11
- import {
12
- Brackets,
13
- getRepository,
14
- In,
15
- SelectQueryBuilder
16
- } from 'typeorm'
1
+ import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
+ import { Brackets, getRepository, In, SelectQueryBuilder } from 'typeorm'
17
3
 
18
4
  import { Attachment } from '@things-factory/attachment-base'
19
5
  import { User } from '@things-factory/auth-base'
@@ -25,12 +11,7 @@ import {
25
11
  getPartnersCompanyBizplaces,
26
12
  getPermittedBizplaceIds
27
13
  } from '@things-factory/biz-base'
28
- import {
29
- buildCondition,
30
- buildQuery,
31
- Domain,
32
- ListParam
33
- } from '@things-factory/shell'
14
+ import { buildCondition, buildQuery, Domain, ListParam } from '@things-factory/shell'
34
15
 
35
16
  import { ProductDetail } from '../product-detail/product-detail'
36
17
  import { Product } from './product'
@@ -69,28 +50,14 @@ export class ProductQuery {
69
50
  async products(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {
70
51
  const { domain, user }: { domain: Domain; user: User } = context.state
71
52
  const { domains }: { domains: Domain[] } = user
72
-
73
- const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder()
74
-
75
- const productFilters = params.filters.filter(x => x.name == 'product_info')
76
- const filters = params.filters.filter(x => x.name != 'product_info')
77
- const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']
53
+ let bizplaces: Bizplace[]
78
54
 
79
55
  if (!params.filters.find((filter: any) => filter.name === 'bizplace_id')) {
80
56
  const warehouseDomain: Domain = domain
81
57
  const companiesBizplaces: Bizplace[] = await getCompaniesBizplaces(domains, warehouseDomain)
82
58
  const partnersCompanyBizplaces: Bizplace[] = await getPartnersCompanyBizplaces(domain, user)
83
59
 
84
- const companyBizIds: string[] = companiesBizplaces.map((biz: Bizplace) => biz.id)
85
-
86
- params.filters = [
87
- ...filters,
88
- {
89
- name: 'bizplace_id',
90
- operator: 'in',
91
- value: [...companyBizIds, ...partnersCompanyBizplaces.map(biz => biz.id)]
92
- }
93
- ]
60
+ bizplaces = [...companiesBizplaces, ...partnersCompanyBizplaces]
94
61
  } else {
95
62
  const bizplaceId: string[] = params.filters.filter(param => param.name == 'bizplace_id').map(item => item.value)
96
63
 
@@ -103,45 +70,15 @@ export class ProductQuery {
103
70
  const companyDomain: Domain = foundBizplace.company?.domain
104
71
  const companyBizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain: companyDomain } })
105
72
 
106
- params.filters
107
- .filter(x => x.name == 'bizplace_id')
108
- .map(itm => {
109
- itm.operator = 'in'
110
- itm.value = [companyBizplace.id, foundBizplace.id]
111
- })
73
+ bizplaces = [companyBizplace, foundBizplace]
112
74
  }
113
75
  }
114
76
 
115
- params.filters = [...filters, { name: 'deletedAt', operator: 'is_null' }]
116
-
117
- buildQuery(qb, params, context, false)
118
- if (productFilters && productFilters.length > 0) {
119
- let productInfo = productFilters[0]
120
- qb.andWhere(
121
- new Brackets(qb2 => {
122
- productFilterColumns.forEach(filter => {
123
- const condition = buildCondition(
124
- qb.alias,
125
- filter,
126
- productInfo.operator,
127
- productInfo.value,
128
- productInfo.relation,
129
- Object.keys(qb.getParameters()).length
130
- )
131
-
132
- qb2.orWhere(condition.clause, condition.parameters)
133
- })
134
- })
135
- )
136
- }
77
+ const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)
137
78
 
138
79
  let [items, total] = await qb
139
- .leftJoinAndSelect('Product.bizplace', 'Bizplace')
140
- .leftJoinAndSelect('Product.productRef', 'ProductRef')
141
80
  .leftJoinAndSelect('Product.productDetails', 'ProductDetails')
142
81
  .leftJoinAndSelect('ProductDetails.childProductDetail', 'ChildProductDetail')
143
- .leftJoinAndSelect('Product.creator', 'Creator')
144
- .leftJoinAndSelect('Product.updater', 'Updater')
145
82
  .getManyAndCount()
146
83
 
147
84
  return { items, total }
@@ -151,53 +88,16 @@ export class ProductQuery {
151
88
  @Query(returns => ProductList)
152
89
  async myBizplaceProducts(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {
153
90
  const { domain, user }: { domain: Domain; user: User } = context.state
91
+ const bizplaceFilter = params.filters.find(filter => filter.name === 'bizplace_id')
154
92
 
155
- const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder()
156
-
157
- const productFilters = params.filters.filter(x => x.name == 'product_info')
158
- const deletedFilter = params.filters.find(x => x.name == 'deleted')
159
- const filters = params.filters.filter(x => x.name != 'product_info' && x.name != 'deleted')
160
- const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']
161
-
162
- if (!params.filters.find(filter => filter.name === 'bizplace_id')) {
163
- // const companyBizplace: Bizplace = await getCompanyBizplace(domain, user)
164
- let bizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { domain } })
165
- 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 } }))
166
96
  }
167
97
 
168
- params.filters = [
169
- ...params.filters,
170
- { name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' }
171
- ]
172
-
173
- buildQuery(qb, params, context, false)
174
- if (productFilters && productFilters.length > 0) {
175
- let productInfo = productFilters[0]
176
- qb.andWhere(
177
- new Brackets(qb2 => {
178
- productFilterColumns.forEach(filter => {
179
- const condition = buildCondition(
180
- qb.alias,
181
- filter,
182
- productInfo.operator,
183
- productInfo.value,
184
- productInfo.relation,
185
- Object.keys(qb.getParameters()).length
186
- )
187
-
188
- qb2.orWhere(condition.clause, condition.parameters)
189
- })
190
- })
191
- )
192
- }
98
+ const qb: SelectQueryBuilder<Product> = buildCustomConditions(params, context, bizplaces)
193
99
 
194
- let [items, total] = await qb
195
- .leftJoinAndSelect('Product.bizplace', 'Bizplace')
196
- .leftJoinAndSelect('Product.productRef', 'ProductRef')
197
- .leftJoinAndSelect('Product.parentProductRef', 'ParentProductRef')
198
- .leftJoinAndSelect('Product.productDetails', 'ProductDetails')
199
- .leftJoinAndSelect('Product.updater', 'Updater')
200
- .getManyAndCount()
100
+ let [items, total] = await qb.leftJoinAndSelect('Product.productDetails', 'ProductDetails').getManyAndCount()
201
101
 
202
102
  items = items.map(itm => {
203
103
  let defaultProductDetail = itm.productDetails.find(itm => itm.isDefault)
@@ -214,68 +114,31 @@ export class ProductQuery {
214
114
  @Query(returns => ProductList)
215
115
  async productsByBizplace(@Args() params: ListParam, @Ctx() context: any): Promise<ProductList> {
216
116
  const { domain, user }: { domain: Domain; user: User } = context.state
217
- try {
218
- const qb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder()
219
-
220
- const productFilters = params.filters.filter(x => x.name == 'product_info')
221
- const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')
222
- const deletedFilter = params.filters.find(x => x.name == 'deleted')
223
- const filters = params.filters.filter(
224
- x => x.name != 'product_info' && x.name != 'bizplace' && x.name != 'deleted'
225
- )
226
- const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']
117
+ const bizplaceFilter = params.filters.find(x => x.name == 'bizplace')
227
118
 
228
- let companyBizplace: Bizplace, myBizplace: Bizplace
119
+ try {
120
+ let bizplaces: Bizplace[]
229
121
  if (!bizplaceFilter || bizplaceFilter.value == '') {
230
- myBizplace = await getMyBizplace(domain, user)
231
- companyBizplace = await getCompanyBizplace(domain, user)
122
+ bizplaces = [await getMyBizplace(domain, user), await getCompanyBizplace(domain, user)]
232
123
  } else {
233
- myBizplace = await getRepository(Bizplace).findOne(bizplaceFilter.value, {
124
+ let myBizplace: Bizplace = await getRepository(Bizplace).findOne(bizplaceFilter.value, {
234
125
  relations: ['company', 'company.domain']
235
126
  })
236
- companyBizplace = await getRepository(Bizplace).findOne({
237
- where: { domain: myBizplace.company.domain }
238
- })
239
- }
240
127
 
241
- params.filters = [
242
- ...filters,
243
- { name: 'deletedAt', operator: deletedFilter?.value ? 'is_not_null' : 'is_null' },
244
- ,
245
- { name: 'bizplace_id', operator: 'in', value: [companyBizplace.id, myBizplace.id] }
246
- ]
247
-
248
- buildQuery(qb, params, context, false)
249
- if (productFilters && productFilters.length > 0) {
250
- let productInfo = productFilters[0]
251
- qb.andWhere(
252
- new Brackets(qb2 => {
253
- productFilterColumns.forEach(filter => {
254
- const condition = buildCondition(
255
- qb.alias,
256
- filter,
257
- productInfo.operator,
258
- productInfo.value,
259
- productInfo.relation,
260
- Object.keys(qb.getParameters()).length
261
- )
262
-
263
- qb2.orWhere(condition.clause, condition.parameters)
264
- })
128
+ bizplaces = [
129
+ myBizplace,
130
+ await getRepository(Bizplace).findOne({
131
+ where: { domain: myBizplace.company.domain }
265
132
  })
266
- )
133
+ ]
267
134
  }
268
135
 
269
- qb.leftJoinAndSelect('Product.bizplace', 'Bizplace')
270
- .leftJoinAndSelect('Product.productRef', 'ProductRef')
271
- .leftJoinAndSelect('Product.parentProductRef', 'ParentProductRef')
272
- .leftJoinAndSelect('Product.productDetails', 'ProductDetails')
273
- .leftJoinAndSelect('Product.creator', 'Creator')
274
- .leftJoinAndSelect('Product.updater', 'Updater')
275
- 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()
276
139
 
277
140
  items = items.map(itm => {
278
- let defaultProductDetail = itm.productDetails.find(itm => itm.isDefault)
141
+ let defaultProductDetail = itm.productDetails?.find(itm => itm.isDefault)
279
142
  return {
280
143
  ...itm,
281
144
  ...new ProductDetail(defaultProductDetail, true)
@@ -288,19 +151,79 @@ export class ProductQuery {
288
151
  }
289
152
  }
290
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
+
291
193
  @FieldResolver(type => Domain)
292
194
  async domain(@Root() product: Product): Promise<Domain> {
293
- 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
294
203
  }
295
204
 
296
205
  @FieldResolver(type => User)
297
206
  async creator(@Root() product: Product): Promise<User> {
298
- return await getRepository(User).findOne(product.creatorId)
207
+ if (product.creatorId) return await getRepository(User).findOne(product.creatorId)
208
+ else return null
299
209
  }
300
210
 
301
211
  @FieldResolver(type => User)
302
212
  async updater(@Root() product: Product): Promise<User> {
303
- 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
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
304
227
  }
305
228
 
306
229
  @FieldResolver(type => String)
@@ -314,4 +237,43 @@ export class ProductQuery {
314
237
 
315
238
  return attachment?.fullpath
316
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
317
279
  }
@@ -1,9 +1,4 @@
1
- import {
2
- Field,
3
- Float,
4
- ID,
5
- ObjectType
6
- } from 'type-graphql'
1
+ import { Field, Float, ID, ObjectType } from 'type-graphql'
7
2
  import {
8
3
  Column,
9
4
  CreateDateColumn,
@@ -44,6 +39,15 @@ export class Product {
44
39
  @RelationId((product: Product) => product.domain)
45
40
  domainId: string
46
41
 
42
+ @RelationId((product: Product) => product.bizplace)
43
+ bizplaceId: string
44
+
45
+ @RelationId((product: Product) => product.productRef)
46
+ productRefId: string
47
+
48
+ @RelationId((product: Product) => product.parentProductRef)
49
+ parentProductRefId: string
50
+
47
51
  @ManyToOne(type => Bizplace)
48
52
  @Field()
49
53
  bizplace: Bizplace
@@ -385,4 +389,70 @@ export class Product {
385
389
 
386
390
  @Field(type => String, { nullable: true })
387
391
  thumbnail?: string
392
+ @Field({ nullable: true })
393
+ productInformation: String
394
+
395
+ constructor(obj?) {
396
+ if (obj) {
397
+ this.id = obj.Product_id
398
+ this.sku = obj.Product_sku
399
+ this.name = obj.Product_name
400
+ this.description = obj.Product_description
401
+ this.bundleQty = obj.Product_bundle_qty
402
+ this.type = obj.Product_type
403
+ this.packingType = obj.Product_packing_type
404
+ this.expirationPeriod = obj.Product_expiration_period
405
+ this.weightUnit = obj.Product_weight_unit
406
+ this.weight = obj.Product_weight
407
+ this.density = obj.Product_density
408
+ this.lengthUnit = obj.Product_length_unit
409
+ this.costPrice = obj.Product_cost_price
410
+ this.sellPrice = obj.Product_sell_price
411
+ this.width = obj.Product_width
412
+ this.depth = obj.Product_depth
413
+ this.height = obj.Product_height
414
+ this.primaryUnit = obj.Product_primary_unit
415
+ this.primaryValue = obj.Product_primary_value
416
+ this.auxUnit1 = obj.Product_aux_unit_1
417
+ this.auxValue1 = obj.Product_aux_value_1
418
+ this.auxUnit2 = obj.Product_aux_unit_2
419
+ this.auxValue2 = obj.Product_aux_value_2
420
+ this.auxUnit3 = obj.Product_aux_unit_3
421
+ this.auxValue3 = obj.Product_aux_value_3
422
+ this.createdAt = obj.Product_created_at
423
+ this.updatedAt = obj.Product_updated_at
424
+ this.movement = obj.Product_movement
425
+ this.inventoryAccountCode = obj.Product_inventory_account_code
426
+ this.cogsAccountCode = obj.Product_cogs_account_code
427
+ this.isTrackedAsInventory = obj.Product_is_tracked_as_inventory
428
+ this.mrpPrice = obj.Product_mrp_price
429
+ this.afterTaxCostPrice = obj.Product_after_tax_cost_price
430
+ this.afterTaxSalesPrice = obj.Product_after_tax_sales_price
431
+ this.bufferQty = obj.Product_buffer_qty
432
+ this.discountId = obj.Product_discount_id
433
+ this.status = obj.Product_status
434
+ this.brandSku = obj.Product_brand_sku
435
+ this.brand = obj.Product_brand
436
+ this.subBrand = obj.Product_sub_brand
437
+ this.gtin = obj.Product_gtin
438
+ this.caseGtin = obj.Product_case_gtin
439
+ this.grossWeight = obj.Product_gross_weight
440
+ this.caseWeight = obj.Product_case_weight
441
+ this.caseGrossWeight = obj.Product_case_gross_weight
442
+ this.volume = obj.Product_volume
443
+ this.caseWidth = obj.Product_case_width
444
+ this.caseDepth = obj.Product_case_depth
445
+ this.caseHeight = obj.Product_case_height
446
+ this.caseVolume = obj.Product_case_volume
447
+ this.volumeSize = obj.Product_volume_size
448
+ this.minQty = obj.Product_min_qty
449
+ this.maxQty = obj.Product_max_qty
450
+ this.isCompany = obj.Product_is_company
451
+ this.deletedAt = obj.Product_deleted_at
452
+ this.isRequiredCheckExpiry = obj.Product_is_required_check_expiry
453
+ this.isRequireSerialNumberScanning = obj.Product_is_require_serial_number_scanning
454
+ this.bizplace = { id: obj.Product_bizplace_id }
455
+ this.domain = { id: obj.Product_domain_id }
456
+ }
457
+ }
388
458
  }