homey-api 3.0.0-rc.3 → 3.0.0-rc.4

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.
@@ -5,8 +5,21 @@ const AdvancedFlowV3 = require('../../HomeyAPIV3/ManagerFlow/Flow');
5
5
  class AdvancedFlow extends AdvancedFlowV3 {
6
6
 
7
7
  static transform(item) {
8
- for (const card of Object.values(item.cards)) {
9
- card.id = `${card.ownerUri}:${card.id}`;
8
+ if (item.cards) {
9
+ for (const card of Object.values(item.cards)) {
10
+ card.id = `${card.ownerUri}:${card.id}`;
11
+ }
12
+ }
13
+
14
+ return item;
15
+ }
16
+
17
+ static transformSave(item) {
18
+ if (item.cards) {
19
+ for (const card of Object.values(item.cards)) {
20
+ card.ownerUri = card.id.split(':', 3).join(':');
21
+ card.id = card.id.split(':').reverse()[0];
22
+ }
10
23
  }
11
24
 
12
25
  return item;
@@ -29,6 +29,29 @@ class Flow extends FlowV3 {
29
29
  return item;
30
30
  }
31
31
 
32
+ static transformSave(item) {
33
+ if (item.trigger) {
34
+ item.trigger.uri = item.trigger.id.split(':', 3).join(':');
35
+ item.trigger.id = item.trigger.id.split(':').reverse()[0];
36
+ }
37
+
38
+ if (Array.isArray(item.conditions)) {
39
+ item.conditions.forEach(card => {
40
+ card.uri = card.id.split(':', 3).join(':');
41
+ card.id = card.id.split(':').reverse()[0];
42
+ });
43
+ }
44
+
45
+ if (Array.isArray(item.actions)) {
46
+ item.actions.forEach(card => {
47
+ card.uri = card.id.split(':', 3).join(':');
48
+ card.id = card.id.split(':').reverse()[0];
49
+ });
50
+ }
51
+
52
+ return item;
53
+ }
54
+
32
55
  }
33
56
 
34
57
  module.exports = Flow;
@@ -23,7 +23,7 @@ class ManagerFlow extends Manager {
23
23
  ...props
24
24
  }) {
25
25
  return this.__super__.createFlow({
26
- flow: Flow.transform(flow),
26
+ flow: Flow.transformSave(flow),
27
27
  ...props,
28
28
  });
29
29
  }
@@ -33,7 +33,7 @@ class ManagerFlow extends Manager {
33
33
  ...props
34
34
  }) {
35
35
  return this.__super__.updateFlow({
36
- flow: Flow.transform(flow),
36
+ flow: Flow.transformSave(flow),
37
37
  ...props,
38
38
  });
39
39
  }
@@ -43,7 +43,7 @@ class ManagerFlow extends Manager {
43
43
  ...props
44
44
  }) {
45
45
  return this.__super__.createAdvancedFlow({
46
- advancedflow: AdvancedFlow.transform(advancedflow),
46
+ advancedflow: AdvancedFlow.transformSave(advancedflow),
47
47
  ...props,
48
48
  });
49
49
  }
@@ -53,7 +53,7 @@ class ManagerFlow extends Manager {
53
53
  ...props
54
54
  }) {
55
55
  return this.__super__.updateAdvancedFlow({
56
- advancedflow: AdvancedFlow.transform(advancedflow),
56
+ advancedflow: AdvancedFlow.transformSave(advancedflow),
57
57
  ...props,
58
58
  });
59
59
  }
@@ -108,7 +108,7 @@ class DeviceCapability extends EventEmitter {
108
108
  const capabilityReference = this.device.capabilitiesObj && this.device.capabilitiesObj[this.id];
109
109
  if (capabilityReference) {
110
110
  capabilityReference.value = value;
111
- capabilityReference.lastUpdated = this.__lastChanged.toISOString();
111
+ capabilityReference.lastUpdated = this.__lastChanged;
112
112
  }
113
113
 
114
114
  this.__listener(value);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homey-api",
3
- "version": "3.0.0-rc.3",
3
+ "version": "3.0.0-rc.4",
4
4
  "description": "Homey API",
5
5
  "main": "index.js",
6
6
  "files": [