@kohost/api-client 3.0.0-beta.12 → 3.0.0-beta.18

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 (40) hide show
  1. package/dist/cjs/Client.js +329 -712
  2. package/dist/cjs/Commands.js +49 -1
  3. package/dist/cjs/Events.js +44 -0
  4. package/dist/cjs/Models.js +326 -153
  5. package/dist/cjs/SocketIoClient.js +68 -0
  6. package/dist/cjs/defs.js +8 -31
  7. package/dist/cjs/index.cjs.js +2 -0
  8. package/dist/esm/Client.js +329 -712
  9. package/dist/esm/Client.js.map +3 -3
  10. package/dist/esm/Commands.js +49 -1
  11. package/dist/esm/Commands.js.map +3 -3
  12. package/dist/esm/Events.js +44 -0
  13. package/dist/esm/Events.js.map +3 -3
  14. package/dist/esm/Models.js +319 -147
  15. package/dist/esm/Models.js.map +4 -4
  16. package/dist/esm/SocketIoClient.js +4533 -0
  17. package/dist/esm/SocketIoClient.js.map +7 -0
  18. package/dist/esm/defs.js +8 -31
  19. package/dist/esm/defs.js.map +2 -2
  20. package/dist/esm/index.js +2 -1
  21. package/dist/useCases/AdminUpdateCustomer.js +1 -1
  22. package/dist/useCases/{AdminListCustomers.js → CreateOrganization.js} +3 -3
  23. package/dist/useCases/{AdminLoginUser.js → CreateProperty.js} +2 -2
  24. package/dist/useCases/{AdminCreateAdminUser.js → DescribeOrganization.js} +4 -4
  25. package/dist/useCases/{ListIntegrations.js → DescribeProperty.js} +3 -3
  26. package/dist/useCases/{CreateIntegration.js → ListOrganizations.js} +3 -3
  27. package/dist/useCases/{AdminListAdminUsers.js → ListProperties.js} +2 -2
  28. package/dist/useCases/{DeleteIntegration.js → LogoutUser.js} +3 -3
  29. package/dist/useCases/{CreateIntegrationDeviceMapEntry.js → SendCheckInSMS.js} +2 -2
  30. package/dist/useCases/{UpdateIntegration.js → UpdateProperty.js} +2 -2
  31. package/package.json +3 -2
  32. package/dist/useCases/AdminCreateCustomer.js +0 -32
  33. package/dist/useCases/AdminCreateProperty.js +0 -32
  34. package/dist/useCases/AdminDescribeCustomer.js +0 -32
  35. package/dist/useCases/AdminDescribeProperty.js +0 -32
  36. package/dist/useCases/AdminListProperties.js +0 -32
  37. package/dist/useCases/AdminRefreshToken.js +0 -32
  38. package/dist/useCases/AdminRequestLoginLink.js +0 -32
  39. package/dist/useCases/AdminUpdateProperty.js +0 -32
  40. package/dist/useCases/DescribeIntegration.js +0 -32
