@ricado/api-client 2.7.7 → 2.7.9

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 (27) hide show
  1. package/dist/ricado.api.client.js +1 -1
  2. package/lib/Controllers/Packhouse/Site/PackingLineController.js +14 -3
  3. package/lib/Controllers/Packhouse/Site/PackrunGrowerNotificationController.js +940 -0
  4. package/lib/Controllers/Packhouse/Site/RejectBinScaleController.js +2 -0
  5. package/lib/Controllers/Packhouse/Site/index.js +3 -0
  6. package/lib/Controllers/UserAccountActionTokenController.js +15 -0
  7. package/lib/Models/Packhouse/Site/PackingLineModel.js +283 -2
  8. package/lib/Models/Packhouse/Site/PackrunGrowerNotificationModel.js +669 -0
  9. package/lib/Models/Packhouse/Site/RejectBinScaleModel.js +33 -1
  10. package/lib/Models/Packhouse/Site/index.js +3 -0
  11. package/lib/Models/TokenModel.js +105 -0
  12. package/lib/Models/UserAccountActionTokenModel.js +210 -0
  13. package/lib/PackageVersion.js +1 -1
  14. package/lib/index.d.ts +707 -3
  15. package/package.json +1 -1
  16. package/src/Controllers/Packhouse/Site/PackingLineController.js +14 -3
  17. package/src/Controllers/Packhouse/Site/PackrunGrowerNotificationController.js +1071 -0
  18. package/src/Controllers/Packhouse/Site/RejectBinScaleController.js +2 -0
  19. package/src/Controllers/Packhouse/Site/index.js +2 -0
  20. package/src/Controllers/UserAccountActionTokenController.js +15 -0
  21. package/src/Models/Packhouse/Site/PackingLineModel.js +380 -2
  22. package/src/Models/Packhouse/Site/PackrunGrowerNotificationModel.js +763 -0
  23. package/src/Models/Packhouse/Site/RejectBinScaleModel.js +43 -1
  24. package/src/Models/Packhouse/Site/index.js +2 -0
  25. package/src/Models/TokenModel.js +136 -0
  26. package/src/Models/UserAccountActionTokenModel.js +272 -0
  27. package/src/PackageVersion.js +1 -1
@@ -253,5 +253,7 @@ export default RejectBinScaleController;
253
253
  * @property {?number} printerGroupId The FreshPack Printer Group ID to be used when Printing Multi-Grower Bin Cards for this Reject Bin Scale
254
254
  * @property {boolean} binCardPrintingEnabled Whether Bin Card Printing is Enabled
255
255
  * @property {boolean} [useWindowsDriverApi] Whether Bin Card Printing should use the Specialized FreshPack Windows Driver API
256
+ * @property {?boolean} [forceSingleClassType] Whether the Net Weight should be used as a single Forced Class Type when creating Multi-Grower Bins and Weights
257
+ * @property {?string} [forcedClassType] The Forced Class Type of Net Weights when Enabled
256
258
  * @memberof Controllers.Packhouse.Site
257
259
  */
@@ -32,6 +32,7 @@ import MAFSizerPackrunSummaryController from './MAFSizerPackrunSummaryController
32
32
  import PackTypeController from './PackTypeController';
33
33
  import PackingLineController from './PackingLineController';
34
34
  import PackrunController from './PackrunController';
35
+ import PackrunGrowerNotificationController from './PackrunGrowerNotificationController';
35
36
  import PrePackSampleController from './PrePackSampleController';
36
37
  import ReemoonSizerBatchController from './ReemoonSizerBatchController';
37
38
  import ReemoonSizerController from './ReemoonSizerController';
