@kohost/api-client 3.6.1 → 3.7.0

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 (47) hide show
  1. package/dist/cjs/Client/index.js +216 -72
  2. package/dist/cjs/Models/Issue.js +35 -0
  3. package/dist/cjs/Models/index.js +2 -0
  4. package/dist/cjs/schemas/definitions.json +1 -0
  5. package/dist/cjs/schemas/issue.json +44 -0
  6. package/dist/cjs/schemas/property.json +8 -0
  7. package/dist/cjs/schemas/ticket.json +3 -0
  8. package/dist/cjs/utils/entityFactory.js +2 -0
  9. package/dist/esm/Client.js +216 -72
  10. package/dist/esm/Client.js.map +3 -3
  11. package/dist/esm/Models.js +102 -1
  12. package/dist/esm/Models.js.map +3 -3
  13. package/dist/esm/utils.js +104 -1
  14. package/dist/esm/utils.js.map +3 -3
  15. package/dist/types/Models/Issue.d.ts +17 -0
  16. package/dist/types/Models/Issue.d.ts.map +1 -0
  17. package/dist/types/Models/index.d.ts +2 -1
  18. package/dist/types/schemas/AlarmSchema.d.ts +1 -0
  19. package/dist/types/schemas/CameraSchema.d.ts +1 -0
  20. package/dist/types/schemas/CategorySchema.d.ts +1 -0
  21. package/dist/types/schemas/CourtesySchema.d.ts +1 -0
  22. package/dist/types/schemas/CredentialSchema.d.ts +1 -0
  23. package/dist/types/schemas/DimmerSchema.d.ts +1 -0
  24. package/dist/types/schemas/GatewaySchema.d.ts +1 -0
  25. package/dist/types/schemas/IssueSchema.d.ts +24 -0
  26. package/dist/types/schemas/LockSchema.d.ts +1 -0
  27. package/dist/types/schemas/MediaSourceSchema.d.ts +1 -0
  28. package/dist/types/schemas/MotionSensorSchema.d.ts +1 -0
  29. package/dist/types/schemas/ProductSchema.d.ts +1 -0
  30. package/dist/types/schemas/PropertySchema.d.ts +4 -0
  31. package/dist/types/schemas/ReservationSchema.d.ts +1 -0
  32. package/dist/types/schemas/RoomSchema.d.ts +10 -0
  33. package/dist/types/schemas/SpaceSchema.d.ts +1 -0
  34. package/dist/types/schemas/SwitchSchema.d.ts +1 -0
  35. package/dist/types/schemas/SystemUserSchema.d.ts +1 -0
  36. package/dist/types/schemas/ThermostatSchema.d.ts +1 -0
  37. package/dist/types/schemas/TicketSchema.d.ts +1 -0
  38. package/dist/types/schemas/UserSchema.d.ts +1 -0
  39. package/dist/types/schemas/WindowCoveringSchema.d.ts +1 -0
  40. package/dist/types/utils/entityFactory.d.ts.map +1 -1
  41. package/dist/useCases/{AddDefaultScenesToRooms.js → CreateIssue.js} +2 -2
  42. package/dist/useCases/{AddScenesToRoom.js → DeleteIssue.js} +3 -3
  43. package/dist/useCases/DescribeIssue.js +28 -0
  44. package/dist/useCases/ListIssues.js +28 -0
  45. package/dist/useCases/UpdateIssue.js +28 -0
  46. package/dist/useCases/UpdatePropertySettings.js +28 -0
  47. package/package.json +1 -1
@@ -0,0 +1,17 @@
1
+ export = Issue;
2
+ declare class Issue extends Entity {
3
+ /**
4
+ * @typedef {import("../schemas/IssueSchema").Issue} IssueType
5
+ * Create a Ticket instance.
6
+ * @constructor
7
+ * @param {IssueType} issue - The ticket object of type Ticket.
8
+ */
9
+ constructor(issue: any);
10
+ readonly schema: any;
11
+ get validator(): any;
12
+ }
13
+ declare namespace Issue {
14
+ let validProperties: string[];
15
+ }
16
+ import Entity = require("./Entity");
17
+ //# sourceMappingURL=Issue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Issue.d.ts","sourceRoot":"","sources":["../../../src/Models/Issue.js"],"names":[],"mappings":";AAQA;IACE;;;;;OAKG;IACH,wBAEC;;;CACF"}
@@ -35,5 +35,6 @@ import Order = require("./Order");
35
35
  import Announcement = require("./Announcement");
