@ricado/api-client 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/ricado.api.client.js +1 -1
  2. package/lib/Controllers/Packhouse/Site/PackingLineController.js +2 -1
  3. package/lib/Controllers/Packhouse/Site/ReemoonSizerBatchController.js +915 -0
  4. package/lib/Controllers/Packhouse/Site/ReemoonSizerController.js +300 -0
  5. package/lib/Controllers/Packhouse/Site/ReemoonSizerOutletProductChangeController.js +885 -0
  6. package/lib/Controllers/Packhouse/Site/ReemoonSizerPackrunSummaryController.js +914 -0
  7. package/lib/Controllers/Packhouse/Site/index.js +12 -0
  8. package/lib/Models/Packhouse/Site/PackingLineModel.js +38 -1
  9. package/lib/Models/Packhouse/Site/ReemoonSizerBatchModel.js +547 -0
  10. package/lib/Models/Packhouse/Site/ReemoonSizerModel.js +1272 -0
  11. package/lib/Models/Packhouse/Site/ReemoonSizerOutletProductChangeModel.js +293 -0
  12. package/lib/Models/Packhouse/Site/ReemoonSizerPackrunSummaryModel.js +461 -0
  13. package/lib/Models/Packhouse/Site/index.js +12 -0
  14. package/lib/PackageVersion.js +1 -1
  15. package/lib/index.d.ts +7128 -5158
  16. package/package.json +1 -1
  17. package/src/Controllers/Packhouse/Site/PackingLineController.js +2 -1
  18. package/src/Controllers/Packhouse/Site/ReemoonSizerBatchController.js +1046 -0
  19. package/src/Controllers/Packhouse/Site/ReemoonSizerController.js +277 -0
  20. package/src/Controllers/Packhouse/Site/ReemoonSizerOutletProductChangeController.js +1016 -0
  21. package/src/Controllers/Packhouse/Site/ReemoonSizerPackrunSummaryController.js +1045 -0
  22. package/src/Controllers/Packhouse/Site/index.js +8 -0
  23. package/src/Models/Packhouse/Site/PackingLineModel.js +49 -1
  24. package/src/Models/Packhouse/Site/ReemoonSizerBatchModel.js +596 -0
  25. package/src/Models/Packhouse/Site/ReemoonSizerModel.js +1576 -0
  26. package/src/Models/Packhouse/Site/ReemoonSizerOutletProductChangeModel.js +280 -0
  27. package/src/Models/Packhouse/Site/ReemoonSizerPackrunSummaryModel.js +501 -0
  28. package/src/Models/Packhouse/Site/index.js +8 -0
  29. package/src/PackageVersion.js +1 -1
