@kohost/api-client 1.0.0-beta.3 → 1.0.0-beta.5

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 (271) hide show
  1. package/dist/cjs/Client.js +5089 -0
  2. package/dist/cjs/Commands.js +568 -0
  3. package/dist/cjs/Errors.js +174 -0
  4. package/dist/cjs/Events.js +375 -0
  5. package/dist/cjs/Models.js +3584 -0
  6. package/dist/cjs/defs.js +175 -0
  7. package/dist/cjs/index.cjs.js +17 -0
  8. package/dist/cjs/utils.js +246 -0
  9. package/dist/esm/Client.js +7428 -0
  10. package/dist/esm/Client.js.map +7 -0
  11. package/dist/esm/Commands.js +574 -0
  12. package/dist/esm/Commands.js.map +7 -0
  13. package/dist/esm/Errors.js +180 -0
  14. package/dist/esm/Errors.js.map +7 -0
  15. package/dist/esm/Events.js +381 -0
  16. package/dist/esm/Events.js.map +7 -0
  17. package/dist/esm/Models.js +13220 -0
  18. package/dist/esm/Models.js.map +7 -0
  19. package/dist/esm/defs.js +2514 -0
  20. package/dist/esm/defs.js.map +7 -0
  21. package/dist/esm/index.js +11 -0
  22. package/dist/esm/utils.js +7281 -0
  23. package/dist/esm/utils.js.map +7 -0
  24. package/dist/useCases/AddDefaultScenesToRooms.js +32 -0
  25. package/dist/useCases/AddScenesToRoom.js +32 -0
  26. package/dist/useCases/AdminCreateProperty.js +32 -0
  27. package/dist/useCases/AdminDescribeProperty.js +32 -0
  28. package/dist/useCases/AdminListCustomers.js +32 -0
  29. package/dist/useCases/AdminListProperties.js +32 -0
  30. package/dist/useCases/AdminUpdateProperty.js +32 -0
  31. package/dist/useCases/BatchNotifyPreArrival.js +32 -0
  32. package/dist/useCases/CheckInReservation.js +32 -0
  33. package/dist/useCases/CheckVerificationCode.js +32 -0
  34. package/dist/useCases/CreateAlarm.js +32 -0
  35. package/dist/useCases/CreateCamera.js +32 -0
  36. package/dist/useCases/CreateCourtesy.js +32 -0
  37. package/dist/useCases/CreateDefaultScenes.js +32 -0
  38. package/dist/useCases/CreateDimmer.js +32 -0
  39. package/dist/useCases/CreateDiscoveredDevice.js +32 -0
  40. package/dist/useCases/CreateDiscoveredDeviceAssociation.js +32 -0
  41. package/dist/useCases/CreateIntegration.js +32 -0
  42. package/dist/useCases/CreateIntegrationDeviceMapEntry.js +32 -0
  43. package/dist/useCases/CreateLock.js +32 -0
  44. package/dist/useCases/CreateReservation.js +32 -0
  45. package/dist/useCases/CreateRoom.js +32 -0
  46. package/dist/useCases/CreateRoomInSpace.js +32 -0
  47. package/dist/useCases/CreateSource.js +32 -0
  48. package/dist/useCases/CreateSpace.js +32 -0
  49. package/dist/useCases/CreateSwitch.js +32 -0
  50. package/dist/useCases/CreateThermostat.js +32 -0
  51. package/dist/useCases/CreateTicket.js +32 -0
  52. package/dist/useCases/CreateTicketMessage.js +32 -0
  53. package/dist/useCases/CreateUser.js +32 -0
  54. package/dist/useCases/CreateWindowCovering.js +32 -0
  55. package/dist/useCases/DeleteAlarm.js +32 -0
  56. package/dist/useCases/DeleteCamera.js +32 -0
  57. package/dist/useCases/DeleteCourtesy.js +32 -0
  58. package/dist/useCases/DeleteDimmer.js +32 -0
  59. package/dist/useCases/DeleteDiscoveredDevice.js +32 -0
  60. package/dist/useCases/DeleteIntegration.js +32 -0
  61. package/dist/useCases/DeleteLock.js +32 -0
  62. package/dist/useCases/DeleteReservation.js +32 -0
  63. package/dist/useCases/DeleteRoom.js +32 -0
  64. package/dist/useCases/DeleteSource.js +32 -0
  65. package/dist/useCases/DeleteSpace.js +32 -0
  66. package/dist/useCases/DeleteSwitch.js +32 -0
  67. package/dist/useCases/DeleteThermostat.js +32 -0
  68. package/dist/useCases/DeleteTicket.js +32 -0
  69. package/dist/useCases/DeleteUser.js +32 -0
  70. package/dist/useCases/DeleteWindowCovering.js +32 -0
  71. package/dist/useCases/DescribeAlarm.js +32 -0
  72. package/dist/useCases/DescribeCamera.js +32 -0
  73. package/dist/useCases/DescribeCourtesy.js +32 -0
  74. package/dist/useCases/DescribeDimmer.js +32 -0
  75. package/dist/useCases/DescribeDiscoveredDevice.js +32 -0
  76. package/dist/useCases/DescribeIntegration.js +32 -0
  77. package/dist/useCases/DescribeLock.js +32 -0
  78. package/dist/useCases/DescribeMyProperty.js +32 -0
  79. package/dist/useCases/DescribeReservation.js +32 -0
  80. package/dist/useCases/DescribeReservationCheckinStatus.js +32 -0
  81. package/dist/useCases/DescribeRoom.js +32 -0
  82. package/dist/useCases/DescribeSelf.js +32 -0
  83. package/dist/useCases/DescribeSource.js +32 -0
  84. package/dist/useCases/DescribeSpace.js +32 -0
  85. package/dist/useCases/DescribeSwitch.js +32 -0
  86. package/dist/useCases/DescribeThermostat.js +32 -0
  87. package/dist/useCases/DescribeTicket.js +32 -0
  88. package/dist/useCases/DescribeUser.js +32 -0
  89. package/dist/useCases/DescribeWindowCovering.js +32 -0
  90. package/dist/useCases/DiscoverReservations.js +32 -0
  91. package/dist/useCases/EmailUserAccountSetup.js +32 -0
  92. package/dist/useCases/ListAlarms.js +32 -0
  93. package/dist/useCases/ListCameras.js +32 -0
  94. package/dist/useCases/ListCourtesy.js +32 -0
  95. package/dist/useCases/ListDimmers.js +32 -0
  96. package/dist/useCases/ListDiscoveredDevices.js +32 -0
  97. package/dist/useCases/ListIntegrations.js +32 -0
  98. package/dist/useCases/ListLocks.js +32 -0
  99. package/dist/useCases/ListMyReservations.js +32 -0
  100. package/dist/useCases/ListMySpaces.js +32 -0
  101. package/dist/useCases/ListReservations.js +32 -0
  102. package/dist/useCases/ListRooms.js +32 -0
  103. package/dist/useCases/ListRoomsInSpace.js +32 -0
  104. package/dist/useCases/ListSources.js +32 -0
  105. package/dist/useCases/ListSpaces.js +32 -0
  106. package/dist/useCases/ListSwitches.js +32 -0
  107. package/dist/useCases/ListThermostats.js +32 -0
  108. package/dist/useCases/ListTickets.js +32 -0
  109. package/dist/useCases/ListUserReservations.js +32 -0
  110. package/dist/useCases/ListUsers.js +32 -0
  111. package/dist/useCases/ListWindowCoverings.js +32 -0
  112. package/dist/useCases/LoginGateway.js +32 -0
  113. package/dist/useCases/LoginUser.js +32 -0
  114. package/dist/useCases/MatchUserIdentification.js +32 -0
  115. package/dist/useCases/OCRDocument.js +32 -0
  116. package/dist/useCases/RefreshToken.js +32 -0
  117. package/dist/useCases/RequestLoginLink.js +32 -0
  118. package/dist/useCases/SendPreArrivalEmail.js +32 -0
  119. package/dist/useCases/SendPreArrivalSMS.js +32 -0
  120. package/dist/useCases/SendVerificationCode.js +32 -0
  121. package/dist/useCases/SetCamera.js +32 -0
  122. package/dist/useCases/SetCourtesy.js +32 -0
  123. package/dist/useCases/SetLock.js +32 -0
  124. package/dist/useCases/SetSource.js +32 -0
  125. package/dist/useCases/SetSwitch.js +32 -0
  126. package/dist/useCases/SetThermostat.js +32 -0
  127. package/dist/useCases/SetWindowCovering.js +32 -0
  128. package/dist/useCases/UpdateAlarm.js +32 -0
  129. package/dist/useCases/UpdateCamera.js +32 -0
  130. package/dist/useCases/UpdateCourtesy.js +32 -0
  131. package/dist/useCases/UpdateDimmer.js +32 -0
  132. package/dist/useCases/UpdateDiscoveredDevice.js +32 -0
  133. package/dist/useCases/UpdateIntegration.js +32 -0
  134. package/dist/useCases/UpdateLock.js +32 -0
  135. package/dist/useCases/UpdateMessageReadStatus.js +32 -0
  136. package/dist/useCases/UpdateReservation.js +32 -0
  137. package/dist/useCases/UpdateRoom.js +32 -0
  138. package/dist/useCases/UpdateSelf.js +32 -0
  139. package/dist/useCases/UpdateSource.js +32 -0
  140. package/dist/useCases/UpdateSpace.js +32 -0
  141. package/dist/useCases/UpdateSwitch.js +32 -0
  142. package/dist/useCases/UpdateThermostat.js +32 -0
  143. package/dist/useCases/UpdateTicket.js +32 -0
  144. package/dist/useCases/UpdateTicketStatus.js +32 -0
  145. package/dist/useCases/UpdateUser.js +32 -0
  146. package/dist/useCases/UpdateWindowCovering.js +32 -0
  147. package/dist/useCases/UpsertDiscoveredDevice.js +32 -0
  148. package/package.json +26 -7
  149. package/.eslintrc.js +0 -10
  150. package/bitbucket-pipelines.yml +0 -71
  151. package/commands/CheckInReservationCommand.js +0 -23
  152. package/commands/Command.js +0 -38
  153. package/commands/DiscoverReservationsCommand.js +0 -24
  154. package/commands/DiscoverRoomsCommand.js +0 -21
  155. package/commands/DiscoverUsersCommand.js +0 -21
  156. package/commands/OCRDocumentCommand.js +0 -20
  157. package/commands/SendEmailCommand.js +0 -24
  158. package/commands/SendSMSCommand.js +0 -21
  159. package/commands/SetAlarmCommand.js +0 -21
  160. package/commands/SetCourtesyCommand.js +0 -21
  161. package/commands/SetDimmerCommand.js +0 -21
  162. package/commands/SetLockCommand.js +0 -21
  163. package/commands/SetSceneControllerCommand.js +0 -21
  164. package/commands/SetSwitchCommand.js +0 -21
  165. package/commands/SetThermostatCommand.js +0 -21
  166. package/commands/SetWindowCoveringCommand.js +0 -21
  167. package/commands/index.js +0 -31
  168. package/defs/deviceTypes.js +0 -15
  169. package/defs/formalDeviceTypes.js +0 -6
  170. package/defs/http.js +0 -7
  171. package/defs/index.js +0 -11
  172. package/errors/AppError.js +0 -8
  173. package/errors/AuthenticationError.js +0 -9
  174. package/errors/AuthorizationError.js +0 -9
  175. package/errors/DeviceCommError.js +0 -9
  176. package/errors/LoginError.js +0 -9
  177. package/errors/NotFoundError.js +0 -9
  178. package/errors/RequestError.js +0 -9
  179. package/errors/SystemCommError.js +0 -9
  180. package/errors/TokenExpiredError.js +0 -9
  181. package/errors/UnprocessableRequestError.js +0 -9
  182. package/errors/ValidationError.js +0 -9
  183. package/errors/index.js +0 -15
  184. package/events/EmailSentEvent.js +0 -17
  185. package/events/Event.js +0 -52
  186. package/events/SMSSentEvent.js +0 -17
  187. package/events/ShortLinkCreatedEvent.js +0 -17
  188. package/events/SystemCameraUpdatedEvent.js +0 -17
  189. package/events/SystemCourtesyUpdatedEvent.js +0 -17
  190. package/events/SystemDimmerUpdatedEvent.js +0 -17
  191. package/events/SystemLockUpdatedEvent.js +0 -17
  192. package/events/SystemReservationUpdatedEvent.js +0 -17
  193. package/events/SystemSceneControllerUpdatedEvent.js +0 -17
  194. package/events/SystemSourceUpdatedEvent.js +0 -17
  195. package/events/SystemSpaceUpdatedEvent.js +0 -17
  196. package/events/SystemSwitchUpdatedEvent.js +0 -17
  197. package/events/SystemThermostatUpdatedEvent.js +0 -17
  198. package/events/SystemUserUpdatedEvent.js +0 -17
  199. package/events/SystemWindowCoveringUpdatedEvent.js +0 -17
  200. package/events/index.js +0 -35
  201. package/http/handleResponseError.js +0 -33
  202. package/http/handleResponseSuccess.js +0 -15
  203. package/http/index.js +0 -169
  204. package/index.js +0 -23
  205. package/models/acl.js +0 -29
  206. package/models/admin/customer.js +0 -28
  207. package/models/admin/property.js +0 -28
  208. package/models/alarm.js +0 -29
  209. package/models/application.js +0 -28
  210. package/models/camera.js +0 -29
  211. package/models/courtesy.js +0 -33
  212. package/models/credential.js +0 -29
  213. package/models/dimmer.js +0 -49
  214. package/models/discoveredDevice.js +0 -30
  215. package/models/gateway.js +0 -29
  216. package/models/identification.js +0 -32
  217. package/models/index.js +0 -56
  218. package/models/integration.js +0 -76
  219. package/models/kohost.js +0 -96
  220. package/models/lock.js +0 -33
  221. package/models/mediaSource.js +0 -29
  222. package/models/motionSensor.js +0 -29
  223. package/models/product.js +0 -30
  224. package/models/reservation.js +0 -83
  225. package/models/room.js +0 -174
  226. package/models/scene.js +0 -28
  227. package/models/shortLink.js +0 -29
  228. package/models/space.js +0 -99
  229. package/models/switch.js +0 -33
  230. package/models/thermostat.js +0 -80
  231. package/models/ticket.js +0 -91
  232. package/models/user.js +0 -56
  233. package/models/windowCovering.js +0 -49
  234. package/prepare.js +0 -4
  235. package/schemas/acl.json +0 -111
  236. package/schemas/admin/customer.json +0 -32
  237. package/schemas/admin/property.json +0 -180
  238. package/schemas/alarm.json +0 -93
  239. package/schemas/application.json +0 -24
  240. package/schemas/camera.json +0 -41
  241. package/schemas/courtesy.json +0 -37
  242. package/schemas/credential.json +0 -28
  243. package/schemas/definitions/common.json +0 -74
  244. package/schemas/definitions/device.json +0 -76
  245. package/schemas/dimmer.json +0 -34
  246. package/schemas/discoveredDevice.json +0 -43
  247. package/schemas/gateway.json +0 -30
  248. package/schemas/identification.json +0 -49
  249. package/schemas/integration.json +0 -94
  250. package/schemas/lock.json +0 -36
  251. package/schemas/mediaSource.json +0 -151
  252. package/schemas/motionSensor.json +0 -26
  253. package/schemas/payment.json +0 -40
  254. package/schemas/product.json +0 -36
  255. package/schemas/reservation.json +0 -71
  256. package/schemas/room.json +0 -131
  257. package/schemas/scene.json +0 -118
  258. package/schemas/shortLink.json +0 -30
  259. package/schemas/space.json +0 -111
  260. package/schemas/switch.json +0 -33
  261. package/schemas/thermostat.json +0 -139
  262. package/schemas/ticket.json +0 -82
  263. package/schemas/user.json +0 -176
  264. package/schemas/windowCovering.json +0 -34
  265. package/tests/unit/models/space.test.js +0 -31
  266. package/tests/unit/models/thermostat.test.js +0 -146
  267. package/tests/unit/models/user.test.js +0 -28
  268. package/useCases/http.json +0 -1161
  269. package/utils/getDeviceTypes.js +0 -7
  270. package/utils/getFormalDeviceType.js +0 -5
  271. package/utils/schema.js +0 -28
