@ricado/api-client 2.1.1 → 2.3.1
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.
- package/dist/ricado.api.client.js +1 -1
- package/lib/Controllers/Packhouse/Site/BinTipBinController.js +622 -0
- package/lib/Controllers/Packhouse/Site/CompacSizerController.js +3 -3
- package/lib/Controllers/Packhouse/Site/FreshQualityPackrunSummaryController.js +657 -0
- package/lib/Controllers/Packhouse/Site/PackingLineController.js +29 -1
- package/lib/Controllers/Packhouse/Site/PackrunController.js +42 -0
- package/lib/Controllers/Packhouse/Site/ShiftHourlyEntryController.js +15 -0
- package/lib/Controllers/Packhouse/Site/ShiftQualitySummaryController.js +661 -0
- package/lib/Controllers/Packhouse/Site/ShiftTaskController.js +628 -0
- package/lib/Controllers/Packhouse/Site/index.js +12 -0
- package/lib/DataItems/PointValueItem.js +3 -3
- package/lib/Models/AccountPolicyModel.js +7 -7
- package/lib/Models/ApiAccountModel.js +7 -7
- package/lib/Models/CompanyModel.js +5 -5
- package/lib/Models/FirebaseTokenModel.js +8 -8
- package/lib/Models/Packhouse/Site/BinTipBinModel.js +367 -0
- package/lib/Models/Packhouse/Site/BinTipWeightModel.js +9 -9
- package/lib/Models/Packhouse/Site/CompacSizerBatchModel.js +8 -8
- package/lib/Models/Packhouse/Site/CompacSizerModel.js +15 -15
- package/lib/Models/Packhouse/Site/CompacSizerOutletProductChangeModel.js +10 -10
- package/lib/Models/Packhouse/Site/CompacSizerOutletTypeChangeModel.js +8 -8
- package/lib/Models/Packhouse/Site/CompacSizerOutletTypeModel.js +6 -6
- package/lib/Models/Packhouse/Site/CompacSizerPackrunSummaryModel.js +12 -12
- package/lib/Models/Packhouse/Site/DowntimeEventModel.js +14 -14
- package/lib/Models/Packhouse/Site/FreshPackPackrunSummaryModel.js +8 -8
- package/lib/Models/Packhouse/Site/FreshQualityPackrunSummaryModel.js +481 -0
- package/lib/Models/Packhouse/Site/GrowingMethodModel.js +6 -6
- package/lib/Models/Packhouse/Site/PackTypeModel.js +8 -8
- package/lib/Models/Packhouse/Site/PackingLineModel.js +583 -16
- package/lib/Models/Packhouse/Site/PackrunModel.js +81 -15
- package/lib/Models/Packhouse/Site/RejectBinModel.js +9 -9
- package/lib/Models/Packhouse/Site/RejectBinScaleModel.js +23 -23
- package/lib/Models/Packhouse/Site/RejectBinWeightModel.js +10 -10
- package/lib/Models/Packhouse/Site/ShiftFocusMeetingModel.js +12 -12
- package/lib/Models/Packhouse/Site/ShiftHourlyEntryModel.js +204 -38
- package/lib/Models/Packhouse/Site/ShiftModel.js +26 -19
- package/lib/Models/Packhouse/Site/ShiftQualitySummaryModel.js +599 -0
- package/lib/Models/Packhouse/Site/ShiftTaskModel.js +373 -0
- package/lib/Models/Packhouse/Site/SoftSortBeltModel.js +7 -7
- package/lib/Models/Packhouse/Site/VarietyModel.js +8 -8
- package/lib/Models/Packhouse/Site/index.js +12 -0
- package/lib/Models/RTUModel.js +6 -6
- package/lib/Models/RTUPluginModel.js +5 -5
- package/lib/Models/Site/AlarmGroupModel.js +7 -7
- package/lib/Models/Site/AlarmModel.js +17 -17
- package/lib/Models/Site/DefinitionModel.js +6 -6
- package/lib/Models/Site/PermanentObjectDataModel.js +8 -8
- package/lib/Models/Site/PermanentObjectModel.js +7 -7
- package/lib/Models/Site/PointModel.js +11 -11
- package/lib/Models/Site/TemporaryObjectModel.js +6 -6
- package/lib/Models/SiteModel.js +6 -6
- package/lib/Models/TokenModel.js +10 -10
- package/lib/Models/UserAccountActionTokenModel.js +11 -11
- package/lib/Models/UserAccountModel.js +10 -10
- package/lib/PackageVersion.js +1 -1
- package/lib/Points.js +22 -12
- package/lib/WebSocketHelper.js +29 -13
- package/lib/index.d.ts +2473 -348
- package/lib/index.js +3 -3
- package/package.json +1 -1
- package/src/Controllers/Packhouse/Site/BinTipBinController.js +665 -0
- package/src/Controllers/Packhouse/Site/CompacSizerController.js +3 -3
- package/src/Controllers/Packhouse/Site/FreshQualityPackrunSummaryController.js +700 -0
- package/src/Controllers/Packhouse/Site/PackingLineController.js +29 -1
- package/src/Controllers/Packhouse/Site/PackrunController.js +52 -0
- package/src/Controllers/Packhouse/Site/ShiftHourlyEntryController.js +15 -0
- package/src/Controllers/Packhouse/Site/ShiftQualitySummaryController.js +704 -0
- package/src/Controllers/Packhouse/Site/ShiftTaskController.js +671 -0
- package/src/Controllers/Packhouse/Site/index.js +8 -0
- package/src/DataItems/PointValueItem.js +3 -3
- package/src/Models/AccountPolicyModel.js +7 -7
- package/src/Models/ApiAccountModel.js +7 -7
- package/src/Models/CompanyModel.js +5 -5
- package/src/Models/FirebaseTokenModel.js +8 -8
- package/src/Models/Packhouse/Site/BinTipBinModel.js +365 -0
- package/src/Models/Packhouse/Site/BinTipWeightModel.js +9 -9
- package/src/Models/Packhouse/Site/CompacSizerBatchModel.js +8 -8
- package/src/Models/Packhouse/Site/CompacSizerModel.js +15 -15
- package/src/Models/Packhouse/Site/CompacSizerOutletProductChangeModel.js +10 -10
- package/src/Models/Packhouse/Site/CompacSizerOutletTypeChangeModel.js +8 -8
- package/src/Models/Packhouse/Site/CompacSizerOutletTypeModel.js +6 -6
- package/src/Models/Packhouse/Site/CompacSizerPackrunSummaryModel.js +12 -12
- package/src/Models/Packhouse/Site/DowntimeEventModel.js +14 -14
- package/src/Models/Packhouse/Site/FreshPackPackrunSummaryModel.js +8 -8
- package/src/Models/Packhouse/Site/FreshQualityPackrunSummaryModel.js +523 -0
- package/src/Models/Packhouse/Site/GrowingMethodModel.js +6 -6
- package/src/Models/Packhouse/Site/PackTypeModel.js +8 -8
- package/src/Models/Packhouse/Site/PackingLineModel.js +770 -16
- package/src/Models/Packhouse/Site/PackrunModel.js +90 -15
- package/src/Models/Packhouse/Site/RejectBinModel.js +9 -9
- package/src/Models/Packhouse/Site/RejectBinScaleModel.js +23 -23
- package/src/Models/Packhouse/Site/RejectBinWeightModel.js +10 -10
- package/src/Models/Packhouse/Site/ShiftFocusMeetingModel.js +12 -12
- package/src/Models/Packhouse/Site/ShiftHourlyEntryModel.js +229 -38
- package/src/Models/Packhouse/Site/ShiftModel.js +29 -19
- package/src/Models/Packhouse/Site/ShiftQualitySummaryModel.js +664 -0
- package/src/Models/Packhouse/Site/ShiftTaskModel.js +369 -0
- package/src/Models/Packhouse/Site/SoftSortBeltModel.js +7 -7
- package/src/Models/Packhouse/Site/VarietyModel.js +8 -8
- package/src/Models/Packhouse/Site/index.js +8 -0
- package/src/Models/RTUModel.js +6 -6
- package/src/Models/RTUPluginModel.js +5 -5
- package/src/Models/Site/AlarmGroupModel.js +7 -7
- package/src/Models/Site/AlarmModel.js +17 -17
- package/src/Models/Site/DefinitionModel.js +6 -6
- package/src/Models/Site/PermanentObjectDataModel.js +8 -8
- package/src/Models/Site/PermanentObjectModel.js +7 -7
- package/src/Models/Site/PointModel.js +11 -11
- package/src/Models/Site/TemporaryObjectModel.js +6 -6
- package/src/Models/SiteModel.js +6 -6
- package/src/Models/TokenModel.js +10 -10
- package/src/Models/UserAccountActionTokenModel.js +11 -11
- package/src/Models/UserAccountModel.js +10 -10
- package/src/PackageVersion.js +1 -1
- package/src/Points.js +24 -12
- package/src/WebSocketHelper.js +34 -13
- package/src/index.js +3 -3
- package/types/tslint.json +2 -1
|
@@ -30,7 +30,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
30
30
|
* @type {string}
|
|
31
31
|
* @public
|
|
32
32
|
*/
|
|
33
|
-
this.id =
|
|
33
|
+
this.id = "";
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* The Account this Action Token belongs to
|
|
@@ -38,7 +38,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
38
38
|
* @type {string}
|
|
39
39
|
* @public
|
|
40
40
|
*/
|
|
41
|
-
this.accountId =
|
|
41
|
+
this.accountId = "";
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* The Company this Action Token belongs to
|
|
@@ -46,7 +46,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
46
46
|
* @type {string}
|
|
47
47
|
* @public
|
|
48
48
|
*/
|
|
49
|
-
this.companyId =
|
|
49
|
+
this.companyId = "";
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* The Action that can be Performed using this Action Token
|
|
@@ -54,7 +54,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
54
54
|
* @type {string}
|
|
55
55
|
* @public
|
|
56
56
|
*/
|
|
57
|
-
this.action =
|
|
57
|
+
this.action = "";
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* When the Action Token was issued
|
|
@@ -62,7 +62,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
62
62
|
* @type {Date}
|
|
63
63
|
* @public
|
|
64
64
|
*/
|
|
65
|
-
this.issueTimestamp =
|
|
65
|
+
this.issueTimestamp = new Date();
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* When the Action Token will expire
|
|
@@ -70,7 +70,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
70
70
|
* @type {Date}
|
|
71
71
|
* @public
|
|
72
72
|
*/
|
|
73
|
-
this.expireTimestamp =
|
|
73
|
+
this.expireTimestamp = new Date();
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* When the last API call using this Action Token was made
|
|
@@ -78,7 +78,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
78
78
|
* @type {?Date}
|
|
79
79
|
* @public
|
|
80
80
|
*/
|
|
81
|
-
this.activityTimestamp =
|
|
81
|
+
this.activityTimestamp = null;
|
|
82
82
|
|
|
83
83
|
/**
|
|
84
84
|
* When the Action was Completed
|
|
@@ -86,7 +86,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
86
86
|
* @type {?Date}
|
|
87
87
|
* @public
|
|
88
88
|
*/
|
|
89
|
-
this.completedTimestamp =
|
|
89
|
+
this.completedTimestamp = null;
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* When the Action Email was Sent
|
|
@@ -94,7 +94,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
94
94
|
* @type {?Date}
|
|
95
95
|
* @public
|
|
96
96
|
*/
|
|
97
|
-
this.emailTimestamp =
|
|
97
|
+
this.emailTimestamp = null;
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
100
|
* Whether the User Account Action Token has been deleted
|
|
@@ -102,7 +102,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
102
102
|
* @type {boolean}
|
|
103
103
|
* @public
|
|
104
104
|
*/
|
|
105
|
-
this.deleted =
|
|
105
|
+
this.deleted = false;
|
|
106
106
|
|
|
107
107
|
/**
|
|
108
108
|
* When the User Account Action Token was last updated
|
|
@@ -110,7 +110,7 @@ class UserAccountActionTokenModel extends BaseModel
|
|
|
110
110
|
* @type {Date}
|
|
111
111
|
* @public
|
|
112
112
|
*/
|
|
113
|
-
this.updateTimestamp =
|
|
113
|
+
this.updateTimestamp = new Date();
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
/**
|
|
@@ -30,7 +30,7 @@ class UserAccountModel extends BaseModel
|
|
|
30
30
|
* @type {string}
|
|
31
31
|
* @public
|
|
32
32
|
*/
|
|
33
|
-
this.id =
|
|
33
|
+
this.id = "";
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* The User's Email Address
|
|
@@ -38,7 +38,7 @@ class UserAccountModel extends BaseModel
|
|
|
38
38
|
* @type {string}
|
|
39
39
|
* @public
|
|
40
40
|
*/
|
|
41
|
-
this.email =
|
|
41
|
+
this.email = "";
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* The User's First Name
|
|
@@ -46,7 +46,7 @@ class UserAccountModel extends BaseModel
|
|
|
46
46
|
* @type {?string}
|
|
47
47
|
* @public
|
|
48
48
|
*/
|
|
49
|
-
this.firstName =
|
|
49
|
+
this.firstName = null;
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* The User's Last Name
|
|
@@ -54,7 +54,7 @@ class UserAccountModel extends BaseModel
|
|
|
54
54
|
* @type {?string}
|
|
55
55
|
* @public
|
|
56
56
|
*/
|
|
57
|
-
this.lastName =
|
|
57
|
+
this.lastName = null;
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* The Company this User belongs to
|
|
@@ -62,7 +62,7 @@ class UserAccountModel extends BaseModel
|
|
|
62
62
|
* @type {string}
|
|
63
63
|
* @public
|
|
64
64
|
*/
|
|
65
|
-
this.companyId =
|
|
65
|
+
this.companyId = "";
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* The Policies that apply to this User Account
|
|
@@ -70,7 +70,7 @@ class UserAccountModel extends BaseModel
|
|
|
70
70
|
* @type {string[]}
|
|
71
71
|
* @public
|
|
72
72
|
*/
|
|
73
|
-
this.policies =
|
|
73
|
+
this.policies = [];
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* Whether a Password has been Set for the User Account
|
|
@@ -78,7 +78,7 @@ class UserAccountModel extends BaseModel
|
|
|
78
78
|
* @type {boolean}
|
|
79
79
|
* @public
|
|
80
80
|
*/
|
|
81
|
-
this.hasPassword =
|
|
81
|
+
this.hasPassword = false;
|
|
82
82
|
|
|
83
83
|
/**
|
|
84
84
|
* Whether a Pin Code has been Set for the User Account
|
|
@@ -86,7 +86,7 @@ class UserAccountModel extends BaseModel
|
|
|
86
86
|
* @type {boolean}
|
|
87
87
|
* @public
|
|
88
88
|
*/
|
|
89
|
-
this.hasPinCode =
|
|
89
|
+
this.hasPinCode = false;
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* Whether the User Account has been deleted
|
|
@@ -94,7 +94,7 @@ class UserAccountModel extends BaseModel
|
|
|
94
94
|
* @type {boolean}
|
|
95
95
|
* @public
|
|
96
96
|
*/
|
|
97
|
-
this.deleted =
|
|
97
|
+
this.deleted = false;
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
100
|
* When the User Account was last updated
|
|
@@ -102,7 +102,7 @@ class UserAccountModel extends BaseModel
|
|
|
102
102
|
* @type {Date}
|
|
103
103
|
* @public
|
|
104
104
|
*/
|
|
105
|
-
this.updateTimestamp =
|
|
105
|
+
this.updateTimestamp = new Date();
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
/**
|
package/src/PackageVersion.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// generated by genversion
|
|
2
|
-
export const version = '2.
|
|
2
|
+
export const version = '2.3.1';
|
package/src/Points.js
CHANGED
|
@@ -24,7 +24,7 @@ class Points
|
|
|
24
24
|
* An EventEmitter Instance
|
|
25
25
|
*
|
|
26
26
|
* @private
|
|
27
|
-
* @type {EventEmitter}
|
|
27
|
+
* @type {EventEmitter|undefined}
|
|
28
28
|
*/
|
|
29
29
|
static _emitter = undefined;
|
|
30
30
|
|
|
@@ -34,7 +34,7 @@ class Points
|
|
|
34
34
|
* @private
|
|
35
35
|
* @type {Object<number, {initializing: boolean, completed: boolean, pointIds: number[]}>}
|
|
36
36
|
*/
|
|
37
|
-
static _subscriptions =
|
|
37
|
+
static _subscriptions = {};
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
40
|
* An Array of PointModel Definitions
|
|
@@ -42,7 +42,7 @@ class Points
|
|
|
42
42
|
* @private
|
|
43
43
|
* @type {Object<number, Object<number, PointModel>>}
|
|
44
44
|
*/
|
|
45
|
-
static _definitions =
|
|
45
|
+
static _definitions = {};
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* An Array of Point Values
|
|
@@ -50,7 +50,7 @@ class Points
|
|
|
50
50
|
* @private
|
|
51
51
|
* @type {Object<number, Object<number, Points.PointValueItem>>}
|
|
52
52
|
*/
|
|
53
|
-
static _values =
|
|
53
|
+
static _values = {};
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Initialize
|
|
@@ -83,7 +83,13 @@ class Points
|
|
|
83
83
|
Points._values = {};
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
WebSocketHelper.on('readpoints',
|
|
86
|
+
WebSocketHelper.on('readpoints',
|
|
87
|
+
/**
|
|
88
|
+
* @param {string} key
|
|
89
|
+
* @param {Array<{id: number, timestamp: string, value: any}>} readPoints
|
|
90
|
+
*/
|
|
91
|
+
(key, readPoints) => {
|
|
92
|
+
|
|
87
93
|
if(isDefined(key) && key.includes('.') && readPoints.length > 0)
|
|
88
94
|
{
|
|
89
95
|
let keyId = key.split('.')[1];
|
|
@@ -102,7 +108,7 @@ class Points
|
|
|
102
108
|
siteId = this.getDefaultSiteId();
|
|
103
109
|
}
|
|
104
110
|
|
|
105
|
-
if(isDefined(siteId) && siteId > 0)
|
|
111
|
+
if(isDefined(siteId) && siteId !== undefined && siteId > 0)
|
|
106
112
|
{
|
|
107
113
|
if((siteId in Points._values) != true)
|
|
108
114
|
{
|
|
@@ -134,7 +140,10 @@ class Points
|
|
|
134
140
|
}
|
|
135
141
|
});
|
|
136
142
|
|
|
137
|
-
Points._emitter
|
|
143
|
+
if(Points._emitter !== undefined)
|
|
144
|
+
{
|
|
145
|
+
Points._emitter.emit('readpoints', siteId, pointValueItems);
|
|
146
|
+
}
|
|
138
147
|
}
|
|
139
148
|
}
|
|
140
149
|
});
|
|
@@ -312,7 +321,7 @@ class Points
|
|
|
312
321
|
*/
|
|
313
322
|
static on(event, handler)
|
|
314
323
|
{
|
|
315
|
-
if(isDefined(Points._emitter) != true)
|
|
324
|
+
if(isDefined(Points._emitter) != true || Points._emitter === undefined)
|
|
316
325
|
{
|
|
317
326
|
Points._emitter = new EventEmitter();
|
|
318
327
|
}
|
|
@@ -330,7 +339,7 @@ class Points
|
|
|
330
339
|
*/
|
|
331
340
|
static off(event, handler)
|
|
332
341
|
{
|
|
333
|
-
if(isDefined(Points._emitter))
|
|
342
|
+
if(isDefined(Points._emitter) && Points._emitter !== undefined)
|
|
334
343
|
{
|
|
335
344
|
Points._emitter.off(event, handler);
|
|
336
345
|
}
|
|
@@ -424,18 +433,21 @@ class Points
|
|
|
424
433
|
if(siteId <= 0)
|
|
425
434
|
{
|
|
426
435
|
reject(new Error("Invalid Site ID `" + siteId + "`"));
|
|
436
|
+
return;
|
|
427
437
|
}
|
|
428
438
|
|
|
429
439
|
if(pointId <= 0)
|
|
430
440
|
{
|
|
431
441
|
reject(new Error("Invalid Point ID `" + pointId + "`"));
|
|
442
|
+
return;
|
|
432
443
|
}
|
|
433
444
|
|
|
434
445
|
let pointDefinition = Points.getDefinition(siteId, pointId);
|
|
435
446
|
|
|
436
|
-
if(isDefined(pointDefinition) != true || pointDefinition.id != pointId)
|
|
447
|
+
if(isDefined(pointDefinition) != true || pointDefinition === undefined || pointDefinition.id != pointId)
|
|
437
448
|
{
|
|
438
449
|
reject(new Error("Unknown Point ID `" + pointId + "` for Site ID `" + siteId + "`"));
|
|
450
|
+
return;
|
|
439
451
|
}
|
|
440
452
|
|
|
441
453
|
WebSocketHelper.emit('createWritePoint', siteId, pointId, value, pointDefinition.valueType, false, (guid) => {
|
|
@@ -522,7 +534,7 @@ class Points
|
|
|
522
534
|
}
|
|
523
535
|
});
|
|
524
536
|
|
|
525
|
-
if(changedPoints.length > 0)
|
|
537
|
+
if(changedPoints.length > 0 && Points._emitter !== undefined)
|
|
526
538
|
{
|
|
527
539
|
Points._emitter.emit('readpoints', siteId, changedPoints);
|
|
528
540
|
}
|
|
@@ -563,7 +575,7 @@ class Points
|
|
|
563
575
|
* The Events Callback
|
|
564
576
|
*
|
|
565
577
|
* @callback Points.eventCallback
|
|
566
|
-
* @param {...any
|
|
578
|
+
* @param {...any} args - The Callback Arguments
|
|
567
579
|
* @return {void}
|
|
568
580
|
*/
|
|
569
581
|
|
package/src/WebSocketHelper.js
CHANGED
|
@@ -13,7 +13,7 @@ class WebSocketHelper
|
|
|
13
13
|
* An Event Emitter Instance
|
|
14
14
|
*
|
|
15
15
|
* @private
|
|
16
|
-
* @type {EventEmitter}
|
|
16
|
+
* @type {EventEmitter|undefined}
|
|
17
17
|
*/
|
|
18
18
|
static _emitter = undefined;
|
|
19
19
|
|
|
@@ -23,13 +23,13 @@ class WebSocketHelper
|
|
|
23
23
|
* @private
|
|
24
24
|
* @type {string[]}
|
|
25
25
|
*/
|
|
26
|
-
static _subscriptions =
|
|
26
|
+
static _subscriptions = [];
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* The Socket.IO WebSocket Instance
|
|
30
30
|
*
|
|
31
31
|
* @private
|
|
32
|
-
* @type {SocketIOClient.Socket}
|
|
32
|
+
* @type {SocketIOClient.Socket|undefined}
|
|
33
33
|
*/
|
|
34
34
|
static _socket = undefined;
|
|
35
35
|
|
|
@@ -74,6 +74,11 @@ class WebSocketHelper
|
|
|
74
74
|
// Fired every time we attempt to reconnect.
|
|
75
75
|
// `attempt` holds the count of attempts so far
|
|
76
76
|
|
|
77
|
+
if(WebSocketHelper._socket === undefined)
|
|
78
|
+
{
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
|
|
77
82
|
WebSocketHelper._socket.io.opts.transports = ['websocket'];
|
|
78
83
|
|
|
79
84
|
WebSocketHelper._socket.io.opts.query = {
|
|
@@ -91,7 +96,10 @@ class WebSocketHelper
|
|
|
91
96
|
if(isDefined(WebSocketHelper._subscriptions))
|
|
92
97
|
{
|
|
93
98
|
WebSocketHelper._subscriptions.forEach((subscription) => {
|
|
94
|
-
WebSocketHelper._socket
|
|
99
|
+
if(WebSocketHelper._socket !== undefined)
|
|
100
|
+
{
|
|
101
|
+
WebSocketHelper._socket.emit('subscribe', subscription);
|
|
102
|
+
}
|
|
95
103
|
});
|
|
96
104
|
}
|
|
97
105
|
});
|
|
@@ -110,7 +118,10 @@ class WebSocketHelper
|
|
|
110
118
|
if(reason == 'io server disconnect')
|
|
111
119
|
{
|
|
112
120
|
setTimeout(() => {
|
|
113
|
-
WebSocketHelper._socket
|
|
121
|
+
if(WebSocketHelper._socket !== undefined)
|
|
122
|
+
{
|
|
123
|
+
WebSocketHelper._socket.connect();
|
|
124
|
+
}
|
|
114
125
|
}, 5000);
|
|
115
126
|
}
|
|
116
127
|
});
|
|
@@ -137,6 +148,11 @@ class WebSocketHelper
|
|
|
137
148
|
});
|
|
138
149
|
|
|
139
150
|
WebSocketHelper._socket.on('*', (event, ...args) => {
|
|
151
|
+
if(WebSocketHelper._emitter === undefined)
|
|
152
|
+
{
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
|
|
140
156
|
WebSocketHelper._emitter.emit(event, ...args);
|
|
141
157
|
});
|
|
142
158
|
}
|
|
@@ -179,7 +195,7 @@ class WebSocketHelper
|
|
|
179
195
|
* @public
|
|
180
196
|
* @param {string} [key] - The Site ID or RTU ID Key (e.g. site.2 or rtu.1200)
|
|
181
197
|
*/
|
|
182
|
-
static subscribe(key =
|
|
198
|
+
static subscribe(key = undefined)
|
|
183
199
|
{
|
|
184
200
|
// TODO: Re-Write as Async (Use a Promise) and set up an "Ack" callback so we know the WebSocket Server has Subscribed us
|
|
185
201
|
|
|
@@ -188,7 +204,7 @@ class WebSocketHelper
|
|
|
188
204
|
WebSocketHelper._subscriptions = [];
|
|
189
205
|
}
|
|
190
206
|
|
|
191
|
-
if(isDefined(key) != true)
|
|
207
|
+
if(isDefined(key) != true || key === undefined)
|
|
192
208
|
{
|
|
193
209
|
key = 'all';
|
|
194
210
|
}
|
|
@@ -198,7 +214,7 @@ class WebSocketHelper
|
|
|
198
214
|
WebSocketHelper._subscriptions.push(key);
|
|
199
215
|
}
|
|
200
216
|
|
|
201
|
-
if(isDefined(WebSocketHelper._socket))
|
|
217
|
+
if(isDefined(WebSocketHelper._socket) && WebSocketHelper._socket !== undefined)
|
|
202
218
|
{
|
|
203
219
|
WebSocketHelper._socket.emit('subscribe', key);
|
|
204
220
|
}
|
|
@@ -211,7 +227,7 @@ class WebSocketHelper
|
|
|
211
227
|
* @public
|
|
212
228
|
* @param {string} [key] - The Site ID or RTU ID Key (e.g. site.2 or rtu.1200)
|
|
213
229
|
*/
|
|
214
|
-
static unsubscribe(key =
|
|
230
|
+
static unsubscribe(key = undefined)
|
|
215
231
|
{
|
|
216
232
|
// TODO: Re-Write as Async (Use a Promise) and set up an "Ack" callback so we know the WebSocket Server has Unsubscribed us
|
|
217
233
|
|
|
@@ -220,7 +236,7 @@ class WebSocketHelper
|
|
|
220
236
|
WebSocketHelper._subscriptions = [];
|
|
221
237
|
}
|
|
222
238
|
|
|
223
|
-
if(isDefined(key) != true)
|
|
239
|
+
if(isDefined(key) != true || key === undefined)
|
|
224
240
|
{
|
|
225
241
|
key = 'all';
|
|
226
242
|
}
|
|
@@ -230,7 +246,7 @@ class WebSocketHelper
|
|
|
230
246
|
WebSocketHelper._subscriptions.splice(WebSocketHelper._subscriptions.indexOf(key), 1);
|
|
231
247
|
}
|
|
232
248
|
|
|
233
|
-
if(isDefined(WebSocketHelper._socket))
|
|
249
|
+
if(isDefined(WebSocketHelper._socket) && WebSocketHelper._socket !== undefined)
|
|
234
250
|
{
|
|
235
251
|
WebSocketHelper._socket.emit('unsubscribe', key);
|
|
236
252
|
}
|
|
@@ -246,7 +262,7 @@ class WebSocketHelper
|
|
|
246
262
|
*/
|
|
247
263
|
static on(event, handler)
|
|
248
264
|
{
|
|
249
|
-
if(isDefined(WebSocketHelper._emitter) != true)
|
|
265
|
+
if(isDefined(WebSocketHelper._emitter) != true || WebSocketHelper._emitter === undefined)
|
|
250
266
|
{
|
|
251
267
|
WebSocketHelper._emitter = new EventEmitter();
|
|
252
268
|
}
|
|
@@ -264,6 +280,11 @@ class WebSocketHelper
|
|
|
264
280
|
*/
|
|
265
281
|
static emit(event, ...args)
|
|
266
282
|
{
|
|
283
|
+
if(WebSocketHelper._socket === undefined)
|
|
284
|
+
{
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
|
|
267
288
|
WebSocketHelper._socket.emit(event, ...args);
|
|
268
289
|
}
|
|
269
290
|
}
|
|
@@ -272,7 +293,7 @@ class WebSocketHelper
|
|
|
272
293
|
* The Events Callback
|
|
273
294
|
*
|
|
274
295
|
* @callback WebSocketHelper.eventCallback
|
|
275
|
-
* @param {...any
|
|
296
|
+
* @param {...any} args - The Callback Arguments
|
|
276
297
|
* @return {void}
|
|
277
298
|
*/
|
|
278
299
|
|
package/src/index.js
CHANGED
|
@@ -29,7 +29,7 @@ export function isDefined(variable)
|
|
|
29
29
|
* The JSON Web Token for all Authenticated API Calls
|
|
30
30
|
*
|
|
31
31
|
* @private
|
|
32
|
-
* @type {string}
|
|
32
|
+
* @type {string|undefined}
|
|
33
33
|
*/
|
|
34
34
|
export var JWT = undefined;
|
|
35
35
|
|
|
@@ -407,12 +407,12 @@ export function ping() {
|
|
|
407
407
|
|
|
408
408
|
/**
|
|
409
409
|
*
|
|
410
|
-
* @param {string} jwt The JWT Token
|
|
410
|
+
* @param {string|undefined} jwt The JWT Token
|
|
411
411
|
* @return {boolean}
|
|
412
412
|
*/
|
|
413
413
|
function isJwtValid(jwt)
|
|
414
414
|
{
|
|
415
|
-
if(jwt === null || typeof jwt !== 'string')
|
|
415
|
+
if(jwt === null || jwt === undefined || typeof jwt !== 'string')
|
|
416
416
|
{
|
|
417
417
|
return false;
|
|
418
418
|
}
|