@@ -0,0 +1,1046 @@
1
+ /**
2
+ * File Auto-Generated by the RICADO Gen 4 PHP API Project
3
+ *
4
+ * Do Not Edit this File Manually!
5
+ */
6
+
7
+ import RequestHelper from '../../../RequestHelper';
8
+ import ReemoonSizerBatchModel from '../../../Models/Packhouse/Site/ReemoonSizerBatchModel';
9
+
10
+ /**
11
+ * Controller Class for Reemoon Sizer Batches
12
+ *
13
+ * @class
14
+ */
15
+ class ReemoonSizerBatchController
16
+ {
17
+ /**
18
+ * Retrieve a Reemoon Sizer Batch [GET /packhouse/sites/{siteId}/reemoon-sizer-batches/{id}]
19
+ *
20
+ * @static
21
+ * @public
22
+ * @param {number} siteId The Site ID
23
+ * @param {string} id The Reemoon Sizer Batch ID
24
+ * @return {Promise<ReemoonSizerBatchModel>}
25
+ */
26
+ static getOne(siteId, id)
27
+ {
28
+ return new Promise((resolve, reject) => {
29
+ RequestHelper.getRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches/${id}`)
30
+ .then((result) => {
31
+ let resolveValue = (function(){
32
+ return ReemoonSizerBatchModel.fromJSON(result, siteId);
33
+ }());
34
+
35
+ resolve(resolveValue);
36
+ })
37
+ .catch(error => reject(error));
38
+ });
39
+ }
40
+
41
+ /**
42
+ * Update a Reemoon Sizer Batch [PATCH /packhouse/sites/{siteId}/reemoon-sizer-batches/{id}]
43
+ *
44
+ * @static
45
+ * @public
46
+ * @param {number} siteId The Site ID
47
+ * @param {string} id The Reemoon Sizer Batch ID
48
+ * @param {ReemoonSizerBatchController.UpdateData} updateData The Reemoon Sizer Batch Update Data
49
+ * @return {Promise<ReemoonSizerBatchModel>}
50
+ */
51
+ static update(siteId, id, updateData)
52
+ {
53
+ return new Promise((resolve, reject) => {
54
+ RequestHelper.patchRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches/${id}`, updateData)
55
+ .then((result) => {
56
+ let resolveValue = (function(){
57
+ return ReemoonSizerBatchModel.fromJSON(result, siteId);
58
+ }());
59
+
60
+ resolve(resolveValue);
61
+ })
62
+ .catch(error => reject(error));
63
+ });
64
+ }
65
+
66
+ /**
67
+ * Delete a Reemoon Sizer Batch [DELETE /packhouse/sites/{siteId}/reemoon-sizer-batches/{id}]
68
+ *
69
+ * @static
70
+ * @public
71
+ * @param {number} siteId The Site ID
72
+ * @param {string} id The Reemoon Sizer Batch ID
73
+ * @return {Promise<boolean>}
74
+ */
75
+ static delete(siteId, id)
76
+ {
77
+ return new Promise((resolve, reject) => {
78
+ RequestHelper.deleteRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches/${id}`)
79
+ .then((result) => {
80
+ resolve(result ?? true);
81
+ })
82
+ .catch(error => reject(error));
83
+ });
84
+ }
85
+
86
+ /**
87
+ * Retrieve Comments [GET /packhouse/sites/{siteId}/reemoon-sizer-batches/{id}/comments]
88
+ *
89
+ * Retrieves Comments for a Reemoon Sizer Batch
90
+ *
91
+ * @static
92
+ * @public
93
+ * @param {number} siteId The Site ID
94
+ * @param {string} id The Reemoon Sizer Batch ID
95
+ * @return {Promise<Array<ReemoonSizerBatchController.CommentItem>>}
96
+ */
97
+ static getComments(siteId, id)
98
+ {
99
+ return new Promise((resolve, reject) => {
100
+ RequestHelper.getRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches/${id}/comments`)
101
+ .then((result) => {
102
+ let resolveValue = (function(){
103
+ if(Array.isArray(result) !== true)
104
+ {
105
+ return [];
106
+ }
107
+
108
+ return result.map((resultItem) => {
109
+ return (function(){
110
+ let resultItemObject = {};
111
+
112
+ if(typeof resultItem === 'object' && 'id' in resultItem)
113
+ {
114
+ resultItemObject.id = (function(){
115
+ if(typeof resultItem.id !== 'string')
116
+ {
117
+ return String(resultItem.id);
118
+ }
119
+
120
+ return resultItem.id;
121
+ }());
122
+ }
123
+ else
124
+ {
125
+ resultItemObject.id = "";
126
+ }
127
+
128
+ if(typeof resultItem === 'object' && 'userAccount' in resultItem)
129
+ {
130
+ resultItemObject.userAccount = (function(){
131
+ let userAccountObject = {};
132
+
133
+ if(typeof resultItem.userAccount === 'object' && 'id' in resultItem.userAccount)
134
+ {
135
+ userAccountObject.id = (function(){
136
+ if(resultItem.userAccount.id === null)
137
+ {
138
+ return null;
139
+ }
140
+
141
+ if(typeof resultItem.userAccount.id !== 'string')
142
+ {
143
+ return String(resultItem.userAccount.id);
144
+ }
145
+
146
+ return resultItem.userAccount.id;
147
+ }());
148
+ }
149
+ else
150
+ {
151
+ userAccountObject.id = null;
152
+ }
153
+
154
+ if(typeof resultItem.userAccount === 'object' && 'firstName' in resultItem.userAccount)
155
+ {
156
+ userAccountObject.firstName = (function(){
157
+ if(resultItem.userAccount.firstName === null)
158
+ {
159
+ return null;
160
+ }
161
+
162
+ if(typeof resultItem.userAccount.firstName !== 'string')
163
+ {
164
+ return String(resultItem.userAccount.firstName);
165
+ }
166
+
167
+ return resultItem.userAccount.firstName;
168
+ }());
169
+ }
170
+ else
171
+ {
172
+ userAccountObject.firstName = null;
173
+ }
174
+
175
+ if(typeof resultItem.userAccount === 'object' && 'lastName' in resultItem.userAccount)
176
+ {
177
+ userAccountObject.lastName = (function(){
178
+ if(resultItem.userAccount.lastName === null)
179
+ {
180
+ return null;
181
+ }
182
+
183
+ if(typeof resultItem.userAccount.lastName !== 'string')
184
+ {
185
+ return String(resultItem.userAccount.lastName);
186
+ }
187
+
188
+ return resultItem.userAccount.lastName;
189
+ }());
190
+ }
191
+ else
192
+ {
193
+ userAccountObject.lastName = null;
194
+ }
195
+
196
+ return userAccountObject;
197
+ }());
198
+ }
199
+ else
200
+ {
201
+ resultItemObject.userAccount = (function(){
202
+ let userAccountDefaultValue = {};
203
+
204
+ userAccountDefaultValue.id = null;
205
+
206
+ userAccountDefaultValue.firstName = null;
207
+
208
+ userAccountDefaultValue.lastName = null;
209
+
210
+ return userAccountDefaultValue;
211
+ }());
212
+ }
213
+
214
+ if(typeof resultItem === 'object' && 'content' in resultItem)
215
+ {
216
+ resultItemObject.content = (function(){
217
+ if(resultItem.content === null)
218
+ {
219
+ return null;
220
+ }
221
+
222
+ if(typeof resultItem.content !== 'string')
223
+ {
224
+ return String(resultItem.content);
225
+ }
226
+
227
+ return resultItem.content;
228
+ }());
229
+ }
230
+ else
231
+ {
232
+ resultItemObject.content = null;
233
+ }
234
+
235
+ if(typeof resultItem === 'object' && 'createdTimestamp' in resultItem)
236
+ {
237
+ resultItemObject.createdTimestamp = (function(){
238
+ if(resultItem.createdTimestamp === null)
239
+ {
240
+ return null;
241
+ }
242
+
243
+ if(typeof resultItem.createdTimestamp !== 'string')
244
+ {
245
+ return new Date(String(resultItem.createdTimestamp));
246
+ }
247
+
248
+ return new Date(resultItem.createdTimestamp);
249
+ }());
250
+ }
251
+ else
252
+ {
253
+ resultItemObject.createdTimestamp = null;
254
+ }
255
+
256
+ if(typeof resultItem === 'object' && 'updatedTimestamp' in resultItem)
257
+ {
258
+ resultItemObject.updatedTimestamp = (function(){
259
+ if(resultItem.updatedTimestamp === null)
260
+ {
261
+ return null;
262
+ }
263
+
264
+ if(typeof resultItem.updatedTimestamp !== 'string')
265
+ {
266
+ return new Date(String(resultItem.updatedTimestamp));
267
+ }
268
+
269
+ return new Date(resultItem.updatedTimestamp);
270
+ }());
271
+ }
272
+ else
273
+ {
274
+ resultItemObject.updatedTimestamp = null;
275
+ }
276
+
277
+ return resultItemObject;
278
+ }());
279
+ });
280
+ }());
281
+
282
+ resolve(resolveValue);
283
+ })
284
+ .catch(error => reject(error));
285
+ });
286
+ }
287
+
288
+ /**
289
+ * Create a Comment [POST /packhouse/sites/{siteId}/reemoon-sizer-batches/{id}/comments]
290
+ *
291
+ * Create a Comment for a Reemoon Sizer Batch
292
+ *
293
+ * @static
294
+ * @public
295
+ * @param {number} siteId The Site ID
296
+ * @param {string} id The Reemoon Sizer Batch ID
297
+ * @param {string} content The Content of the New Comment
298
+ * @return {Promise<ReemoonSizerBatchController.CommentItem>}
299
+ */
300
+ static createComment(siteId, id, content)
301
+ {
302
+ return new Promise((resolve, reject) => {
303
+ RequestHelper.postRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches/${id}/comments`, {content})
304
+ .then((result) => {
305
+ let resolveValue = (function(){
306
+ let resultObject = {};
307
+
308
+ if(typeof result === 'object' && 'id' in result)
309
+ {
310
+ resultObject.id = (function(){
311
+ if(typeof result.id !== 'string')
312
+ {
313
+ return String(result.id);
314
+ }
315
+
316
+ return result.id;
317
+ }());
318
+ }
319
+ else
320
+ {
321
+ resultObject.id = "";
322
+ }
323
+
324
+ if(typeof result === 'object' && 'userAccount' in result)
325
+ {
326
+ resultObject.userAccount = (function(){
327
+ let userAccountObject = {};
328
+
329
+ if(typeof result.userAccount === 'object' && 'id' in result.userAccount)
330
+ {
331
+ userAccountObject.id = (function(){
332
+ if(result.userAccount.id === null)
333
+ {
334
+ return null;
335
+ }
336
+
337
+ if(typeof result.userAccount.id !== 'string')
338
+ {
339
+ return String(result.userAccount.id);
340
+ }
341
+
342
+ return result.userAccount.id;
343
+ }());
344
+ }
345
+ else
346
+ {
347
+ userAccountObject.id = null;
348
+ }
349
+
350
+ if(typeof result.userAccount === 'object' && 'firstName' in result.userAccount)
351
+ {
352
+ userAccountObject.firstName = (function(){
353
+ if(result.userAccount.firstName === null)
354
+ {
355
+ return null;
356
+ }
357
+
358
+ if(typeof result.userAccount.firstName !== 'string')
359
+ {
360
+ return String(result.userAccount.firstName);
361
+ }
362
+
363
+ return result.userAccount.firstName;
364
+ }());
365
+ }
366
+ else
367
+ {
368
+ userAccountObject.firstName = null;
369
+ }
370
+
371
+ if(typeof result.userAccount === 'object' && 'lastName' in result.userAccount)
372
+ {
373
+ userAccountObject.lastName = (function(){
374
+ if(result.userAccount.lastName === null)
375
+ {
376
+ return null;
377
+ }
378
+
379
+ if(typeof result.userAccount.lastName !== 'string')
380
+ {
381
+ return String(result.userAccount.lastName);
382
+ }
383
+
384
+ return result.userAccount.lastName;
385
+ }());
386
+ }
387
+ else
388
+ {
389
+ userAccountObject.lastName = null;
390
+ }
391
+
392
+ return userAccountObject;
393
+ }());
394
+ }
395
+ else
396
+ {
397
+ resultObject.userAccount = (function(){
398
+ let userAccountDefaultValue = {};
399
+
400
+ userAccountDefaultValue.id = null;
401
+
402
+ userAccountDefaultValue.firstName = null;
403
+
404
+ userAccountDefaultValue.lastName = null;
405
+
406
+ return userAccountDefaultValue;
407
+ }());
408
+ }
409
+
410
+ if(typeof result === 'object' && 'content' in result)
411
+ {
412
+ resultObject.content = (function(){
413
+ if(result.content === null)
414
+ {
415
+ return null;
416
+ }
417
+
418
+ if(typeof result.content !== 'string')
419
+ {
420
+ return String(result.content);
421
+ }
422
+
423
+ return result.content;
424
+ }());
425
+ }
426
+ else
427
+ {
428
+ resultObject.content = null;
429
+ }
430
+
431
+ if(typeof result === 'object' && 'createdTimestamp' in result)
432
+ {
433
+ resultObject.createdTimestamp = (function(){
434
+ if(result.createdTimestamp === null)
435
+ {
436
+ return null;
437
+ }
438
+
439
+ if(typeof result.createdTimestamp !== 'string')
440
+ {
441
+ return new Date(String(result.createdTimestamp));
442
+ }
443
+
444
+ return new Date(result.createdTimestamp);
445
+ }());
446
+ }
447
+ else
448
+ {
449
+ resultObject.createdTimestamp = null;
450
+ }
451
+
452
+ if(typeof result === 'object' && 'updatedTimestamp' in result)
453
+ {
454
+ resultObject.updatedTimestamp = (function(){
455
+ if(result.updatedTimestamp === null)
456
+ {
457
+ return null;
458
+ }
459
+
460
+ if(typeof result.updatedTimestamp !== 'string')
461
+ {
462
+ return new Date(String(result.updatedTimestamp));
463
+ }
464
+
465
+ return new Date(result.updatedTimestamp);
466
+ }());
467
+ }
468
+ else
469
+ {
470
+ resultObject.updatedTimestamp = null;
471
+ }
472
+
473
+ return resultObject;
474
+ }());
475
+
476
+ resolve(resolveValue);
477
+ })
478
+ .catch(error => reject(error));
479
+ });
480
+ }
481
+
482
+ /**
483
+ * Retrieve a Comment [GET /packhouse/sites/{siteId}/reemoon-sizer-batches/{id}/comments/{commentId}]
484
+ *
485
+ * Retrieves Comments for a Reemoon Sizer Batch
486
+ *
487
+ * @static
488
+ * @public
489
+ * @param {number} siteId The Site ID
490
+ * @param {string} id The Reemoon Sizer Batch ID
491
+ * @param {string} commentId The Comment ID
492
+ * @return {Promise<ReemoonSizerBatchController.CommentItem>}
493
+ */
494
+ static getOneComment(siteId, id, commentId)
495
+ {
496
+ return new Promise((resolve, reject) => {
497
+ RequestHelper.getRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches/${id}/comments/${commentId}`)
498
+ .then((result) => {
499
+ let resolveValue = (function(){
500
+ let resultObject = {};
501
+
502
+ if(typeof result === 'object' && 'id' in result)
503
+ {
504
+ resultObject.id = (function(){
505
+ if(typeof result.id !== 'string')
506
+ {
507
+ return String(result.id);
508
+ }
509
+
510
+ return result.id;
511
+ }());
512
+ }
513
+ else
514
+ {
515
+ resultObject.id = "";
516
+ }
517
+
518
+ if(typeof result === 'object' && 'userAccount' in result)
519
+ {
520
+ resultObject.userAccount = (function(){
521
+ let userAccountObject = {};
522
+
523
+ if(typeof result.userAccount === 'object' && 'id' in result.userAccount)
524
+ {
525
+ userAccountObject.id = (function(){
526
+ if(result.userAccount.id === null)
527
+ {
528
+ return null;
529
+ }
530
+
531
+ if(typeof result.userAccount.id !== 'string')
532
+ {
533
+ return String(result.userAccount.id);
534
+ }
535
+
536
+ return result.userAccount.id;
537
+ }());
538
+ }
539
+ else
540
+ {
541
+ userAccountObject.id = null;
542
+ }
543
+
544
+ if(typeof result.userAccount === 'object' && 'firstName' in result.userAccount)
545
+ {
546
+ userAccountObject.firstName = (function(){
547
+ if(result.userAccount.firstName === null)
548
+ {
549
+ return null;
550
+ }
551
+
552
+ if(typeof result.userAccount.firstName !== 'string')
553
+ {
554
+ return String(result.userAccount.firstName);
555
+ }
556
+
557
+ return result.userAccount.firstName;
558
+ }());
559
+ }
560
+ else
561
+ {
562
+ userAccountObject.firstName = null;
563
+ }
564
+
565
+ if(typeof result.userAccount === 'object' && 'lastName' in result.userAccount)
566
+ {
567
+ userAccountObject.lastName = (function(){
568
+ if(result.userAccount.lastName === null)
569
+ {
570
+ return null;
571
+ }
572
+
573
+ if(typeof result.userAccount.lastName !== 'string')
574
+ {
575
+ return String(result.userAccount.lastName);
576
+ }
577
+
578
+ return result.userAccount.lastName;
579
+ }());
580
+ }
581
+ else
582
+ {
583
+ userAccountObject.lastName = null;
584
+ }
585
+
586
+ return userAccountObject;
587
+ }());
588
+ }
589
+ else
590
+ {
591
+ resultObject.userAccount = (function(){
592
+ let userAccountDefaultValue = {};
593
+
594
+ userAccountDefaultValue.id = null;
595
+
596
+ userAccountDefaultValue.firstName = null;
597
+
598
+ userAccountDefaultValue.lastName = null;
599
+
600
+ return userAccountDefaultValue;
601
+ }());
602
+ }
603
+
604
+ if(typeof result === 'object' && 'content' in result)
605
+ {
606
+ resultObject.content = (function(){
607
+ if(result.content === null)
608
+ {
609
+ return null;
610
+ }
611
+
612
+ if(typeof result.content !== 'string')
613
+ {
614
+ return String(result.content);
615
+ }
616
+
617
+ return result.content;
618
+ }());
619
+ }
620
+ else
621
+ {
622
+ resultObject.content = null;
623
+ }
624
+
625
+ if(typeof result === 'object' && 'createdTimestamp' in result)
626
+ {
627
+ resultObject.createdTimestamp = (function(){
628
+ if(result.createdTimestamp === null)
629
+ {
630
+ return null;
631
+ }
632
+
633
+ if(typeof result.createdTimestamp !== 'string')
634
+ {
635
+ return new Date(String(result.createdTimestamp));
636
+ }
637
+
638
+ return new Date(result.createdTimestamp);
639
+ }());
640
+ }
641
+ else
642
+ {
643
+ resultObject.createdTimestamp = null;
644
+ }
645
+
646
+ if(typeof result === 'object' && 'updatedTimestamp' in result)
647
+ {
648
+ resultObject.updatedTimestamp = (function(){
649
+ if(result.updatedTimestamp === null)
650
+ {
651
+ return null;
652
+ }
653
+
654
+ if(typeof result.updatedTimestamp !== 'string')
655
+ {
656
+ return new Date(String(result.updatedTimestamp));
657
+ }
658
+
659
+ return new Date(result.updatedTimestamp);
660
+ }());
661
+ }
662
+ else
663
+ {
664
+ resultObject.updatedTimestamp = null;
665
+ }
666
+
667
+ return resultObject;
668
+ }());
669
+
670
+ resolve(resolveValue);
671
+ })
672
+ .catch(error => reject(error));
673
+ });
674
+ }
675
+
676
+ /**
677
+ * Update a Comment [PATCH /packhouse/sites/{siteId}/reemoon-sizer-batches/{id}/comments/{commentId}]
678
+ *
679
+ * Update a Comment for a Reemoon Sizer Batch
680
+ *
681
+ * @static
682
+ * @public
683
+ * @param {number} siteId The Site ID
684
+ * @param {string} id The Reemoon Sizer Batch ID
685
+ * @param {string} commentId The Comment ID
686
+ * @param {string} content The Updated Content for the Comment
687
+ * @return {Promise<ReemoonSizerBatchController.CommentItem>}
688
+ */
689
+ static updateOneComment(siteId, id, commentId, content)
690
+ {
691
+ return new Promise((resolve, reject) => {
692
+ RequestHelper.patchRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches/${id}/comments/${commentId}`, {content})
693
+ .then((result) => {
694
+ let resolveValue = (function(){
695
+ let resultObject = {};
696
+
697
+ if(typeof result === 'object' && 'id' in result)
698
+ {
699
+ resultObject.id = (function(){
700
+ if(typeof result.id !== 'string')
701
+ {
702
+ return String(result.id);
703
+ }
704
+
705
+ return result.id;
706
+ }());
707
+ }
708
+ else
709
+ {
710
+ resultObject.id = "";
711
+ }
712
+
713
+ if(typeof result === 'object' && 'userAccount' in result)
714
+ {
715
+ resultObject.userAccount = (function(){
716
+ let userAccountObject = {};
717
+
718
+ if(typeof result.userAccount === 'object' && 'id' in result.userAccount)
719
+ {
720
+ userAccountObject.id = (function(){
721
+ if(result.userAccount.id === null)
722
+ {
723
+ return null;
724
+ }
725
+
726
+ if(typeof result.userAccount.id !== 'string')
727
+ {
728
+ return String(result.userAccount.id);
729
+ }
730
+
731
+ return result.userAccount.id;
732
+ }());
733
+ }
734
+ else
735
+ {
736
+ userAccountObject.id = null;
737
+ }
738
+
739
+ if(typeof result.userAccount === 'object' && 'firstName' in result.userAccount)
740
+ {
741
+ userAccountObject.firstName = (function(){
742
+ if(result.userAccount.firstName === null)
743
+ {
744
+ return null;
745
+ }
746
+
747
+ if(typeof result.userAccount.firstName !== 'string')
748
+ {
749
+ return String(result.userAccount.firstName);
750
+ }
751
+
752
+ return result.userAccount.firstName;
753
+ }());
754
+ }
755
+ else
756
+ {
757
+ userAccountObject.firstName = null;
758
+ }
759
+
760
+ if(typeof result.userAccount === 'object' && 'lastName' in result.userAccount)
761
+ {
762
+ userAccountObject.lastName = (function(){
763
+ if(result.userAccount.lastName === null)
764
+ {
765
+ return null;
766
+ }
767
+
768
+ if(typeof result.userAccount.lastName !== 'string')
769
+ {
770
+ return String(result.userAccount.lastName);
771
+ }
772
+
773
+ return result.userAccount.lastName;
774
+ }());
775
+ }
776
+ else
777
+ {
778
+ userAccountObject.lastName = null;
779
+ }
780
+
781
+ return userAccountObject;
782
+ }());
783
+ }
784
+ else
785
+ {
786
+ resultObject.userAccount = (function(){
787
+ let userAccountDefaultValue = {};
788
+
789
+ userAccountDefaultValue.id = null;
790
+
791
+ userAccountDefaultValue.firstName = null;
792
+
793
+ userAccountDefaultValue.lastName = null;
794
+
795
+ return userAccountDefaultValue;
796
+ }());
797
+ }
798
+
799
+ if(typeof result === 'object' && 'content' in result)
800
+ {
801
+ resultObject.content = (function(){
802
+ if(result.content === null)
803
+ {
804
+ return null;
805
+ }
806
+
807
+ if(typeof result.content !== 'string')
808
+ {
809
+ return String(result.content);
810
+ }
811
+
812
+ return result.content;
813
+ }());
814
+ }
815
+ else
816
+ {
817
+ resultObject.content = null;
818
+ }
819
+
820
+ if(typeof result === 'object' && 'createdTimestamp' in result)
821
+ {
822
+ resultObject.createdTimestamp = (function(){
823
+ if(result.createdTimestamp === null)
824
+ {
825
+ return null;
826
+ }
827
+
828
+ if(typeof result.createdTimestamp !== 'string')
829
+ {
830
+ return new Date(String(result.createdTimestamp));
831
+ }
832
+
833
+ return new Date(result.createdTimestamp);
834
+ }());
835
+ }
836
+ else
837
+ {
838
+ resultObject.createdTimestamp = null;
839
+ }
840
+
841
+ if(typeof result === 'object' && 'updatedTimestamp' in result)
842
+ {
843
+ resultObject.updatedTimestamp = (function(){
844
+ if(result.updatedTimestamp === null)
845
+ {
846
+ return null;
847
+ }
848
+
849
+ if(typeof result.updatedTimestamp !== 'string')
850
+ {
851
+ return new Date(String(result.updatedTimestamp));
852
+ }
853
+
854
+ return new Date(result.updatedTimestamp);
855
+ }());
856
+ }
857
+ else
858
+ {
859
+ resultObject.updatedTimestamp = null;
860
+ }
861
+
862
+ return resultObject;
863
+ }());
864
+
865
+ resolve(resolveValue);
866
+ })
867
+ .catch(error => reject(error));
868
+ });
869
+ }
870
+
871
+ /**
872
+ * Delete a Comment [DELETE /packhouse/sites/{siteId}/reemoon-sizer-batches/{id}/comments/{commentId}]
873
+ *
874
+ * Delete a Comment for a Reemoon Sizer Batch
875
+ *
876
+ * @static
877
+ * @public
878
+ * @param {number} siteId The Site ID
879
+ * @param {string} id The Reemoon Sizer Batch ID
880
+ * @param {string} commentId The Comment ID
881
+ * @return {Promise<boolean>}
882
+ */
883
+ static deleteOneComment(siteId, id, commentId)
884
+ {
885
+ return new Promise((resolve, reject) => {
886
+ RequestHelper.deleteRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches/${id}/comments/${commentId}`)
887
+ .then((result) => {
888
+ resolve(result ?? true);
889
+ })
890
+ .catch(error => reject(error));
891
+ });
892
+ }
893
+
894
+ /**
895
+ * List all Reemoon Sizer Batches [GET /packhouse/sites/{siteId}/reemoon-sizer-batches]
896
+ *
897
+ * @static
898
+ * @public
899
+ * @param {number} siteId The Site ID
900
+ * @param {ReemoonSizerBatchController.GetAllQueryParameters} [queryParameters] The Optional Query Parameters
901
+ * @return {Promise<ReemoonSizerBatchModel[]>}
902
+ */
903
+ static getAll(siteId, queryParameters = {})
904
+ {
905
+ return new Promise((resolve, reject) => {
906
+ RequestHelper.getRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches`, queryParameters)
907
+ .then((result) => {
908
+ let resolveValue = (function(){
909
+ if(Array.isArray(result) !== true)
910
+ {
911
+ return [];
912
+ }
913
+
914
+ return result.map((resultItem) => {
915
+ return (function(){
916
+ return ReemoonSizerBatchModel.fromJSON(resultItem, siteId);
917
+ }());
918
+ });
919
+ }());
920
+
921
+ resolve(resolveValue);
922
+ })
923
+ .catch(error => reject(error));
924
+ });
925
+ }
926
+
927
+ /**
928
+ * Create a Reemoon Sizer Batch [POST /packhouse/sites/{siteId}/reemoon-sizer-batches]
929
+ *
930
+ * @static
931
+ * @public
932
+ * @param {number} siteId The Site ID
933
+ * @param {ReemoonSizerBatchController.CreateData} createData The Reemoon Sizer Batch Create Data
934
+ * @return {Promise<ReemoonSizerBatchModel>}
935
+ */
936
+ static create(siteId, createData)
937
+ {
938
+ return new Promise((resolve, reject) => {
939
+ RequestHelper.postRequest(`/packhouse/sites/${siteId}/reemoon-sizer-batches`, createData)
940
+ .then((result) => {
941
+ let resolveValue = (function(){
942
+ return ReemoonSizerBatchModel.fromJSON(result, siteId);
943
+ }());
944
+
945
+ resolve(resolveValue);
946
+ })
947
+ .catch(error => reject(error));
948
+ });
949
+ }
950
+ }
951
+
952
+ export default ReemoonSizerBatchController;
953
+
954
+ /**
955
+ * The Optional Query Parameters for the getAll Function
956
+ *
957
+ * @typedef {Object} ReemoonSizerBatchController.GetAllQueryParameters
958
+ * @property {string} [reemoonSizerId] The Reemoon Sizer ID this Batch is associated with
959
+ * @property {string} [batchId] The Numeric Reemoon Batch ID
960
+ * @property {string} [batchName] Filter by the Reemoon Batch Name
961
+ * @property {?string} [packrunId] The Packrun ID associated with this Batch
962
+ * @property {Date} [createdTimestampBegin] Filter by the Timestamp when this Reemoon Sizer Batch was Created. Results Greater than or Equal to Timestamp
963
+ * @property {Date} [createdTimestampEnd] Filter by the Timestamp when this Reemoon Sizer Batch was Created. Results Less than or Equal to Timestamp
964
+ * @memberof Controllers.Packhouse.Site
965
+ */
966
+
967
+ /**
968
+ * The Create Data for a Reemoon Sizer Batch
969
+ *
970
+ * @typedef {Object} ReemoonSizerBatchController.CreateData
971
+ * @property {string} reemoonSizerId The Reemoon Sizer ID this Batch is associated with
972
+ * @property {string} [batchId] The Numeric Reemoon Batch ID
973
+ * @property {Date} [createdTimestamp] When this Batch was Created
974
+ * @property {?string} [batchName] The Batch Name
975
+ * @property {?Date} [startTimestamp] When this Batch was Started
976
+ * @property {?Date} [finishTimestamp] When this Batch was Finished
977
+ * @property {?string} [varietyCode] The Variety Code
978
+ * @property {?string} [packrunId] The Packrun ID associated with this Batch
979
+ * @property {Array<ReemoonSizerBatchController.Product>} [products] An Array of Products for this Batch
980
+ * @property {Array<ReemoonSizerBatchController.OutletSummary>} [outletSummaries] An Array of Summary Data Objects for each Outlet by Fruit Size and Product
981
+ * @memberof Controllers.Packhouse.Site
982
+ */
983
+
984
+ /**
985
+ * The Update Data for a Reemoon Sizer Batch
986
+ *
987
+ * @typedef {Object} ReemoonSizerBatchController.UpdateData
988
+ * @property {string} [reemoonSizerId] The Reemoon Sizer ID this Batch is associated with
989
+ * @property {Date} [createdTimestamp] When this Batch was Created
990
+ * @property {?string} [batchName] The Batch Name
991
+ * @property {?Date} [startTimestamp] When this Batch was Started
992
+ * @property {?Date} [finishTimestamp] When this Batch was Finished
993
+ * @property {?string} [varietyCode] The Variety Code
994
+ * @property {?string} [packrunId] The Packrun ID associated with this Batch
995
+ * @property {Array<ReemoonSizerBatchController.Product>} [products] An Array of Products for this Batch
996
+ * @property {Array<ReemoonSizerBatchController.OutletSummary>} [outletSummaries] An Array of Summary Data Objects for each Outlet by Fruit Size and Product
997
+ * @memberof Controllers.Packhouse.Site
998
+ */
999
+
1000
+ /**
1001
+ * A **UserAccount** Type
1002
+ *
1003
+ * @typedef {Object} ReemoonSizerBatchController.UserAccount
1004
+ * @property {?string} id The User Account ID
1005
+ * @property {?string} firstName The User's First Name
1006
+ * @property {?string} lastName The User's Last Name
1007
+ * @memberof Controllers.Packhouse.Site
1008
+ */
1009
+
1010
+ /**
1011
+ * A **CommentItem** Type
1012
+ *
1013
+ * @typedef {Object} ReemoonSizerBatchController.CommentItem
1014
+ * @property {string} id The Comment ID
1015
+ * @property {ReemoonSizerBatchController.UserAccount} userAccount
1016
+ * @property {?string} content The Content of the Comment
1017
+ * @property {?Date} createdTimestamp When the Comment was Created
1018
+ * @property {?Date} updatedTimestamp When the Comment was last Updated
1019
+ * @memberof Controllers.Packhouse.Site
1020
+ */
1021
+
1022
+ /**
1023
+ * A **Product** Type
1024
+ *
1025
+ * @typedef {Object} ReemoonSizerBatchController.Product
1026
+ * @property {number} id The Product ID
1027
+ * @property {string} name The Product Name
1028
+ * @property {string[]} fruitSizes An Array of Fruit Sizes for this Product
1029
+ * @property {?string} packType The Product Pack Type
1030
+ * @property {string[]} grades An Array of Grades for this Product
1031
+ * @property {string[]} qualities An Array of Qualities for this Product
1032
+ * @memberof Controllers.Packhouse.Site
1033
+ */
1034
+
1035
+ /**
1036
+ * A **OutletSummary** Type
1037
+ *
1038
+ * @typedef {Object} ReemoonSizerBatchController.OutletSummary
1039
+ * @property {number} outletNumber The Outlet Number
1040
+ * @property {string} fruitSize The Fruit Size
1041
+ * @property {?number} productId The Product ID
1042
+ * @property {string} productName The Product Name
1043
+ * @property {number} fruitCount The Fruit Count
1044
+ * @property {number} fruitWeight The Fruit Weight expressed in Kilograms
1045
+ * @memberof Controllers.Packhouse.Site
1046
+ */