@@ -1,146 +0,0 @@
1
- const Thermostat = require("../../../models/thermostat");
2
-
3
- const valid = {
4
- id: "1",
5
- type: "thermostat",
6
- name: "Test Thermostat",
7
- hvacMode: "cool",
8
- hvacState: "off",
9
- fanMode: "auto",
10
- fanState: "off",
11
- temperatureScale: "fahrenheit",
12
- supportedHvacModes: ["cool", "heat"],
13
- supportedFanModes: ["auto", "low"],
14
- currentTemperature: 72,
15
- systemData: {},
16
- setpoints: {
17
- cool: {
18
- min: 60,
19
- max: 85,
20
- value: 72,
21
- },
22
- heat: {
23
- value: 68,
24
- min: 60,
25
- max: 85,
26
- },
27
- },
28
- };
29
-
30
- test("Thermostat properties exist", () => {
31
- expect(Thermostat.name).toBe("Thermostat");
32
- expect(Thermostat.actionProperties).toBeDefined();
33
- expect(Thermostat.actionProperties).toBeInstanceOf(Array);
34
- expect(Thermostat.actionProperties).toEqual(
35
- expect.arrayContaining(["hvacMode", "fanMode", "setpoints"])
36
- );
37
- expect(Thermostat.validProperties).toBeDefined();
38
- });
39
-
40
- test("Thermostat validator exists", () => {
41
- const thermostat = new Thermostat(valid);
42
- const validator = thermostat.validator;
43
- expect(validator).toBeDefined();
44
- expect(validator).toBeInstanceOf(Function);
45
- });
46
-
47
- test("Thermostat schema exists", () => {
48
- const thermostat = new Thermostat(valid);
49
- const schema = thermostat.schema;
50
- expect(schema).toBeDefined();
51
- expect(schema).toBeInstanceOf(Object);
52
- });
53
-
54
- test("throws error if missing all required properties", () => {
55
- expect(() => new Thermostat()).toThrow();
56
- });
57
-
58
- test("throws error if missing any required property", () => {
59
- const data = {
60
- id: "1",
61
- name: "Test Thermostat",
62
- };
63
- expect(() => new Thermostat(data)).toThrow();
64
- });
65
-
66
- test("throws error if invalid hvacMode provided ", () => {
67
- const data = { ...valid };
68
- data.hvacMode = "a";
69
- expect(() => new Thermostat(data)).toThrow();
70
- });
71
-
72
- test("throws error if unsupported hvacMode provided ", () => {
73
- const data = { ...valid };
74
- data.supportedHvacModes = ["cool"];
75
- data.hvacMode = "heat";
76
- expect(() => new Thermostat(data)).toThrow();
77
- });
78
-
79
- test("throws error if invalid hvacState provided ", () => {
80
- const data = { ...valid };
81
- data.hvacState = "a";
82
- expect(() => new Thermostat(data)).toThrow();
83
- });
84
-
85
- test("throws error if invalid temperatureScale provided ", () => {
86
- const data = { ...valid };
87
- data.temperatureScale = "a";
88
- expect(() => new Thermostat(data)).toThrow();
89
- });
90
-
91
- test("throws error if invalid humidityScale provided ", () => {
92
- const data = { ...valid };
93
- data.humidityScale = "a";
94
- expect(() => new Thermostat(data)).toThrow();
95
- });
96
-
97
- test("throws error if invalid fanState provided ", () => {
98
- const data = { ...valid };
99
- data.fanState = "a";
100
- expect(() => new Thermostat(data)).toThrow();
101
- });
102
-
103
- test("throws error if currentTemperature is out of range ", () => {
104
- const data = { ...valid };
105
- const data2 = { ...valid };
106
- data.currentTemperature = 131;
107
- data2.currentTemperature = -1;
108
- expect(() => new Thermostat(data)).toThrow();
109
- expect(() => new Thermostat(data2)).toThrow();
110
- });
111
-
112
- test("throws error if currentHumidity is out of range ", () => {
113
- const data = { ...valid };
114
- const data2 = { ...valid };
115
- data.currentHumidity = 100;
116
- data2.currentHumidity = -1;
117
- expect(() => new Thermostat(data)).toThrow();
118
- expect(() => new Thermostat(data2)).toThrow();
119
- });
120
-
121
- test("returns deltas", () => {
122
- const thermostat = new Thermostat({ ...valid });
123
-
124
- const delta1 = Thermostat.getActionDelta(thermostat, {
125
- hvacMode: "heat",
126
- setpoints: {
127
- cool: {
128
- value: 71,
129
- },
130
- },
131
- });
132
-
133
- const delta2 = Thermostat.getActionDelta(thermostat, {
134
- setpoints: {
135
- heat: {
136
- value: 71,
137
- },
138
- },
139
- });
140
-
141
- expect(delta1.hvacMode).toBe(1);
142
- expect(delta1["setpoints.cool"]).toBeLessThan(0);
143
- expect(delta1["setpoints.cool"]).toBeGreaterThan(-1);
144
- expect(delta2["setpoints.heat"]).toBeGreaterThan(0);
145
- expect(delta2["setpoints.heat"]).toBeLessThan(1);
146
- });
@@ -1,28 +0,0 @@
1
- const User = require("../../../models/user");
2
-
3
- const valid = {
4
- firstName: "Ian",
5
- lastName: "Rogers",
6
- active: true,
7
- type: "user",
8
- email: "a3@bc.com",
9
- phone: "+15555555555",
10
- roles: ["Guest"],
11
- };
12
-
13
- test("does not throw error if invalid name provided ", () => {
14
- const data = { ...valid };
15
- expect(() => new User(data)).not.toThrow();
16
- });
17
-
18
- test("allows email to be empty", () => {
19
- const data = { ...valid };
20
- delete data.email;
21
- expect(() => new User(data)).not.toThrow();
22
- });
23
-
24
- test("allows phone to be empty", () => {
25
- const data = { ...valid };
26
- delete data.phone;
27
- expect(() => new User(data)).not.toThrow();
28
- });