@@ -77,6 +78,7 @@ const Site = {
77
78
  PackTypeController,
78
79
  PackingLineController,
79
80
  PackrunController,
81
+ PackrunGrowerNotificationController,
80
82
  PrePackSampleController,
81
83
  ReemoonSizerBatchController,
82
84
  ReemoonSizerController,
@@ -407,6 +407,8 @@ export default UserAccountActionTokenController;
407
407
  * @property {?Date} [activityTimestamp] When the last API call using this Action Token was made
408
408
  * @property {?Date} [completedTimestamp] When the Action was Completed
409
409
  * @property {?Date} [emailTimestamp] When the Action Email was Sent
410
+ * @property {UserAccountActionTokenController.RequestMetadata} [issueMetadata] Metadata from the Request that generated this Action Token
411
+ * @property {UserAccountActionTokenController.RequestMetadata} [consumeMetadata] Metadata from the Request that consumed this Action Token
410
412
  * @memberof Controllers
411
413
  */
412
414
 
@@ -417,5 +419,18 @@ export default UserAccountActionTokenController;
417
419
  * @property {?Date} [activityTimestamp] When the last API call using this Action Token was made
418
420
  * @property {?Date} [completedTimestamp] When the Action was Completed
419
421
  * @property {?Date} [emailTimestamp] When the Action Email was Sent
422
+ * @property {UserAccountActionTokenController.RequestMetadata} [consumeMetadata] Metadata from the Request that consumed this Action Token
423
+ * @memberof Controllers
424
+ */
425
+
426
+ /**
427
+ * A **RequestMetadata** Type
428
+ *
429
+ * @typedef {Object} UserAccountActionTokenController.RequestMetadata
430
+ * @property {?string} ipAddress The IP Address of the Requester
431
+ * @property {?string} userAgent The User-Agent of the Requester
432
+ * @property {?string} cloudflareRayId The Cloudflare Ray ID from the Request
433
+ * @property {?string} host The Host header from the Request
434
+ * @property {?string} referrer The Referrer header from the Request
420
435
  * @memberof Controllers
421
436
  */
@@ -60,7 +60,7 @@ class PackingLineModel extends BaseModel
60
60
  /**
61
61
  * The Points used by this Packing Line
62
62
  *
63
- * @type {{currentPackrunId: number, nextPackrunId: number, currentPackrunName: number, nextPackrunName: number, currentPackrunVarietyCode: number, startNextPackrunRequest: number, finishCurrentPackrunRequest: number, availablePackrunList: number, createFromAvailablePackrun: number, currentTimeBatch: number, createNewTimeBatchRequest: number, currentPackrunExportPercentage: number, currentPackrunRejectPercentage: number, currentPackrunFruitSizeSummary: number, currentPackrunTotalExportTrays: number, currentPackrunExportTraysPerBin: number, currentPackrunAverageExportFruitSize: number, currentPackrunTotalClass1LayeredTrays: number, currentPackrunTotalClass1BulkTrays: number, currentPackrunTotalClass2Trays: number, currentPackrunSoftSortEventsPerBin: number, serviceModeActive: number, serviceModeBeginRequest: number, serviceModeFinishRequest: number, serviceModeStartTimestamp: number, serviceModeMaximumDuration: number, disabled: ?number, currentPackrunRecentPackrunSummaries: number, currentPackrunHistoricalPackrunSummaries: number, nextPackrunRecentPackrunSummaries: number, nextPackrunHistoricalPackrunSummaries: number}}
63
+ * @type {{currentPackrunId: number, nextPackrunId: number, currentPackrunName: number, nextPackrunName: number, currentPackrunVarietyCode: number, startNextPackrunRequest: number, finishCurrentPackrunRequest: number, availablePackrunList: number, createFromAvailablePackrun: number, currentTimeBatch: number, createNewTimeBatchRequest: number, currentPackrunExportPercentage: number, currentPackrunRejectPercentage: number, currentPackrunFruitSizeSummary: number, currentPackrunTotalExportTrays: number, currentPackrunExportTraysPerBin: number, currentPackrunAverageExportFruitSize: number, currentPackrunTotalClass1LayeredTrays: number, currentPackrunTotalClass1BulkTrays: number, currentPackrunTotalClass2Trays: number, currentPackrunSoftSortEventsPerBin: number, serviceModeActive: number, serviceModeBeginRequest: number, serviceModeFinishRequest: number, serviceModeStartTimestamp: number, serviceModeMaximumDuration: number, disabled: ?number, currentPackrunRecentPackrunSummaries: number, currentPackrunHistoricalPackrunSummaries: number, nextPackrunRecentPackrunSummaries: number, nextPackrunHistoricalPackrunSummaries: number, averageSecondsPerBin: ?number, estimatedPackrunTimestamps: ?number}}
64
64
  * @public
65
65
  */
66
66
  this.points = (function(){
@@ -128,6 +128,10 @@ class PackingLineModel extends BaseModel
128
128
 
129
129
  pointsDefaultValue.nextPackrunHistoricalPackrunSummaries = 0;
130
130
 
131
+ pointsDefaultValue.averageSecondsPerBin = null;
132
+
133
+ pointsDefaultValue.estimatedPackrunTimestamps = null;
134
+
131
135
  return pointsDefaultValue;
132
136
  }());
133
137
 
@@ -190,7 +194,7 @@ class PackingLineModel extends BaseModel
190
194
  /**
191
195
  * The Optional Shift Management Object for this Packing Line
192
196
  *
193
- * @type {?{points: {currentShiftId: number, currentShiftStatus: number, currentShiftBreakActive: ?number, createNewDayShiftRequest: number, createNewNightShiftRequest: number, startCurrentShiftRequest: number, finishCurrentShiftRequest: number, currentFocusMeetingId: number, startFocusMeetingRequest: number, finishFocusMeetingRequest: number, currentGrowerChangeMeetingId: number, startGrowerChangeMeetingRequest: number, finishGrowerChangeMeetingRequest: number, shiftSchedules: number, currentShiftModifyHourlyEntryRequest: number, currentShiftClass1TraysPerHourTarget: number, currentShiftClass1TraysPerHourAdjustedTarget: number, currentShiftClass1TraysPerHour: number, currentShiftCostPerTrayTarget: number, currentShiftCostPerTrayAdjustedTarget: number, currentShiftCostPerTray: number, currentShiftManningTarget: number, currentShiftClass1Manning: number, currentShiftClass2Manning: number, currentShiftClass1ManningTarget: number, currentShiftClass2ManningTarget: number, currentShiftQualityR600IdealTarget: number, currentShiftQualityR600Ideal: number, currentShiftScorePercentage: number, currentShiftTotalBinsTipped: ?number, currentShiftTotalClass1Trays: ?number, currentShiftTotalClass2Trays: ?number, currentShiftTotalDowntimePercentage: ?number, currentShiftTotalDowntimeSeconds: ?number, currentShiftTotalLayeredTraysPercentage: ?number, currentShiftAverageClass1TraysPerHour: ?number, currentShiftAverageCostPerTray: ?number, currentShiftAverageClass1Manning: ?number, currentShiftAverageClass2Manning: ?number, currentShiftAverageQualityR600Ideal: ?number, currentShiftAverageScorePercentage: ?number, currentShiftProjectedTotalBinsTipped: ?number, class1TraysPerHourTargets: number, class1TraysPerHourAdjustments: number, costPerTrayTargets: number, manningTargets: number, qualityR600IdealTargets: number, layeredTrayPercentageTargets: number, class1PercentageTargets: ?number, costPerManningUnitHour: number, class1TraysPerHourScoreWeighting: number, costPerTrayScoreWeighting: number, qualityR600IdealScoreWeighting: number, summaryReportEmailContacts: number, currentShiftUpdateManningTeamsRequest: ?number, currentShiftUpdateManningTeamsTimestamp: ?number, manningTeams: ?number}, customQualityConfiguration: Array<{id: string, name: string, type: string, points: {currentShiftCustomQualityTarget: number, currentShiftCustomQualityValue: number, currentShiftCustomQualityAverageValue: ?number, customQualityTargets: number, customQualityScoreWeighting: number}}>, enabled: boolean, taskDefinitions: Array<{type: string, tags: Array<{id: string, name: string, color: string, deleted: boolean}>}>, manningUsesTeams: boolean, useDefaultManningAtShiftStart: ?boolean}}
197
+ * @type {?{points: {currentShiftId: number, currentShiftStatus: number, currentShiftBreakActive: ?number, createNewDayShiftRequest: number, createNewNightShiftRequest: number, startCurrentShiftRequest: number, finishCurrentShiftRequest: number, currentFocusMeetingId: number, startFocusMeetingRequest: number, finishFocusMeetingRequest: number, currentGrowerChangeMeetingId: number, startGrowerChangeMeetingRequest: number, finishGrowerChangeMeetingRequest: number, shiftSchedules: number, currentShiftModifyHourlyEntryRequest: number, currentShiftClass1TraysPerHourTarget: number, currentShiftClass1TraysPerHourAdjustedTarget: number, currentShiftClass1TraysPerHour: number, currentShiftCostPerTrayTarget: number, currentShiftCostPerTrayAdjustedTarget: number, currentShiftCostPerTray: number, currentShiftManningTarget: number, currentShiftClass1Manning: number, currentShiftClass2Manning: number, currentShiftClass1ManningTarget: number, currentShiftClass2ManningTarget: number, currentShiftQualityR600IdealTarget: number, currentShiftQualityR600Ideal: number, currentShiftScorePercentage: number, currentShiftTotalBinsTipped: ?number, currentShiftTotalClass1Trays: ?number, currentShiftTotalClass2Trays: ?number, currentShiftTotalDowntimePercentage: ?number, currentShiftTotalDowntimeSeconds: ?number, currentShiftTotalLayeredTraysPercentage: ?number, currentShiftAverageClass1TraysPerHour: ?number, currentShiftAverageCostPerTray: ?number, currentShiftAverageClass1Manning: ?number, currentShiftAverageClass2Manning: ?number, currentShiftAverageQualityR600Ideal: ?number, currentShiftAverageScorePercentage: ?number, currentShiftProjectedTotalBinsTipped: ?number, class1TraysPerHourTargets: number, class1TraysPerHourAdjustments: number, costPerTrayTargets: number, manningTargets: number, qualityR600IdealTargets: number, layeredTrayPercentageTargets: number, class1PercentageTargets: ?number, costPerManningUnitHour: number, class1TraysPerHourScoreWeighting: number, costPerTrayScoreWeighting: number, qualityR600IdealScoreWeighting: number, summaryReportEmailContacts: number, currentShiftUpdateManningTeamsRequest: ?number, currentShiftUpdateManningTeamsTimestamp: ?number, manningTeams: ?number, packrunChangeDurationTargets: ?number, currentShiftDowntimeActive: ?number, currentShiftPackrunChangeActive: ?number, currentShiftPackrunChangeSecondsTarget: ?number, currentShiftPackrunChangeSecondsElapsed: ?number}, customQualityConfiguration: Array<{id: string, name: string, type: string, points: {currentShiftCustomQualityTarget: number, currentShiftCustomQualityValue: number, currentShiftCustomQualityAverageValue: ?number, customQualityTargets: number, customQualityScoreWeighting: number}}>, enabled: boolean, taskDefinitions: Array<{type: string, tags: Array<{id: string, name: string, color: string, deleted: boolean}>}>, manningUsesTeams: boolean, useDefaultManningAtShiftStart: ?boolean}}
194
198
  * @public
195
199
  */
196
200
  this.shiftManagement = null;
@@ -227,6 +231,14 @@ class PackingLineModel extends BaseModel
227
231
  */
228
232
  this.freshQualityIntegration = null;
229
233
 
234
+ /**
235
+ * The Optional Grower Notifications Configuration for this Packing Line
236
+ *
237
+ * @type {?{points: {packingSoonAutoNotificationEnabled: number, packingSoonAutoNotificationSeconds: number, packingTodayAutoNotificationEnabled: number, packingTodayAutoNotificationTime: number, sendPackingTodayNotificationRequest: number, packingTodayNotificationProcessed: number, externalContactsCommunicationStatus: number, externalContactsCommunicationLastAttempt: number, externalContactsCommunicationLastError: number}, enabled: boolean}}
238
+ * @public
239
+ */
240
+ this.growerNotifications = null;
241
+
230
242
  /**
231
243
  * Whether the Packing Line has been deleted
232
244
  *
@@ -839,6 +851,48 @@ class PackingLineModel extends BaseModel
839
851
  {
840
852
  pointsObject.nextPackrunHistoricalPackrunSummaries = 0;
841
853
  }
854
+
855
+ if(typeof jsonObject['points'] === 'object' && 'averageSecondsPerBin' in jsonObject['points'])
856
+ {
857
+ pointsObject.averageSecondsPerBin = (function(){
858
+ if(jsonObject['points'].averageSecondsPerBin === null)
859
+ {
860
+ return null;
861
+ }
862
+
863
+ if(typeof jsonObject['points'].averageSecondsPerBin !== 'number')
864
+ {
865
+ return Number.isInteger(Number(jsonObject['points'].averageSecondsPerBin)) ? Number(jsonObject['points'].averageSecondsPerBin) : Math.floor(Number(jsonObject['points'].averageSecondsPerBin));
866
+ }
867
+
868
+ return Number.isInteger(jsonObject['points'].averageSecondsPerBin) ? jsonObject['points'].averageSecondsPerBin : Math.floor(jsonObject['points'].averageSecondsPerBin);
869
+ }());
870
+ }
871
+ else
872
+ {
873
+ pointsObject.averageSecondsPerBin = null;
874
+ }
875
+
876
+ if(typeof jsonObject['points'] === 'object' && 'estimatedPackrunTimestamps' in jsonObject['points'])
877
+ {
878
+ pointsObject.estimatedPackrunTimestamps = (function(){
879
+ if(jsonObject['points'].estimatedPackrunTimestamps === null)
880
+ {
881
+ return null;
882
+ }
883
+
884
+ if(typeof jsonObject['points'].estimatedPackrunTimestamps !== 'number')
885
+ {
886
+ return Number.isInteger(Number(jsonObject['points'].estimatedPackrunTimestamps)) ? Number(jsonObject['points'].estimatedPackrunTimestamps) : Math.floor(Number(jsonObject['points'].estimatedPackrunTimestamps));
887
+ }
888
+
889
+ return Number.isInteger(jsonObject['points'].estimatedPackrunTimestamps) ? jsonObject['points'].estimatedPackrunTimestamps : Math.floor(jsonObject['points'].estimatedPackrunTimestamps);
890
+ }());
891
+ }
892
+ else
893
+ {
894
+ pointsObject.estimatedPackrunTimestamps = null;
895
+ }
842
896
 
843
897
  return pointsObject;
844
898
  }());
@@ -4508,6 +4562,111 @@ class PackingLineModel extends BaseModel
4508
4562
  {
4509
4563
  pointsObject.manningTeams = null;
4510
4564
  }
4565
+
4566
+ if(typeof jsonObject['shiftManagement'].points === 'object' && 'packrunChangeDurationTargets' in jsonObject['shiftManagement'].points)
4567
+ {
4568
+ pointsObject.packrunChangeDurationTargets = (function(){
4569
+ if(jsonObject['shiftManagement'].points.packrunChangeDurationTargets === null)
4570
+ {
4571
+ return null;
4572
+ }
4573
+
4574
+ if(typeof jsonObject['shiftManagement'].points.packrunChangeDurationTargets !== 'number')
4575
+ {
4576
+ return Number.isInteger(Number(jsonObject['shiftManagement'].points.packrunChangeDurationTargets)) ? Number(jsonObject['shiftManagement'].points.packrunChangeDurationTargets) : Math.floor(Number(jsonObject['shiftManagement'].points.packrunChangeDurationTargets));
4577
+ }
4578
+
4579
+ return Number.isInteger(jsonObject['shiftManagement'].points.packrunChangeDurationTargets) ? jsonObject['shiftManagement'].points.packrunChangeDurationTargets : Math.floor(jsonObject['shiftManagement'].points.packrunChangeDurationTargets);
4580
+ }());
4581
+ }
4582
+ else
4583
+ {
4584
+ pointsObject.packrunChangeDurationTargets = null;
4585
+ }
4586
+
4587
+ if(typeof jsonObject['shiftManagement'].points === 'object' && 'currentShiftDowntimeActive' in jsonObject['shiftManagement'].points)
4588
+ {
4589
+ pointsObject.currentShiftDowntimeActive = (function(){
4590
+ if(jsonObject['shiftManagement'].points.currentShiftDowntimeActive === null)
4591
+ {
4592
+ return null;
4593
+ }
4594
+
4595
+ if(typeof jsonObject['shiftManagement'].points.currentShiftDowntimeActive !== 'number')
4596
+ {
4597
+ return Number.isInteger(Number(jsonObject['shiftManagement'].points.currentShiftDowntimeActive)) ? Number(jsonObject['shiftManagement'].points.currentShiftDowntimeActive) : Math.floor(Number(jsonObject['shiftManagement'].points.currentShiftDowntimeActive));
4598
+ }
4599
+
4600
+ return Number.isInteger(jsonObject['shiftManagement'].points.currentShiftDowntimeActive) ? jsonObject['shiftManagement'].points.currentShiftDowntimeActive : Math.floor(jsonObject['shiftManagement'].points.currentShiftDowntimeActive);
4601
+ }());
4602
+ }
4603
+ else
4604
+ {
4605
+ pointsObject.currentShiftDowntimeActive = null;
4606
+ }
4607
+
4608
+ if(typeof jsonObject['shiftManagement'].points === 'object' && 'currentShiftPackrunChangeActive' in jsonObject['shiftManagement'].points)
4609
+ {
4610
+ pointsObject.currentShiftPackrunChangeActive = (function(){
4611
+ if(jsonObject['shiftManagement'].points.currentShiftPackrunChangeActive === null)
4612
+ {
4613
+ return null;
4614
+ }
4615
+
4616
+ if(typeof jsonObject['shiftManagement'].points.currentShiftPackrunChangeActive !== 'number')
4617
+ {
4618
+ return Number.isInteger(Number(jsonObject['shiftManagement'].points.currentShiftPackrunChangeActive)) ? Number(jsonObject['shiftManagement'].points.currentShiftPackrunChangeActive) : Math.floor(Number(jsonObject['shiftManagement'].points.currentShiftPackrunChangeActive));
4619
+ }
4620
+
4621
+ return Number.isInteger(jsonObject['shiftManagement'].points.currentShiftPackrunChangeActive) ? jsonObject['shiftManagement'].points.currentShiftPackrunChangeActive : Math.floor(jsonObject['shiftManagement'].points.currentShiftPackrunChangeActive);
4622
+ }());
4623
+ }
4624
+ else
4625
+ {
4626
+ pointsObject.currentShiftPackrunChangeActive = null;
4627
+ }
4628
+
4629
+ if(typeof jsonObject['shiftManagement'].points === 'object' && 'currentShiftPackrunChangeSecondsTarget' in jsonObject['shiftManagement'].points)
4630
+ {
4631
+ pointsObject.currentShiftPackrunChangeSecondsTarget = (function(){
4632
+ if(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsTarget === null)
4633
+ {
4634
+ return null;
4635
+ }
4636
+
4637
+ if(typeof jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsTarget !== 'number')
4638
+ {
4639
+ return Number.isInteger(Number(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsTarget)) ? Number(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsTarget) : Math.floor(Number(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsTarget));
4640
+ }
4641
+
4642
+ return Number.isInteger(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsTarget) ? jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsTarget : Math.floor(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsTarget);
4643
+ }());
4644
+ }
4645
+ else
4646
+ {
4647
+ pointsObject.currentShiftPackrunChangeSecondsTarget = null;
4648
+ }
4649
+
4650
+ if(typeof jsonObject['shiftManagement'].points === 'object' && 'currentShiftPackrunChangeSecondsElapsed' in jsonObject['shiftManagement'].points)
4651
+ {
4652
+ pointsObject.currentShiftPackrunChangeSecondsElapsed = (function(){
4653
+ if(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsElapsed === null)
4654
+ {
4655
+ return null;
4656
+ }
4657
+
4658
+ if(typeof jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsElapsed !== 'number')
4659
+ {
4660
+ return Number.isInteger(Number(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsElapsed)) ? Number(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsElapsed) : Math.floor(Number(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsElapsed));
4661
+ }
4662
+
4663
+ return Number.isInteger(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsElapsed) ? jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsElapsed : Math.floor(jsonObject['shiftManagement'].points.currentShiftPackrunChangeSecondsElapsed);
4664
+ }());
4665
+ }
4666
+ else
4667
+ {
4668
+ pointsObject.currentShiftPackrunChangeSecondsElapsed = null;
4669
+ }
4511
4670
 
4512
4671
  return pointsObject;
4513
4672
  }());
@@ -4631,6 +4790,16 @@ class PackingLineModel extends BaseModel
4631
4790
 
4632
4791
  pointsDefaultValue.manningTeams = null;
4633
4792
 
4793
+ pointsDefaultValue.packrunChangeDurationTargets = null;
4794
+
4795
+ pointsDefaultValue.currentShiftDowntimeActive = null;
4796
+
4797
+ pointsDefaultValue.currentShiftPackrunChangeActive = null;
4798
+
4799
+ pointsDefaultValue.currentShiftPackrunChangeSecondsTarget = null;
4800
+
4801
+ pointsDefaultValue.currentShiftPackrunChangeSecondsElapsed = null;
4802
+
4634
4803
  return pointsDefaultValue;
4635
4804
  }());
4636
4805
  }
@@ -6768,6 +6937,215 @@ class PackingLineModel extends BaseModel
6768
6937
  }());
6769
6938
  }
6770
6939
 
6940
+ if('growerNotifications' in jsonObject)
6941
+ {
6942
+ model.growerNotifications = (function(){
6943
+ if(jsonObject['growerNotifications'] === null)
6944
+ {
6945
+ return null;
6946
+ }
6947
+
6948
+ let growerNotificationsObject = {};
6949
+
6950
+ if(typeof jsonObject['growerNotifications'] === 'object' && 'points' in jsonObject['growerNotifications'])
6951
+ {
6952
+ growerNotificationsObject.points = (function(){
6953
+ let pointsObject = {};
6954
+
6955
+ if(typeof jsonObject['growerNotifications'].points === 'object' && 'packingSoonAutoNotificationEnabled' in jsonObject['growerNotifications'].points)
6956
+ {
6957
+ pointsObject.packingSoonAutoNotificationEnabled = (function(){
6958
+ if(typeof jsonObject['growerNotifications'].points.packingSoonAutoNotificationEnabled !== 'number')
6959
+ {
6960
+ return Number.isInteger(Number(jsonObject['growerNotifications'].points.packingSoonAutoNotificationEnabled)) ? Number(jsonObject['growerNotifications'].points.packingSoonAutoNotificationEnabled) : Math.floor(Number(jsonObject['growerNotifications'].points.packingSoonAutoNotificationEnabled));
6961
+ }
6962
+
6963
+ return Number.isInteger(jsonObject['growerNotifications'].points.packingSoonAutoNotificationEnabled) ? jsonObject['growerNotifications'].points.packingSoonAutoNotificationEnabled : Math.floor(jsonObject['growerNotifications'].points.packingSoonAutoNotificationEnabled);
6964
+ }());
6965
+ }
6966
+ else
6967
+ {
6968
+ pointsObject.packingSoonAutoNotificationEnabled = 0;
6969
+ }
6970
+
6971
+ if(typeof jsonObject['growerNotifications'].points === 'object' && 'packingSoonAutoNotificationSeconds' in jsonObject['growerNotifications'].points)
6972
+ {
6973
+ pointsObject.packingSoonAutoNotificationSeconds = (function(){
6974
+ if(typeof jsonObject['growerNotifications'].points.packingSoonAutoNotificationSeconds !== 'number')
6975
+ {
6976
+ return Number.isInteger(Number(jsonObject['growerNotifications'].points.packingSoonAutoNotificationSeconds)) ? Number(jsonObject['growerNotifications'].points.packingSoonAutoNotificationSeconds) : Math.floor(Number(jsonObject['growerNotifications'].points.packingSoonAutoNotificationSeconds));
6977
+ }
6978
+
6979
+ return Number.isInteger(jsonObject['growerNotifications'].points.packingSoonAutoNotificationSeconds) ? jsonObject['growerNotifications'].points.packingSoonAutoNotificationSeconds : Math.floor(jsonObject['growerNotifications'].points.packingSoonAutoNotificationSeconds);
6980
+ }());
6981
+ }
6982
+ else
6983
+ {
6984
+ pointsObject.packingSoonAutoNotificationSeconds = 0;
6985
+ }
6986
+
6987
+ if(typeof jsonObject['growerNotifications'].points === 'object' && 'packingTodayAutoNotificationEnabled' in jsonObject['growerNotifications'].points)
6988
+ {
6989
+ pointsObject.packingTodayAutoNotificationEnabled = (function(){
6990
+ if(typeof jsonObject['growerNotifications'].points.packingTodayAutoNotificationEnabled !== 'number')
6991
+ {
6992
+ return Number.isInteger(Number(jsonObject['growerNotifications'].points.packingTodayAutoNotificationEnabled)) ? Number(jsonObject['growerNotifications'].points.packingTodayAutoNotificationEnabled) : Math.floor(Number(jsonObject['growerNotifications'].points.packingTodayAutoNotificationEnabled));
6993
+ }
6994
+
6995
+ return Number.isInteger(jsonObject['growerNotifications'].points.packingTodayAutoNotificationEnabled) ? jsonObject['growerNotifications'].points.packingTodayAutoNotificationEnabled : Math.floor(jsonObject['growerNotifications'].points.packingTodayAutoNotificationEnabled);
6996
+ }());
6997
+ }
6998
+ else
6999
+ {
7000
+ pointsObject.packingTodayAutoNotificationEnabled = 0;
7001
+ }
7002
+
7003
+ if(typeof jsonObject['growerNotifications'].points === 'object' && 'packingTodayAutoNotificationTime' in jsonObject['growerNotifications'].points)
7004
+ {
7005
+ pointsObject.packingTodayAutoNotificationTime = (function(){
7006
+ if(typeof jsonObject['growerNotifications'].points.packingTodayAutoNotificationTime !== 'number')
7007
+ {
7008
+ return Number.isInteger(Number(jsonObject['growerNotifications'].points.packingTodayAutoNotificationTime)) ? Number(jsonObject['growerNotifications'].points.packingTodayAutoNotificationTime) : Math.floor(Number(jsonObject['growerNotifications'].points.packingTodayAutoNotificationTime));
7009
+ }
7010
+
7011
+ return Number.isInteger(jsonObject['growerNotifications'].points.packingTodayAutoNotificationTime) ? jsonObject['growerNotifications'].points.packingTodayAutoNotificationTime : Math.floor(jsonObject['growerNotifications'].points.packingTodayAutoNotificationTime);
7012
+ }());
7013
+ }
7014
+ else
7015
+ {
7016
+ pointsObject.packingTodayAutoNotificationTime = 0;
7017
+ }
7018
+
7019
+ if(typeof jsonObject['growerNotifications'].points === 'object' && 'sendPackingTodayNotificationRequest' in jsonObject['growerNotifications'].points)
7020
+ {
7021
+ pointsObject.sendPackingTodayNotificationRequest = (function(){
7022
+ if(typeof jsonObject['growerNotifications'].points.sendPackingTodayNotificationRequest !== 'number')
7023
+ {
7024
+ return Number.isInteger(Number(jsonObject['growerNotifications'].points.sendPackingTodayNotificationRequest)) ? Number(jsonObject['growerNotifications'].points.sendPackingTodayNotificationRequest) : Math.floor(Number(jsonObject['growerNotifications'].points.sendPackingTodayNotificationRequest));
7025
+ }
7026
+
7027
+ return Number.isInteger(jsonObject['growerNotifications'].points.sendPackingTodayNotificationRequest) ? jsonObject['growerNotifications'].points.sendPackingTodayNotificationRequest : Math.floor(jsonObject['growerNotifications'].points.sendPackingTodayNotificationRequest);
7028
+ }());
7029
+ }
7030
+ else
7031
+ {
7032
+ pointsObject.sendPackingTodayNotificationRequest = 0;
7033
+ }
7034
+
7035
+ if(typeof jsonObject['growerNotifications'].points === 'object' && 'packingTodayNotificationProcessed' in jsonObject['growerNotifications'].points)
7036
+ {
7037
+ pointsObject.packingTodayNotificationProcessed = (function(){
7038
+ if(typeof jsonObject['growerNotifications'].points.packingTodayNotificationProcessed !== 'number')
7039
+ {
7040
+ return Number.isInteger(Number(jsonObject['growerNotifications'].points.packingTodayNotificationProcessed)) ? Number(jsonObject['growerNotifications'].points.packingTodayNotificationProcessed) : Math.floor(Number(jsonObject['growerNotifications'].points.packingTodayNotificationProcessed));
7041
+ }
7042
+
7043
+ return Number.isInteger(jsonObject['growerNotifications'].points.packingTodayNotificationProcessed) ? jsonObject['growerNotifications'].points.packingTodayNotificationProcessed : Math.floor(jsonObject['growerNotifications'].points.packingTodayNotificationProcessed);
7044
+ }());
7045
+ }
7046
+ else
7047
+ {
7048
+ pointsObject.packingTodayNotificationProcessed = 0;
7049
+ }
7050
+
7051
+ if(typeof jsonObject['growerNotifications'].points === 'object' && 'externalContactsCommunicationStatus' in jsonObject['growerNotifications'].points)
7052
+ {
7053
+ pointsObject.externalContactsCommunicationStatus = (function(){
7054
+ if(typeof jsonObject['growerNotifications'].points.externalContactsCommunicationStatus !== 'number')
7055
+ {
7056
+ return Number.isInteger(Number(jsonObject['growerNotifications'].points.externalContactsCommunicationStatus)) ? Number(jsonObject['growerNotifications'].points.externalContactsCommunicationStatus) : Math.floor(Number(jsonObject['growerNotifications'].points.externalContactsCommunicationStatus));
7057
+ }
7058
+
7059
+ return Number.isInteger(jsonObject['growerNotifications'].points.externalContactsCommunicationStatus) ? jsonObject['growerNotifications'].points.externalContactsCommunicationStatus : Math.floor(jsonObject['growerNotifications'].points.externalContactsCommunicationStatus);
7060
+ }());
7061
+ }
7062
+ else
7063
+ {
7064
+ pointsObject.externalContactsCommunicationStatus = 0;
7065
+ }
7066
+
7067
+ if(typeof jsonObject['growerNotifications'].points === 'object' && 'externalContactsCommunicationLastAttempt' in jsonObject['growerNotifications'].points)
7068
+ {
7069
+ pointsObject.externalContactsCommunicationLastAttempt = (function(){
7070
+ if(typeof jsonObject['growerNotifications'].points.externalContactsCommunicationLastAttempt !== 'number')
7071
+ {
7072
+ return Number.isInteger(Number(jsonObject['growerNotifications'].points.externalContactsCommunicationLastAttempt)) ? Number(jsonObject['growerNotifications'].points.externalContactsCommunicationLastAttempt) : Math.floor(Number(jsonObject['growerNotifications'].points.externalContactsCommunicationLastAttempt));
7073
+ }
7074
+
7075
+ return Number.isInteger(jsonObject['growerNotifications'].points.externalContactsCommunicationLastAttempt) ? jsonObject['growerNotifications'].points.externalContactsCommunicationLastAttempt : Math.floor(jsonObject['growerNotifications'].points.externalContactsCommunicationLastAttempt);
7076
+ }());
7077
+ }
7078
+ else
7079
+ {
7080
+ pointsObject.externalContactsCommunicationLastAttempt = 0;
7081
+ }
7082
+
7083
+ if(typeof jsonObject['growerNotifications'].points === 'object' && 'externalContactsCommunicationLastError' in jsonObject['growerNotifications'].points)
7084
+ {
7085
+ pointsObject.externalContactsCommunicationLastError = (function(){
7086
+ if(typeof jsonObject['growerNotifications'].points.externalContactsCommunicationLastError !== 'number')
7087
+ {
7088
+ return Number.isInteger(Number(jsonObject['growerNotifications'].points.externalContactsCommunicationLastError)) ? Number(jsonObject['growerNotifications'].points.externalContactsCommunicationLastError) : Math.floor(Number(jsonObject['growerNotifications'].points.externalContactsCommunicationLastError));
7089
+ }
7090
+
7091
+ return Number.isInteger(jsonObject['growerNotifications'].points.externalContactsCommunicationLastError) ? jsonObject['growerNotifications'].points.externalContactsCommunicationLastError : Math.floor(jsonObject['growerNotifications'].points.externalContactsCommunicationLastError);
7092
+ }());
7093
+ }
7094
+ else
7095
+ {
7096
+ pointsObject.externalContactsCommunicationLastError = 0;
7097
+ }
7098
+
7099
+ return pointsObject;
7100
+ }());
7101
+ }
7102
+ else
7103
+ {
7104
+ growerNotificationsObject.points = (function(){
7105
+ let pointsDefaultValue = {};
7106
+
7107
+ pointsDefaultValue.packingSoonAutoNotificationEnabled = 0;
7108
+
7109
+ pointsDefaultValue.packingSoonAutoNotificationSeconds = 0;
7110
+
7111
+ pointsDefaultValue.packingTodayAutoNotificationEnabled = 0;
7112
+
7113
+ pointsDefaultValue.packingTodayAutoNotificationTime = 0;
7114
+
7115
+ pointsDefaultValue.sendPackingTodayNotificationRequest = 0;
7116
+
7117
+ pointsDefaultValue.packingTodayNotificationProcessed = 0;
7118
+
7119
+ pointsDefaultValue.externalContactsCommunicationStatus = 0;
7120
+
7121
+ pointsDefaultValue.externalContactsCommunicationLastAttempt = 0;
7122
+
7123
+ pointsDefaultValue.externalContactsCommunicationLastError = 0;
7124
+
7125
+ return pointsDefaultValue;
7126
+ }());
7127
+ }
7128
+
7129
+ if(typeof jsonObject['growerNotifications'] === 'object' && 'enabled' in jsonObject['growerNotifications'])
7130
+ {
7131
+ growerNotificationsObject.enabled = (function(){
7132
+ if(typeof jsonObject['growerNotifications'].enabled !== 'boolean')
7133
+ {
7134
+ return Boolean(jsonObject['growerNotifications'].enabled);
7135
+ }
7136
+
7137
+ return jsonObject['growerNotifications'].enabled;
7138
+ }());
7139
+ }
7140
+ else
7141
+ {
7142
+ growerNotificationsObject.enabled = false;
7143
+ }
7144
+
7145
+ return growerNotificationsObject;
7146
+ }());
7147
+ }
7148
+
6771
7149
  if('deleted' in jsonObject)
6772
7150
  {
6773
7151
  model.deleted = (function(){