@things-factory/product-base 8.0.6 → 9.0.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist-server/service/product/product-mutation.js +1 -1
  2. package/dist-server/service/product/product-mutation.js.map +1 -1
  3. package/dist-server/service/product/product-query.d.ts +1 -1
  4. package/dist-server/service/product/product-query.js +5 -7
  5. package/dist-server/service/product/product-query.js.map +1 -1
  6. package/dist-server/service/product/product-types.d.ts +2 -8
  7. package/dist-server/service/product/product-types.js +2 -26
  8. package/dist-server/service/product/product-types.js.map +1 -1
  9. package/dist-server/service/product/product.d.ts +2 -7
  10. package/dist-server/service/product/product.js +1 -24
  11. package/dist-server/service/product/product.js.map +1 -1
  12. package/dist-server/tsconfig.tsbuildinfo +1 -1
  13. package/package.json +5 -5
  14. package/server/constants/index.ts +0 -1
  15. package/server/constants/product.ts +0 -24
  16. package/server/controllers/index.ts +0 -0
  17. package/server/index.ts +0 -2
  18. package/server/middlewares/index.ts +0 -0
  19. package/server/migrations/index.ts +0 -9
  20. package/server/service/index.ts +0 -61
  21. package/server/service/product/index.ts +0 -6
  22. package/server/service/product/product-mutation.ts +0 -407
  23. package/server/service/product/product-query.ts +0 -338
  24. package/server/service/product/product-types.ts +0 -470
  25. package/server/service/product/product.ts +0 -562
  26. package/server/service/product/validate-product.ts +0 -42
  27. package/server/service/product-bundle/index.ts +0 -6
  28. package/server/service/product-bundle/product-bundle-mutation.ts +0 -140
  29. package/server/service/product-bundle/product-bundle-query.ts +0 -104
  30. package/server/service/product-bundle/product-bundle-types.ts +0 -51
  31. package/server/service/product-bundle/product-bundle.ts +0 -102
  32. package/server/service/product-bundle-setting/index.ts +0 -6
  33. package/server/service/product-bundle-setting/product-bundle-setting-mutation.ts +0 -168
  34. package/server/service/product-bundle-setting/product-bundle-setting-query.ts +0 -139
  35. package/server/service/product-bundle-setting/product-bundle-setting-types.ts +0 -41
  36. package/server/service/product-bundle-setting/product-bundle-setting.ts +0 -45
  37. package/server/service/product-combination/index.ts +0 -6
  38. package/server/service/product-combination/product-combination-mutation.ts +0 -148
  39. package/server/service/product-combination/product-combination-query.ts +0 -48
  40. package/server/service/product-combination/product-combination-type.ts +0 -50
  41. package/server/service/product-combination/product-combination.ts +0 -116
  42. package/server/service/product-combination-setting/index.ts +0 -6
  43. package/server/service/product-combination-setting/product-combination-setting-mutation.ts +0 -248
  44. package/server/service/product-combination-setting/product-combination-setting-query.ts +0 -176
  45. package/server/service/product-combination-setting/product-combination-setting-type.ts +0 -44
  46. package/server/service/product-combination-setting/product-combination-setting.ts +0 -77
  47. package/server/service/product-detail/index.ts +0 -6
  48. package/server/service/product-detail/product-detail-mutation.ts +0 -238
  49. package/server/service/product-detail/product-detail-query.ts +0 -213
  50. package/server/service/product-detail/product-detail-types.ts +0 -280
  51. package/server/service/product-detail/product-detail.ts +0 -388
  52. package/server/service/product-detail-bizplace-setting/index.ts +0 -6
  53. package/server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-mutation.ts +0 -118
  54. package/server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-query.ts +0 -90
  55. package/server/service/product-detail-bizplace-setting/product-detail-bizplace-setting-types.ts +0 -62
  56. package/server/service/product-detail-bizplace-setting/product-detail-bizplace-setting.ts +0 -104
  57. package/server/service/product-set/index.ts +0 -6
  58. package/server/service/product-set/product-set-mutation.ts +0 -149
  59. package/server/service/product-set/product-set-query.ts +0 -114
  60. package/server/service/product-set/product-set-types.ts +0 -45
  61. package/server/service/product-set/product-set.ts +0 -95
  62. package/server/utils/index.ts +0 -1
  63. package/server/utils/product-util.ts +0 -11