@@ -0,0 +1,68 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/SocketIoClient/index.js
5
+ var io = require("socket.io-client");
6
+ var { EventEmitter } = require("events");
7
+ module.exports = /* @__PURE__ */ __name(class SocketIoClient extends EventEmitter {
8
+ constructor(config = { url: null, propertyId: null, options: {} }) {
9
+ super();
10
+ if (!config.url)
11
+ throw new Error("Websocket URL / endpoint not provided");
12
+ if (!config.propertyId)
13
+ throw new Error("Property ID not provided");
14
+ this.url = config.url;
15
+ this.propertyId = config.propertyId;
16
+ this.options = {
17
+ autoConnect: false,
18
+ forceNew: false,
19
+ reconnection: true,
20
+ reconnectionAttempts: Infinity,
21
+ reconnectionDelay: 1e3,
22
+ withCredentials: true,
23
+ transports: ["websocket", "polling"],
24
+ upgrade: true,
25
+ ...config.options
26
+ };
27
+ this.socket = io(this.url, this.options);
28
+ this.socket.on("connect", () => {
29
+ this.emit("connect", this.socket);
30
+ });
31
+ this.socket.on("disconnect", (reason) => {
32
+ this.emit("disconnect", reason);
33
+ });
34
+ this.socket.on("reconnect_attempt", (data) => {
35
+ this.emit("reconnect_attempt", data);
36
+ });
37
+ this.socket.on("connect_error", (error) => {
38
+ this.emit("connect_error", error);
39
+ });
40
+ }
41
+ get connected() {
42
+ var _a;
43
+ return ((_a = this.socket) == null ? void 0 : _a.connected) || false;
44
+ }
45
+ get disconnected() {
46
+ var _a;
47
+ return ((_a = this.socket) == null ? void 0 : _a.disconnected) || false;
48
+ }
49
+ connect() {
50
+ this.socket.connect();
51
+ }
52
+ disconnect() {
53
+ this.socket.disconnect();
54
+ }
55
+ reconnect() {
56
+ this.disconnect();
57
+ this.connect();
58
+ }
59
+ subscribe(event, callback) {
60
+ this.socket.on(event, callback);
61
+ }
62
+ unsubscribe(event, callback) {
63
+ this.socket.off(event, callback);
64
+ }
65
+ send(event, { data = {}, query = {}, ...rest }) {
66
+ this.socket.emit(event, { data, query, ...rest });
67
+ }
68
+ }, "SocketIoClient");
package/dist/cjs/defs.js CHANGED
@@ -52,6 +52,7 @@ var require_Client = __commonJS({
52
52
  constructor(options = {
53
53
  url: "",
54
54
  propertyId: "",
55
+ apiKey: "",
55
56
  headers: {}
56
57
  }) {
57
58
  super();
@@ -61,7 +62,7 @@ var require_Client = __commonJS({
61
62
  throw new Error("options.property is required");
62
63
  this.options = options;
63
64
  this.isBrowser = typeof window !== "undefined";
64
- this._http = axios.create({
65
+ const config = {
65
66
  baseURL: options.url,
66
67
  responseType: "json",
67
68
  withCredentials: true,
@@ -71,22 +72,19 @@ var require_Client = __commonJS({
71
72
  [KohostApiClient.defs.propertyHeader]: options.propertyId,
72
73
  ...options.headers
73
74
  }
74
- });
75
+ };
76
+ if (options.apiKey) {
77
+ config.headers[KohostApiClient.defs.apiKeyHeader] = options.apiKey;
78
+ }
79
+ this._http = axios.create(config);
75
80
  this._http.interceptors.response.use(
76
81
  this._handleResponse.bind(this),
77
82
  this._handleResponseError.bind(this)
78
83
  );
79
- this._http.interceptors.request.use((config) => {
80
- if (!this.isBrowser) {
81
- config.headers[KohostApiClient.defs.authTokenHeader] = this.authToken;
82
- }
83
- return config;
84
- });
85
84
  }
86
85
  static get defs() {
87
86
  return {
88
- authTokenHeader: "X-Auth-Token",
89
- refreshTokenHeader: "X-Refresh-Token",
87
+ apiKeyHeader: "X-Api-Key",
90
88
  propertyHeader: "X-Property-Id"
91
89
  };
92
90
  }
@@ -98,12 +96,6 @@ var require_Client = __commonJS({
98
96
  response.pagination = response.data.pagination;
99
97
  response.data = response.data.data;
100
98
  }
101
- if (!this.isBrowser && response.headers[this.authTokenHeaderKey]) {
102
- this.authToken = response.headers[this.authTokenHeaderKey];
103
- }
104
- if (!this.isBrowser && response.headers[this.refreshTokenHeaderKey]) {
105
- this.refreshToken = response.headers[this.refreshTokenHeaderKey];
106
- }
107
99
  return response;
108
100
  } catch (error) {
109
101
  return Promise.reject(error);
@@ -142,25 +134,10 @@ var require_Client = __commonJS({
142
134
  }
143
135
  return Promise.reject(error);
144
136
  }
145
- get authTokenHeaderKey() {
146
- return KohostApiClient.defs.authTokenHeader.toLowerCase();
147
- }
148
- get refreshTokenHeaderKey() {
149
- return KohostApiClient.defs.refreshTokenHeader.toLowerCase();
150
- }
151
- get lsTokenKey() {
152
- return `${this.options.propertyId}_${KohostApiClient.defs.authTokenHeader}`;
153
- }
154
- get authToken() {
155
- return this._authToken;
156
- }
157
137
  /*
158
138
  @param {String} token - The token to set
159
139
  @returns undefined
160
140
  */
161
- set authToken(token) {
162
- this._authToken = token;
163
- }
164
141
  _onLoginRequired() {
165
142
  this.emit("LoginRequired");
166
143
  }
@@ -5,12 +5,14 @@ const Events = require("./Events");
5
5
  const defs = require("./defs");
6
6
  const utils = require("./utils");
7
7
  const Client = require("./Client");
8
+ const SocketIoClient = require("./SocketIoClient");
8
9
  const Kohost = {
9
10
  Models,
10
11
  Errors,
11
12
  Commands,
12
13
  Events,
13
14
  Client,
15
+ SocketIoClient,
14
16
  defs,
15
17
  utils
16
18
  };