@ricado/api-client 2.7.6 → 2.7.8

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.
@@ -0,0 +1,1071 @@
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 PackrunGrowerNotificationModel from '../../../Models/Packhouse/Site/PackrunGrowerNotificationModel';
9
+
10
+ /**
11
+ * Controller Class for Packrun Grower Notifications
12
+ *
13
+ * @class
14
+ */
15
+ class PackrunGrowerNotificationController
16
+ {
17
+ /**
18
+ * Retrieve a Packrun Grower Notification [GET /packhouse/sites/{siteId}/packrun-grower-notifications/{id}]
19
+ *
20
+ * @static
21
+ * @public
22
+ * @param {number} siteId The Site ID
23
+ * @param {string} id The Packrun Grower Notification ID
24
+ * @return {Promise<PackrunGrowerNotificationModel>}
25
+ */
26
+ static getOne(siteId, id)
27
+ {
28
+ return new Promise((resolve, reject) => {
29
+ RequestHelper.getRequest(`/packhouse/sites/${siteId}/packrun-grower-notifications/${id}`)
30
+ .then((result) => {
31
+ let resolveValue = (function(){
32
+ return PackrunGrowerNotificationModel.fromJSON(result, siteId);
33
+ }());
34
+
35
+ resolve(resolveValue);
36
+ })
37
+ .catch(error => reject(error));
38
+ });
39
+ }
40
+
41
+ /**
42
+ * Update a Packrun Grower Notification [PATCH /packhouse/sites/{siteId}/packrun-grower-notifications/{id}]
43
+ *
44
+ * @static
45
+ * @public
46
+ * @param {number} siteId The Site ID
47
+ * @param {string} id The Packrun Grower Notification ID
48
+ * @param {PackrunGrowerNotificationController.UpdateData} updateData The Packrun Grower Notification Update Data
49
+ * @return {Promise<PackrunGrowerNotificationModel>}
50
+ */
51
+ static update(siteId, id, updateData)
52
+ {
53
+ return new Promise((resolve, reject) => {
54
+ RequestHelper.patchRequest(`/packhouse/sites/${siteId}/packrun-grower-notifications/${id}`, updateData)
55
+ .then((result) => {
56
+ let resolveValue = (function(){
57
+ return PackrunGrowerNotificationModel.fromJSON(result, siteId);
58
+ }());
59
+
60
+ resolve(resolveValue);
61
+ })
62
+ .catch(error => reject(error));
63
+ });
64
+ }
65
+
66
+ /**
67
+ * Delete a Packrun Grower Notification [DELETE /packhouse/sites/{siteId}/packrun-grower-notifications/{id}]
68
+ *
69
+ * @static
70
+ * @public
71
+ * @param {number} siteId The Site ID
72
+ * @param {string} id The Packrun Grower Notification ID
73
+ * @return {Promise<boolean>}
74
+ */
75
+ static delete(siteId, id)
76
+ {
77
+ return new Promise((resolve, reject) => {
78
+ RequestHelper.deleteRequest(`/packhouse/sites/${siteId}/packrun-grower-notifications/${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}/packrun-grower-notifications/{id}/comments]
88
+ *
89
+ * Retrieves Comments for a Packrun Grower Notification
90
+ *
91
+ * @static
92
+ * @public
93
+ * @param {number} siteId The Site ID
94
+ * @param {string} id The Packrun Grower Notification ID
95
+ * @return {Promise<Array<PackrunGrowerNotificationController.CommentItem>>}
96
+ */
97
+ static getComments(siteId, id)
98
+ {
99
+ return new Promise((resolve, reject) => {
100
+ RequestHelper.getRequest(`/packhouse/sites/${siteId}/packrun-grower-notifications/${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}/packrun-grower-notifications/{id}/comments]
290
+ *
291
+ * Create a Comment for a Packrun Grower Notification
292
+ *
293
+ * @static
294
+ * @public
295
+ * @param {number} siteId The Site ID
296
+ * @param {string} id The Packrun Grower Notification ID
297
+ * @param {string} content The Content of the New Comment
298
+ * @return {Promise<PackrunGrowerNotificationController.CommentItem>}
299
+ */
300
+ static createComment(siteId, id, content)
301
+ {
302
+ return new Promise((resolve, reject) => {
303
+ RequestHelper.postRequest(`/packhouse/sites/${siteId}/packrun-grower-notifications/${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}/packrun-grower-notifications/{id}/comments/{commentId}]
484
+ *
485
+ * Retrieves Comments for a Packrun Grower Notification
486
+ *
487
+ * @static
488
+ * @public
489
+ * @param {number} siteId The Site ID
490
+ * @param {string} id The Packrun Grower Notification ID
491
+ * @param {string} commentId The Comment ID
492
+ * @return {Promise<PackrunGrowerNotificationController.CommentItem>}
493
+ */
494
+ static getOneComment(siteId, id, commentId)
495
+ {
496
+ return new Promise((resolve, reject) => {
497
+ RequestHelper.getRequest(`/packhouse/sites/${siteId}/packrun-grower-notifications/${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}/packrun-grower-notifications/{id}/comments/{commentId}]
678
+ *
679
+ * Update a Comment for a Packrun Grower Notification
680
+ *
681
+ * @static
682
+ * @public
683
+ * @param {number} siteId The Site ID
684
+ * @param {string} id The Packrun Grower Notification ID
685
+ * @param {string} commentId The Comment ID
686
+ * @param {string} content The Updated Content for the Comment
687
+ * @return {Promise<PackrunGrowerNotificationController.CommentItem>}
688
+ */
689
+ static updateOneComment(siteId, id, commentId, content)
690
+ {
691
+ return new Promise((resolve, reject) => {
692
+ RequestHelper.patchRequest(`/packhouse/sites/${siteId}/packrun-grower-notifications/${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}/packrun-grower-notifications/{id}/comments/{commentId}]
873
+ *
874
+ * Delete a Comment for a Packrun Grower Notification
875
+ *
876
+ * @static
877
+ * @public
878
+ * @param {number} siteId The Site ID
879
+ * @param {string} id The Packrun Grower Notification 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}/packrun-grower-notifications/${id}/comments/${commentId}`)
887
+ .then((result) => {
888
+ resolve(result ?? true);
889
+ })
890
+ .catch(error => reject(error));
891
+ });
892
+ }
893
+
894
+ /**
895
+ * List all Packrun Grower Notifications [GET /packhouse/sites/{siteId}/packrun-grower-notifications]
896
+ *
897
+ * @static
898
+ * @public
899
+ * @param {number} siteId The Site ID
900
+ * @param {PackrunGrowerNotificationController.GetAllQueryParameters} [queryParameters] The Optional Query Parameters
901
+ * @return {Promise<PackrunGrowerNotificationModel[]>}
902
+ */
903
+ static getAll(siteId, queryParameters = {})
904
+ {
905
+ return new Promise((resolve, reject) => {
906
+ RequestHelper.getRequest(`/packhouse/sites/${siteId}/packrun-grower-notifications`, 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 PackrunGrowerNotificationModel.fromJSON(resultItem, siteId);
917
+ }());
918
+ });
919
+ }());
920
+
921
+ resolve(resolveValue);
922
+ })
923
+ .catch(error => reject(error));
924
+ });
925
+ }
926
+
927
+ /**
928
+ * Create a Packrun Grower Notification [POST /packhouse/sites/{siteId}/packrun-grower-notifications]
929
+ *
930
+ * @static
931
+ * @public
932
+ * @param {number} siteId The Site ID
933
+ * @param {PackrunGrowerNotificationController.CreateData} createData The Packrun Grower Notification Create Data
934
+ * @return {Promise<PackrunGrowerNotificationModel>}
935
+ */
936
+ static create(siteId, createData)
937
+ {
938
+ return new Promise((resolve, reject) => {
939
+ RequestHelper.postRequest(`/packhouse/sites/${siteId}/packrun-grower-notifications`, createData)
940
+ .then((result) => {
941
+ let resolveValue = (function(){
942
+ return PackrunGrowerNotificationModel.fromJSON(result, siteId);
943
+ }());
944
+
945
+ resolve(resolveValue);
946
+ })
947
+ .catch(error => reject(error));
948
+ });
949
+ }
950
+ }
951
+
952
+ export default PackrunGrowerNotificationController;
953
+
954
+ /**
955
+ * The Optional Query Parameters for the getAll Function
956
+ *
957
+ * @typedef {Object} PackrunGrowerNotificationController.GetAllQueryParameters
958
+ * @property {string} [packingLineId] The Packing Line ID this Grower Notification is associated with
959
+ * @property {string} [packrunId] The Packrun ID this Grower Notification is associated with
960
+ * @property {string} [notificationType] The Grower Notification Type
961
+ * @property {string} [status] Whether the Grower Notification is in the process of being Sent
962
+ * @property {Date} [createdTimestampBegin] Filter by the Timestamp when Grower Notifications were Created. Results Greater than or Equal to Timestamp
963
+ * @property {Date} [createdTimestampEnd] Filter by the Timestamp when Grower Notifications were Created. Results Less than or Equal to Timestamp
964
+ * @property {Date} [updateTimestampBegin] Filter by the Timestamp when Grower Notifications were last Updated. Results Greater than or Equal to Timestamp
965
+ * @property {Date} [updateTimestampEnd] Filter by the Timestamp when Grower Notifications were last Updated. Results Less than or Equal to Timestamp
966
+ * @memberof Controllers.Packhouse.Site
967
+ */
968
+
969
+ /**
970
+ * The Create Data for a Packrun Grower Notification
971
+ *
972
+ * @typedef {Object} PackrunGrowerNotificationController.CreateData
973
+ * @property {string} packingLineId The Packing Line ID this Grower Notification is associated with
974
+ * @property {string} [packrunId] The Packrun ID this Grower Notification is associated with
975
+ * @property {Date} [createdTimestamp] When this Grower Notification was Created
976
+ * @property {string} notificationType The Grower Notification Type
977
+ * @property {Array<PackrunGrowerNotificationController.SmsRequestStatus>} [smsRequests] The SMS Request Statuses indicating progress when sending SMS Messages
978
+ * @property {?PackrunGrowerNotificationController.EmailRequestStatus} [emailRequest] The Email Request Status indicating progress when sending Emails
979
+ * @property {string} status Whether the Grower Notification is in the process of being Sent
980
+ * @property {Array<PackrunGrowerNotificationController.SmsContact>} [smsContacts] An Array of SMS Contacts for this Grower Notification
981
+ * @property {Array<PackrunGrowerNotificationController.EmailContact>} [emailContacts] An Array of Email Contacts for this Grower Notification
982
+ * @memberof Controllers.Packhouse.Site
983
+ */
984
+
985
+ /**
986
+ * The Update Data for a Packrun Grower Notification
987
+ *
988
+ * @typedef {Object} PackrunGrowerNotificationController.UpdateData
989
+ * @property {string} [packingLineId] The Packing Line ID this Grower Notification is associated with
990
+ * @property {Date} [createdTimestamp] When this Grower Notification was Created
991
+ * @property {string} [notificationType] The Grower Notification Type
992
+ * @property {Array<PackrunGrowerNotificationController.SmsRequestStatus>} [smsRequests] The SMS Request Statuses indicating progress when sending SMS Messages
993
+ * @property {?PackrunGrowerNotificationController.EmailRequestStatus} [emailRequest] The Email Request Status indicating progress when sending Emails
994
+ * @property {string} [status] Whether the Grower Notification is in the process of being Sent
995
+ * @property {Array<PackrunGrowerNotificationController.SmsContact>} [smsContacts] An Array of SMS Contacts for this Grower Notification
996
+ * @property {Array<PackrunGrowerNotificationController.EmailContact>} [emailContacts] An Array of Email Contacts for this Grower Notification
997
+ * @memberof Controllers.Packhouse.Site
998
+ */
999
+
1000
+ /**
1001
+ * A **UserAccount** Type
1002
+ *
1003
+ * @typedef {Object} PackrunGrowerNotificationController.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} PackrunGrowerNotificationController.CommentItem
1014
+ * @property {string} id The Comment ID
1015
+ * @property {PackrunGrowerNotificationController.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 **SmsRequestStatus** Type
1024
+ *
1025
+ * @typedef {Object} PackrunGrowerNotificationController.SmsRequestStatus
1026
+ * @property {string} mobileNumber The Recipient Mobile Number for this SMS Request
1027
+ * @property {?string} messageId The Message ID returned from the SMS API
1028
+ * @property {?string} messageStatus The Message Status returned from the SMS API
1029
+ * @property {number} sendRequestCount The Number of API Requests made to Attempt to Send the SMS
1030
+ * @property {?Date} sendRequestTimestamp When the latest API Request was made to Send the SMS
1031
+ * @property {?number} sendResponseCode The HTTP Response Code received from the SMS API Send Message Request
1032
+ * @property {?string} sendResponseMessage The HTTP Response Message received from the SMS API Send Message Request
1033
+ * @property {number} getStatusRequestCount The Number of API Requests made to Attempt to Get the SMS Status
1034
+ * @property {?Date} getStatusRequestTimestamp When the latest API Request was made to Get the SMS Status
1035
+ * @property {?number} getStatusResponseCode The HTTP Response Code received from the SMS API Get Message Status Request
1036
+ * @property {?string} getStatusResponseMessage The HTTP Response Message received from the SMS API Get Message Status Request
1037
+ * @property {boolean} completed Whether the sending of API Requests has been completed
1038
+ * @memberof Controllers.Packhouse.Site
1039
+ */
1040
+
1041
+ /**
1042
+ * A **EmailRequestStatus** Type
1043
+ *
1044
+ * @typedef {Object} PackrunGrowerNotificationController.EmailRequestStatus
1045
+ * @property {number} requestCount The Number of API Requests made to Attempt to Send the Email
1046
+ * @property {?Date} requestTimestamp When the latest API Request was made
1047
+ * @property {?number} responseCode The HTTP Response Code received from the Email API
1048
+ * @property {?string} responseMessage The HTTP Response Message received from the Email API
1049
+ * @property {boolean} completed Whether the sending of API Requests has been completed
1050
+ * @memberof Controllers.Packhouse.Site
1051
+ */
1052
+
1053
+ /**
1054
+ * A **SmsContact** Type
1055
+ *
1056
+ * @typedef {Object} PackrunGrowerNotificationController.SmsContact
1057
+ * @property {string} mobileNumber Mobile Number of the Contact
1058
+ * @property {string} firstName First Name of the Contact
1059
+ * @property {?string} lastName Last Name of the Contact
1060
+ * @memberof Controllers.Packhouse.Site
1061
+ */
1062
+
1063
+ /**
1064
+ * A **EmailContact** Type
1065
+ *
1066
+ * @typedef {Object} PackrunGrowerNotificationController.EmailContact
1067
+ * @property {string} email Email Address of the Contact
1068
+ * @property {string} firstName First Name of the Contact
1069
+ * @property {?string} lastName Last Name of the Contact
1070
+ * @memberof Controllers.Packhouse.Site
1071
+ */