@@ -1,562 +0,0 @@
1
- import { Field, Float, ID, ObjectType } from 'type-graphql'
2
- import {
3
- Column,
4
- CreateDateColumn,
5
- Entity,
6
- Index,
7
- ManyToOne,
8
- OneToMany,
9
- PrimaryGeneratedColumn,
10
- RelationId,
11
- UpdateDateColumn
12
- } from 'typeorm'
13
-
14
- import { User } from '@things-factory/auth-base'
15
- import { Bizplace, ContactPoint } from '@things-factory/biz-base'
16
- import { config } from '@things-factory/env'
17
- import { Routing } from '@things-factory/routing-base'
18
- import { Domain, roundTransformer } from '@things-factory/shell'
19
-
20
- import { ProductDetail } from '../product-detail/product-detail'
21
- import { ProductSet } from '../product-set/product-set'
22
-
23
- const ORMCONFIG = config.get('ormconfig', {})
24
- const DATABASE_TYPE = ORMCONFIG.type
25
-
26
- export enum pickStrategy {
27
- FIFO = 'FIFO',
28
- FEFO = 'FEFO',
29
- FMFO = 'FMFO',
30
- LIFO = 'LIFO',
31
- LOCATION = 'LOCATION'
32
- }
33
-
34
- @Entity()
35
- @Index(
36
- 'ix_product_0',
37
- (product: Product) => [product.domain, product.bizplace, product.name, product.description, product.weight],
38
- { unique: true }
39
- )
40
- @Index('ix_product_1', (product: Product) => [product.bizplace])
41
- @ObjectType()
42
- export class Product {
43
- @PrimaryGeneratedColumn('uuid')
44
- @Field(type => ID, { nullable: true })
45
- id: string
46
-
47
- @ManyToOne(type => Domain)
48
- @Field(type => Domain)
49
- domain: Domain
50
-
51
- @RelationId((product: Product) => product.domain)
52
- domainId: string
53
-
54
- @RelationId((product: Product) => product.bizplace)
55
- bizplaceId: string
56
-
57
- @RelationId((product: Product) => product.productRef)
58
- productRefId: string
59
-
60
- @RelationId((product: Product) => product.parentProductRef)
61
- parentProductRefId: string
62
-
63
- @ManyToOne(type => Bizplace)
64
- @Field()
65
- bizplace: Bizplace
66
-
67
- @Column({ default: false })
68
- @Field()
69
- isCompany: boolean
70
-
71
- @Column()
72
- @Field({ nullable: true })
73
- sku: string
74
-
75
- @Column({ nullable: true })
76
- @Field({ nullable: true })
77
- brandSku: string
78
-
79
- @Column({ nullable: true })
80
- @Field({ nullable: true })
81
- brand: string
82
-
83
- @Column({ nullable: true })
84
- @Field({ nullable: true })
85
- subBrand: string
86
-
87
- // 입고 단위
88
- @Column({ nullable: true })
89
- @Field({ nullable: true })
90
- inboundUnit?: string
91
-
92
- // 변환 kg
93
- @Column('float', { nullable: true, default: 1, transformer: roundTransformer })
94
- @Field({ nullable: true })
95
- convertWeight?: number
96
-
97
- // 박스입수
98
- @Column('float', { nullable: true, default: 0, transformer: roundTransformer })
99
- @Field({ nullable: true })
100
- boxInQty?: number
101
-
102
- // 제품군
103
- @Column({ nullable: true })
104
- @Field({ nullable: true })
105
- category?: string
106
-
107
- // 경매입고
108
- @Column({ nullable: true, default: false })
109
- @Field({ nullable: true })
110
- isAuction?: boolean
111
-
112
- // 바코드
113
- @Column({ nullable: true })
114
- @Field({ nullable: true })
115
- barcode?: string
116
-
117
- //// To be removed ////
118
- @Column({ nullable: true })
119
- @Field({ nullable: true })
120
- gtin: string
121
-
122
- //// To be removed ////
123
- @Column({ nullable: true })
124
- @Field({ nullable: true })
125
- caseGtin: string
126
-
127
- @Column({ nullable: true })
128
- @Field({ nullable: true })
129
- name: string
130
-
131
- @Column()
132
- @Field()
133
- type: string
134
-
135
- //// To be removed ////
136
- @Column({ nullable: true })
137
- @Field({ nullable: true })
138
- packingType: string
139
-
140
- @Column({ nullable: true })
141
- @Field({ nullable: true })
142
- description: string
143
-
144
- @OneToMany(type => ProductDetail, productDetails => productDetails.product, { nullable: true })
145
- @Field(type => [ProductDetail], { nullable: true })
146
- productDetails: ProductDetail[]
147
-
148
- @ManyToOne(type => Product, { nullable: true })
149
- @Field({ nullable: true })
150
- productRef: Product
151
-
152
- //// To be removed ////
153
- @ManyToOne(type => Product, { nullable: true })
154
- @Field({ nullable: true })
155
- parentProductRef: Product
156
-
157
- //// To be removed ////
158
- @OneToMany(type => Product, product => product.parentProductRef, { nullable: true })
159
- @Field(type => [Product], { nullable: true })
160
- childProducts: Product[]
161
-
162
- @ManyToOne(type => ContactPoint, { nullable: true })
163
- @Field({ nullable: true })
164
- deliverTo: ContactPoint
165
-
166
- @RelationId((product: Product) => product.deliverTo)
167
- deliverToId: string
168
-
169
- @ManyToOne(type => ContactPoint, { nullable: true })
170
- @Field({ nullable: true })
171
- manufacturedBy: ContactPoint
172
-
173
- @RelationId((product: Product) => product.manufacturedBy)
174
- manufacturedById: string
175
-
176
- //// To be removed ////
177
- @Column('float', { nullable: true, transformer: roundTransformer })
178
- @Field({ nullable: true })
179
- bundleQty: number
180
-
181
- //// To be removed ////
182
- @Column({ nullable: true })
183
- @Field({ nullable: true })
184
- expirationPeriod: number
185
-
186
- //// To be removed ////
187
- @Column({ nullable: true })
188
- @Field({ nullable: true })
189
- weightUnit: string
190
-
191
- //// To be removed ////
192
- @Column('float', { nullable: true, transformer: roundTransformer })
193
- @Field({ nullable: true })
194
- weight: number
195
-
196
- //// To be removed ////
197
- @Column('float', { nullable: true, transformer: roundTransformer })
198
- @Field({ nullable: true })
199
- grossWeight: number
200
-
201
- //// To be removed ////
202
- @Column('float', { nullable: true, transformer: roundTransformer })
203
- @Field({ nullable: true })
204
- caseWeight: number
205
-
206
- //// To be removed ////
207
- @Column('float', { nullable: true, transformer: roundTransformer })
208
- @Field({ nullable: true })
209
- caseGrossWeight: number
210
-
211
- //// To be removed ////
212
- @Column('float', { nullable: true, transformer: roundTransformer })
213
- @Field({ nullable: true })
214
- density: number
215
-
216
- //// To be removed ////
217
- @Column({ nullable: true })
218
- @Field({ nullable: true })
219
- lengthUnit: string
220
-
221
- //// To be removed ////
222
- @Column('float', { nullable: true, transformer: roundTransformer })
223
- @Field({ nullable: true })
224
- costPrice: number
225
-
226
- //// To be removed ////
227
- @Column('float', { nullable: true, transformer: roundTransformer })
228
- @Field({ nullable: true })
229
- mrpPrice: number
230
-
231
- //// To be removed ////
232
- @Column('float', { nullable: true, transformer: roundTransformer })
233
- @Field({ nullable: true })
234
- sellPrice: number
235
-
236
- //// To be removed ////
237
- @Column('float', { nullable: true, transformer: roundTransformer })
238
- @Field({ nullable: true })
239
- afterTaxCostPrice: number
240
-
241
- //// To be removed ////
242
- @Column('float', { nullable: true, transformer: roundTransformer })
243
- @Field({ nullable: true })
244
- afterTaxSalesPrice: number
245
-
246
- //// To be removed ////
247
- @Column('float', { nullable: true, transformer: roundTransformer })
248
- @Field({ nullable: true })
249
- width: number
250
-
251
- //// To be removed ////
252
- @Column('float', { nullable: true, transformer: roundTransformer })
253
- @Field({ nullable: true })
254
- depth: number
255
-
256
- //// To be removed ////
257
- @Column('float', { nullable: true, transformer: roundTransformer })
258
- @Field({ nullable: true })
259
- height: number
260
-
261
- //// To be removed ////
262
- @Column('float', { nullable: true, transformer: roundTransformer })
263
- @Field({ nullable: true })
264
- volume: number
265
-
266
- //// To be removed ////
267
- @Column('float', { nullable: true, transformer: roundTransformer })
268
- @Field({ nullable: true })
269
- caseWidth: number
270
-
271
- //// To be removed ////
272
- @Column('float', { nullable: true, transformer: roundTransformer })
273
- @Field({ nullable: true })
274
- caseDepth: number
275
-
276
- //// To be removed ////
277
- @Column('float', { nullable: true, transformer: roundTransformer })
278
- @Field({ nullable: true })
279
- caseHeight: number
280
-
281
- //// To be removed ////
282
- @Column('float', { nullable: true, transformer: roundTransformer })
283
- @Field({ nullable: true })
284
- caseVolume: number
285
-
286
- //// To be removed ////
287
- @Column({ nullable: true })
288
- @Field({ nullable: true })
289
- volumeSize: string
290
-
291
- //// To be removed ////
292
- @Column({ nullable: true })
293
- @Field({ nullable: true })
294
- primaryUnit: string
295
-
296
- //// To be removed ////
297
- @Column('float', { nullable: true, transformer: roundTransformer })
298
- @Field({ nullable: true })
299
- primaryValue: number
300
-
301
- //// To be removed ////
302
- @Column({ nullable: true })
303
- @Field({ nullable: true })
304
- auxUnit1: string
305
-
306
- //// To be removed ////
307
- @Column({ nullable: true })
308
- @Field({ nullable: true })
309
- auxValue1: string
310
-
311
- //// To be removed ////
312
- @Column({ nullable: true })
313
- @Field({ nullable: true })
314
- auxUnit2: string
315
-
316
- //// To be removed ////
317
- @Column({ nullable: true })
318
- @Field({ nullable: true })
319
- auxValue2: string
320
-
321
- //// To be removed ////
322
- @Column({ nullable: true })
323
- @Field({ nullable: true })
324
- auxUnit3: string
325
-
326
- //// To be removed ////
327
- @Column({ nullable: true })
328
- @Field({ nullable: true })
329
- auxValue3: string
330
-
331
- //// To be removed ////
332
- @Column({ nullable: true })
333
- @Field({ nullable: true })
334
- inventoryAccountCode: string
335
-
336
- //// To be removed ////
337
- @Column({ nullable: true })
338
- @Field({ nullable: true })
339
- cogsAccountCode: string
340
-
341
- //// To be removed ////
342
- @ManyToOne(type => ProductSet, productSet => productSet.product, { nullable: true })
343
- @Field({ nullable: true })
344
- productSet: ProductSet
345
-
346
- //// To be removed ////
347
- @Column({ nullable: true })
348
- @Field({ nullable: true })
349
- movement: string
350
-
351
- //// To be removed ////
352
- @Column({ nullable: true })
353
- @Field({ nullable: true })
354
- bufferQty: number
355
-
356
- //// To be removed ////
357
- @Column('float', { nullable: true, transformer: roundTransformer })
358
- @Field({ nullable: true })
359
- minQty: number
360
-
361
- //// To be removed ////
362
- @Column('float', { nullable: true, transformer: roundTransformer })
363
- @Field({ nullable: true })
364
- maxQty: number
365
-
366
- //// To be removed ////
367
- @Column({ nullable: true })
368
- @Field({ nullable: true })
369
- discountId: number
370
-
371
- //// To be removed ////
372
- @Column({ nullable: true })
373
- @Field({ nullable: true })
374
- status: string
375
-
376
- //// To be removed ////
377
- @Column({ nullable: true })
378
- @Field({ nullable: true })
379
- isTrackedAsInventory: boolean
380
-
381
- @Column({ default: false })
382
- @Field({ nullable: true })
383
- isRequiredCheckExpiry: boolean
384
-
385
- @Column({ default: false })
386
- @Field({ nullable: true })
387
- isRequireSerialNumberScanning: boolean
388
-
389
- @Column({ default: false })
390
- @Field({ nullable: true })
391
- isRequireSerialNumberScanningInbound: boolean
392
-
393
- @Column({ default: false })
394
- @Field({ nullable: true })
395
- isRequireSerialNumberScanningOutbound: boolean
396
-
397
- @Column({ nullable: true })
398
- @Field({ nullable: true })
399
- deletedAt: Date
400
-
401
- @Column({
402
- nullable: false,
403
- type:
404
- DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
405
- ? 'enum'
406
- : DATABASE_TYPE == 'oracle'
407
- ? 'varchar2'
408
- : DATABASE_TYPE == 'mssql'
409
- ? 'nvarchar'
410
- : 'varchar',
411
- enum:
412
- DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? pickStrategy : undefined,
413
- length: DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? undefined : 32,
414
- default: pickStrategy.FIFO
415
- })
416
- @Field()
417
- pickingStrategy: pickStrategy
418
-
419
- @Column({ nullable: true })
420
- @Field({ nullable: true })
421
- releaseType?: string
422
-
423
- @Field({ nullable: true })
424
- refCode: string
425
-
426
- @Field(type => Float, { nullable: true })
427
- nettWeight: number
428
-
429
- @Field({ nullable: true })
430
- uom: string
431
-
432
- @Field(type => Float, { nullable: true })
433
- uomValue: number
434
-
435
- @Field({ nullable: true })
436
- auxUnit4: string
437
-
438
- @Field({ nullable: true })
439
- auxValue4: string
440
-
441
- @Field({ nullable: true })
442
- auxUnit5: string
443
-
444
- @Field({ nullable: true })
445
- auxValue5: string
446
-
447
- @ManyToOne(type => User, { nullable: true })
448
- @Field({ nullable: true })
449
- creator: User
450
-
451
- @RelationId((product: Product) => product.creator)
452
- creatorId: string
453
-
454
- @ManyToOne(type => User, { nullable: true })
455
- @Field({ nullable: true })
456
- updater: User
457
-
458
- @RelationId((product: Product) => product.updater)
459
- updaterId: string
460
-
461
- @CreateDateColumn()
462
- @Field({ nullable: true })
463
- createdAt: Date
464
-
465
- @UpdateDateColumn()
466
- @Field({ nullable: true })
467
- updatedAt: Date
468
-
469
- @ManyToOne(type => Routing, { nullable: true })
470
- @Field({ nullable: true })
471
- routing?: Routing
472
-
473
- @RelationId((product: Product) => product.routing)
474
- routingId?: string
475
-
476
- @Column({ nullable: true })
477
- @Field(type => String, { nullable: true })
478
- warehouseId?: string
479
-
480
- @Field(type => String, { nullable: true })
481
- thumbnail?: string
482
-
483
- @Field({ nullable: true })
484
- productInformation: string
485
-
486
- @Field({ nullable: true })
487
- batchNo?: string
488
-
489
- @Field({ nullable: true })
490
- loadedQty: number
491
-
492
- constructor(obj?) {
493
- if (obj) {
494
- this.id = obj.product_id
495
- this.sku = obj.product_sku
496
- this.name = obj.product_name
497
- this.description = obj.product_description
498
- this.bundleQty = obj.product_bundle_qty
499
- this.type = obj.product_type
500
- this.packingType = obj.product_packing_type
501
- this.expirationPeriod = obj.product_expiration_period
502
- this.weightUnit = obj.product_weight_unit
503
- this.weight = obj.product_weight
504
- this.density = obj.product_density
505
- this.lengthUnit = obj.product_length_unit
506
- this.costPrice = obj.product_cost_price
507
- this.sellPrice = obj.product_sell_price
508
- this.width = obj.product_width
509
- this.depth = obj.product_depth
510
- this.height = obj.product_height
511
- this.primaryUnit = obj.product_primary_unit
512
- this.primaryValue = obj.product_primary_value
513
- this.auxUnit1 = obj.product_aux_unit_1
514
- this.auxValue1 = obj.product_aux_value_1
515
- this.auxUnit2 = obj.product_aux_unit_2
516
- this.auxValue2 = obj.product_aux_value_2
517
- this.auxUnit3 = obj.product_aux_unit_3
518
- this.auxValue3 = obj.product_aux_value_3
519
- this.createdAt = obj.product_created_at
520
- this.updatedAt = obj.product_updated_at
521
- this.movement = obj.product_movement
522
- this.inventoryAccountCode = obj.product_inventory_account_code
523
- this.cogsAccountCode = obj.product_cogs_account_code
524
- this.isTrackedAsInventory = obj.product_is_tracked_as_inventory
525
- this.mrpPrice = obj.product_mrp_price
526
- this.afterTaxCostPrice = obj.product_after_tax_cost_price
527
- this.afterTaxSalesPrice = obj.product_after_tax_sales_price
528
- this.bufferQty = obj.product_buffer_qty
529
- this.discountId = obj.product_discount_id
530
- this.status = obj.product_status
531
- this.brandSku = obj.product_brand_sku
532
- this.brand = obj.product_brand
533
- this.subBrand = obj.product_sub_brand
534
- this.gtin = obj.product_gtin
535
- this.caseGtin = obj.product_case_gtin
536
- this.grossWeight = obj.product_gross_weight
537
- this.caseWeight = obj.product_case_weight
538
- this.caseGrossWeight = obj.product_case_gross_weight
539
- this.volume = obj.product_volume
540
- this.caseWidth = obj.product_case_width
541
- this.caseDepth = obj.product_case_depth
542
- this.caseHeight = obj.product_case_height
543
- this.caseVolume = obj.product_case_volume
544
- this.volumeSize = obj.product_volume_size
545
- this.minQty = obj.product_min_qty
546
- this.maxQty = obj.product_max_qty
547
- this.isCompany = obj.product_is_company
548
- this.deletedAt = obj.product_deleted_at
549
- this.isRequiredCheckExpiry = obj.product_is_required_check_expiry
550
- this.isRequireSerialNumberScanning = obj.product_is_require_serial_number_scanning
551
- this.isRequireSerialNumberScanningInbound = obj.product_is_require_serial_number_scanning_inbound
552
- this.isRequireSerialNumberScanningOutbound = obj.product_is_require_serial_number_scanning_outbound
553
- this.bizplace = { id: obj.product_bizplace_id } as any
554
- this.domain = { id: obj.product_domain_id } as any
555
- this.inboundUnit = obj.product_inbound_unit
556
- this.convertWeight = obj.product_convert_weight
557
- this.category = obj.product_category
558
- this.boxInQty = obj.product_box_in_qty
559
- this.isAuction = obj.product_is_auction
560
- }
561
- }
562
- }
@@ -1,42 +0,0 @@
1
- import _ from 'lodash'
2
- import { EntityManager, IsNull, Not } from 'typeorm'
3
-
4
- import { User } from '@things-factory/auth-base'
5
- import { Domain } from '@things-factory/shell'
6
-
7
- import { Product } from './product'
8
-
9
- export async function validateProduct(product: Product, context: ResolverContext) {
10
- const { tx } = context.state
11
-
12
- let errors = []
13
-
14
- if (_.isEmpty(product.sku) || '') {
15
- errors.push('Product SKU is required')
16
- }
17
- if (_.isEmpty(product.name) || '') {
18
- errors.push('Product name is required')
19
- }
20
- if (_.isEmpty(product.type) || '') {
21
- errors.push('Product type is required')
22
- }
23
-
24
- if (
25
- (await tx.getRepository(Product).count({
26
- where: {
27
- sku: product.sku,
28
- bizplace: { id: product.bizplace.id },
29
- domain: { id: product.domain.id },
30
- id: product?.id == null ? Not(IsNull()) : Not(product.id)
31
- }
32
- })) > 0
33
- ) {
34
- errors.push('Duplicated SKU found.')
35
- }
36
-
37
- if (errors.length > 0) {
38
- throw new Error(errors.join(', '))
39
- }
40
-
41
- return true
42
- }
@@ -1,6 +0,0 @@
1
- import { ProductBundle } from './product-bundle'
2
- import { ProductBundleMutation } from './product-bundle-mutation'
3
- import { ProductBundleQuery } from './product-bundle-query'
4
-
5
- export const entities = [ProductBundle]
6
- export const resolvers = [ProductBundleQuery, ProductBundleMutation]