36
36
  import TimeSheet = require("./TimeSheet");
37
37
  import Policy = require("./Policy");
38
- export { Entity, Organization, Property, MediaFile, Gateway, Switch, Alarm, Dimmer, Lock, Courtesy, Camera, MotionSensor, Thermostat, WindowCovering, MediaSource, Identification, Product, User, SystemUser, Room, Space, Category, Ticket, Scene, DiscoveredDevice, DeviceRouter, Reservation, Credential, ShortLink, EnergyReportShard, EnergyReport, SMSMessage, EmailMessage, Order, Announcement, TimeSheet, Policy };
38
+ import Issue = require("./Issue");
39
+ export { Entity, Organization, Property, MediaFile, Gateway, Switch, Alarm, Dimmer, Lock, Courtesy, Camera, MotionSensor, Thermostat, WindowCovering, MediaSource, Identification, Product, User, SystemUser, Room, Space, Category, Ticket, Scene, DiscoveredDevice, DeviceRouter, Reservation, Credential, ShortLink, EnergyReportShard, EnergyReport, SMSMessage, EmailMessage, Order, Announcement, TimeSheet, Policy, Issue };
39
40
  //# sourceMappingURL=index.d.ts.map
@@ -157,6 +157,7 @@ export interface Alarm {
157
157
  | "pelican-wireless"
158
158
  | "power-shades"
159
159
  | "rebrandly"
160
+ | "rtsp"
160
161
  | "salto"
161
162
  | "salto-irn"
162
163
  | "se"
@@ -156,6 +156,7 @@ export interface Camera {
156
156
  | "pelican-wireless"
157
157
  | "power-shades"
158
158
  | "rebrandly"
159
+ | "rtsp"
159
160
  | "salto"
160
161
  | "salto-irn"
161
162
  | "se"
@@ -41,6 +41,7 @@ export interface Category {
41
41
  | "pelican-wireless"
42
42
  | "power-shades"
43
43
  | "rebrandly"
44
+ | "rtsp"
44
45
  | "salto"
45
46
  | "salto-irn"
46
47
  | "se"
@@ -155,6 +155,7 @@ export interface Courtesy {
155
155
  | "pelican-wireless"
156
156
  | "power-shades"
157
157
  | "rebrandly"
158
+ | "rtsp"
158
159
  | "salto"
159
160
  | "salto-irn"
160
161
  | "se"
@@ -34,6 +34,7 @@ export interface Credential {
34
34
  | "pelican-wireless"
35
35
  | "power-shades"
36
36
  | "rebrandly"
37
+ | "rtsp"
37
38
  | "salto"
38
39
  | "salto-irn"
39
40
  | "se"
@@ -155,6 +155,7 @@ export interface Dimmer {
155
155
  | "pelican-wireless"
156
156
  | "power-shades"
157
157
  | "rebrandly"
158
+ | "rtsp"
158
159
  | "salto"
159
160
  | "salto-irn"
160
161
  | "se"
@@ -156,6 +156,7 @@ export interface IoTGateway {
156
156
  | "pelican-wireless"
157
157
  | "power-shades"
158
158
  | "rebrandly"
159
+ | "rtsp"
159
160
  | "salto"
160
161
  | "salto-irn"
161
162
  | "se"
@@ -0,0 +1,24 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ /**
9
+ * An issue associated with ticketing and concierge.
10
+ */
11
+ export interface Issue {
12
+ id: string;
13
+ type: "issue";
14
+ name: string;
15
+ description?: string;
16
+ department: string;
17
+ autoAssign?: {
18
+ userId?: string;
19
+ priority?: "low" | "normal" | "high";
20
+ tags?: string[];
21
+ [k: string]: unknown;
22
+ };
23
+ [k: string]: unknown;
24
+ }
@@ -156,6 +156,7 @@ export interface Lock {
156
156
  | "pelican-wireless"
157
157
  | "power-shades"
158
158
  | "rebrandly"
159
+ | "rtsp"
159
160
  | "salto"
160
161
  | "salto-irn"
161
162
  | "se"
@@ -143,6 +143,7 @@ export interface MediaSource {
143
143
  | "pelican-wireless"
144
144
  | "power-shades"
145
145
  | "rebrandly"
146
+ | "rtsp"
146
147
  | "salto"
147
148
  | "salto-irn"
148
149
  | "se"
@@ -152,6 +152,7 @@ export interface MotionSensor {
152
152
  | "pelican-wireless"
153
153
  | "power-shades"
154
154
  | "rebrandly"
155
+ | "rtsp"
155
156
  | "salto"
156
157
  | "salto-irn"
157
158
  | "se"
@@ -41,6 +41,7 @@ export interface Product {
41
41
  | "pelican-wireless"
42
42
  | "power-shades"
43
43
  | "rebrandly"
44
+ | "rtsp"
44
45
  | "salto"
45
46
  | "salto-irn"
46
47
  | "se"
@@ -104,6 +104,10 @@ export interface Property {
104
104
  image: MediaFile;
105
105
  [k: string]: unknown;
106
106
  }[];
107
+ issues?: {
108
+ syncWithPropertyId?: string;
109
+ [k: string]: unknown;
110
+ };
107
111
  [k: string]: unknown;
108
112
  };
109
113
  DigitalKey?: {
@@ -47,6 +47,7 @@ export interface Reservation {
47
47
  | "pelican-wireless"
48
48
  | "power-shades"
49
49
  | "rebrandly"
50
+ | "rtsp"
50
51
  | "salto"
51
52
  | "salto-irn"
52
53
  | "se"
@@ -187,6 +187,7 @@ export interface Dimmer {
187
187
  | "pelican-wireless"
188
188
  | "power-shades"
189
189
  | "rebrandly"
190
+ | "rtsp"
190
191
  | "salto"
191
192
  | "salto-irn"
192
193
  | "se"
@@ -294,6 +295,7 @@ export interface Switch {
294
295
  | "pelican-wireless"
295
296
  | "power-shades"
296
297
  | "rebrandly"
298
+ | "rtsp"
297
299
  | "salto"
298
300
  | "salto-irn"
299
301
  | "se"
@@ -365,6 +367,7 @@ export interface Thermostat {
365
367
  | "pelican-wireless"
366
368
  | "power-shades"
367
369
  | "rebrandly"
370
+ | "rtsp"
368
371
  | "salto"
369
372
  | "salto-irn"
370
373
  | "se"
@@ -536,6 +539,7 @@ export interface Lock {
536
539
  | "pelican-wireless"
537
540
  | "power-shades"
538
541
  | "rebrandly"
542
+ | "rtsp"
539
543
  | "salto"
540
544
  | "salto-irn"
541
545
  | "se"
@@ -648,6 +652,7 @@ export interface WindowCovering {
648
652
  | "pelican-wireless"
649
653
  | "power-shades"
650
654
  | "rebrandly"
655
+ | "rtsp"
651
656
  | "salto"
652
657
  | "salto-irn"
653
658
  | "se"
@@ -754,6 +759,7 @@ export interface Courtesy {
754
759
  | "pelican-wireless"
755
760
  | "power-shades"
756
761
  | "rebrandly"
762
+ | "rtsp"
757
763
  | "salto"
758
764
  | "salto-irn"
759
765
  | "se"
@@ -862,6 +868,7 @@ export interface Camera {
862
868
  | "pelican-wireless"
863
869
  | "power-shades"
864
870
  | "rebrandly"
871
+ | "rtsp"
865
872
  | "salto"
866
873
  | "salto-irn"
867
874
  | "se"
@@ -939,6 +946,7 @@ export interface MediaSource {
939
946
  | "pelican-wireless"
940
947
  | "power-shades"
941
948
  | "rebrandly"
949
+ | "rtsp"
942
950
  | "salto"
943
951
  | "salto-irn"
944
952
  | "se"
@@ -1171,6 +1179,7 @@ export interface MotionSensor {
1171
1179
  | "pelican-wireless"
1172
1180
  | "power-shades"
1173
1181
  | "rebrandly"
1182
+ | "rtsp"
1174
1183
  | "salto"
1175
1184
  | "salto-irn"
1176
1185
  | "se"
@@ -1311,6 +1320,7 @@ export interface Alarm {
1311
1320
  | "pelican-wireless"
1312
1321
  | "power-shades"
1313
1322
  | "rebrandly"
1323
+ | "rtsp"
1314
1324
  | "salto"
1315
1325
  | "salto-irn"
1316
1326
  | "se"
@@ -47,6 +47,7 @@ export interface Space {
47
47
  | "pelican-wireless"
48
48
  | "power-shades"
49
49
  | "rebrandly"
50
+ | "rtsp"
50
51
  | "salto"
51
52
  | "salto-irn"
52
53
  | "se"
@@ -156,6 +156,7 @@ export interface Switch {
156
156
  | "pelican-wireless"
157
157
  | "power-shades"
158
158
  | "rebrandly"
159
+ | "rtsp"
159
160
  | "salto"
160
161
  | "salto-irn"
161
162
  | "se"
@@ -65,6 +65,7 @@ export interface SystemUser {
65
65
  | "pelican-wireless"
66
66
  | "power-shades"
67
67
  | "rebrandly"
68
+ | "rtsp"
68
69
  | "salto"
69
70
  | "salto-irn"
70
71
  | "se"
@@ -155,6 +155,7 @@ export interface Thermostat {
155
155
  | "pelican-wireless"
156
156
  | "power-shades"
157
157
  | "rebrandly"
158
+ | "rtsp"
158
159
  | "salto"
159
160
  | "salto-irn"
160
161
  | "se"
@@ -18,6 +18,7 @@ export interface Ticket {
18
18
  id: string;
19
19
  type?: "ticket";
20
20
  number?: string;
21
+ issueId?: string;
21
22
  conversation: {
22
23
  [k: string]: unknown;
23
24
  }[];
@@ -238,6 +238,7 @@ export interface Reservation {
238
238
  | "pelican-wireless"
239
239
  | "power-shades"
240
240
  | "rebrandly"
241
+ | "rtsp"
241
242
  | "salto"
242
243
  | "salto-irn"
243
244
  | "se"
@@ -156,6 +156,7 @@ export interface WindowCovering {
156
156
  | "pelican-wireless"
157
157
  | "power-shades"
158
158
  | "rebrandly"
159
+ | "rtsp"
159
160
  | "salto"
160
161
  | "salto-irn"
161
162
  | "se"
@@ -1 +1 @@
1
- {"version":3,"file":"entityFactory.d.ts","sourceRoot":"","sources":["../../../src/utils/entityFactory.js"],"names":[],"mappings":"AAEiB,0DA6EhB"}
1
+ {"version":3,"file":"entityFactory.d.ts","sourceRoot":"","sources":["../../../src/utils/entityFactory.js"],"names":[],"mappings":"AAEiB,0DA+EhB"}
@@ -1,8 +1,8 @@
1
- module.exports = function AddDefaultScenesToRooms(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
1
+ module.exports = function CreateIssue(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2
2
  if (!requestData) requestData = {};
3
3
  const pathParams = null;
4
4
  const { data, query, headers } = requestData;
5
- let url = "/rooms/scenes/default";
5
+ let url = "/issues";
6
6
  if (pathParams && data) {
7
7
  for (const param of pathParams) {
8
8
  const paramName = param.replace(":", "");
@@ -1,8 +1,8 @@
1
- module.exports = function AddScenesToRoom(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
1
+ module.exports = function DeleteIssue(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2
2
  if (!requestData) requestData = {};
3
3
  const pathParams = [":id"];
4
4
  const { data, query, headers } = requestData;
5
- let url = "/rooms/:id/scenes";
5
+ let url = "/issues/:id";
6
6
  if (pathParams && data) {
7
7
  for (const param of pathParams) {
8
8
  const paramName = param.replace(":", "");
@@ -17,7 +17,7 @@ module.exports = function AddScenesToRoom(requestData = { data: null, query: nul
17
17
  );
18
18
  }
19
19
  const config = {
20
- method: "post",
20
+ method: "delete",
21
21
  url,
22
22
  ...httpConfigOptions
23
23
  };
@@ -0,0 +1,28 @@
1
+ module.exports = function DescribeIssue(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2
+ if (!requestData) requestData = {};
3
+ const pathParams = [":id"];
4
+ const { data, query, headers } = requestData;
5
+ let url = "/issues/:id";
6
+ if (pathParams && data) {
7
+ for (const param of pathParams) {
8
+ const paramName = param.replace(":", "");
9
+ url = url.replace(param, data[paramName]);
10
+ }
11
+ }
12
+ if (url.match(/:[a-zA-Z0-9]+/g)) {
13
+ const missingParams = url.match(/:[a-zA-Z0-9]+/g);
14
+ const missing = missingParams.map((param) => param.replace(":", ""));
15
+ return Promise.reject(
16
+ new Error("Missing parameters: " + missing.join(", "))
17
+ );
18
+ }
19
+ const config = {
20
+ method: "get",
21
+ url,
22
+ ...httpConfigOptions
23
+ };
24
+ if (data) config.data = data;
25
+ if (query) config.params = query;
26
+ if (headers) config.headers = headers;
27
+ return this._http.request(config);
28
+ };
@@ -0,0 +1,28 @@
1
+ module.exports = function ListIssues(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2
+ if (!requestData) requestData = {};
3
+ const pathParams = null;
4
+ const { data, query, headers } = requestData;
5
+ let url = "/issues";
6
+ if (pathParams && data) {
7
+ for (const param of pathParams) {
8
+ const paramName = param.replace(":", "");
9
+ url = url.replace(param, data[paramName]);
10
+ }
11
+ }
12
+ if (url.match(/:[a-zA-Z0-9]+/g)) {
13
+ const missingParams = url.match(/:[a-zA-Z0-9]+/g);
14
+ const missing = missingParams.map((param) => param.replace(":", ""));
15
+ return Promise.reject(
16
+ new Error("Missing parameters: " + missing.join(", "))
17
+ );
18
+ }
19
+ const config = {
20
+ method: "get",
21
+ url,
22
+ ...httpConfigOptions
23
+ };
24
+ if (data) config.data = data;
25
+ if (query) config.params = query;
26
+ if (headers) config.headers = headers;
27
+ return this._http.request(config);
28
+ };
@@ -0,0 +1,28 @@
1
+ module.exports = function UpdateIssue(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2
+ if (!requestData) requestData = {};
3
+ const pathParams = [":id"];
4
+ const { data, query, headers } = requestData;
5
+ let url = "/issues/:id";
6
+ if (pathParams && data) {
7
+ for (const param of pathParams) {
8
+ const paramName = param.replace(":", "");
9
+ url = url.replace(param, data[paramName]);
10
+ }
11
+ }
12
+ if (url.match(/:[a-zA-Z0-9]+/g)) {
13
+ const missingParams = url.match(/:[a-zA-Z0-9]+/g);
14
+ const missing = missingParams.map((param) => param.replace(":", ""));
15
+ return Promise.reject(
16
+ new Error("Missing parameters: " + missing.join(", "))
17
+ );
18
+ }
19
+ const config = {
20
+ method: "put",
21
+ url,
22
+ ...httpConfigOptions
23
+ };
24
+ if (data) config.data = data;
25
+ if (query) config.params = query;
26
+ if (headers) config.headers = headers;
27
+ return this._http.request(config);
28
+ };
@@ -0,0 +1,28 @@
1
+ module.exports = function UpdatePropertySettings(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2
+ if (!requestData) requestData = {};
3
+ const pathParams = [":id"];
4
+ const { data, query, headers } = requestData;
5
+ let url = "/properties/:id/settings";
6
+ if (pathParams && data) {
7
+ for (const param of pathParams) {
8
+ const paramName = param.replace(":", "");
9
+ url = url.replace(param, data[paramName]);
10
+ }
11
+ }
12
+ if (url.match(/:[a-zA-Z0-9]+/g)) {
13
+ const missingParams = url.match(/:[a-zA-Z0-9]+/g);
14
+ const missing = missingParams.map((param) => param.replace(":", ""));
15
+ return Promise.reject(
16
+ new Error("Missing parameters: " + missing.join(", "))
17
+ );
18
+ }
19
+ const config = {
20
+ method: "put",
21
+ url,
22
+ ...httpConfigOptions
23
+ };
24
+ if (data) config.data = data;
25
+ if (query) config.params = query;
26
+ if (headers) config.headers = headers;
27
+ return this._http.request(config);
28
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kohost/api-client",
3
- "version": "3.6.1",
3
+ "version": "3.7.0",
4
4
  "description": "API client, models, schemas, commands, and events for Kohost applications",
5
5
  "author": "Ian Rogers",
6
6
  "readme": "README.md",