@kohost/api-client 3.0.0-beta.86 → 3.0.0-beta.89
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/cjs/Commands/CheckOutReservationCommand.js +4 -3
- package/dist/cjs/Models/Room.js +1 -2
- package/dist/cjs/Models/Ticket.js +1 -58
- package/dist/esm/Client.js +27 -16
- package/dist/esm/Client.js.map +2 -2
- package/dist/esm/Commands.js +5 -3
- package/dist/esm/Commands.js.map +2 -2
- package/dist/esm/Models.js +59 -2873
- package/dist/esm/Models.js.map +4 -4
- package/dist/esm/defs.js +27 -16
- package/dist/esm/defs.js.map +2 -2
- package/package.json +3 -8
|
@@ -2,9 +2,10 @@ const Command = require("./Command");
|
|
|
2
2
|
const RequestError = require("../Errors/RequestError");
|
|
3
3
|
|
|
4
4
|
class CheckOutReservationCommand extends Command {
|
|
5
|
-
constructor({
|
|
6
|
-
if (!
|
|
7
|
-
|
|
5
|
+
constructor({ reservationId, userId, ...rest }) {
|
|
6
|
+
if (!reservationId) throw new RequestError("reservation id is required");
|
|
7
|
+
if (!userId) throw new RequestError("user id is required");
|
|
8
|
+
super({ reservationId, userId, ...rest });
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
get name() {
|
package/dist/cjs/Models/Room.js
CHANGED
|
@@ -3,7 +3,6 @@ const schemas = require("../utils/schema");
|
|
|
3
3
|
const schema = require("../schemas/room.json");
|
|
4
4
|
const deviceSchema = require("../schemas/definitions.json");
|
|
5
5
|
const Kohost = require("./Kohost");
|
|
6
|
-
const cloneDeep = require("lodash.clonedeep");
|
|
7
6
|
|
|
8
7
|
// device dependencies
|
|
9
8
|
const Switch = require("./Switch");
|
|
@@ -157,7 +156,7 @@ Object.defineProperty(Room, "validProperties", {
|
|
|
157
156
|
});
|
|
158
157
|
|
|
159
158
|
function mapRoomData(data) {
|
|
160
|
-
const roomData =
|
|
159
|
+
const roomData = structuredClone(data);
|
|
161
160
|
roomData.dimmers?.map((dimmer) => {
|
|
162
161
|
if (dimmer instanceof Dimmer) return dimmer;
|
|
163
162
|
else return new Dimmer(dimmer);
|
|
@@ -4,11 +4,7 @@ const schema = require("../schemas/ticket.json");
|
|
|
4
4
|
const Kohost = require("./Kohost");
|
|
5
5
|
const MediaFile = require("./MediaFile");
|
|
6
6
|
|
|
7
|
-
const sortBy = require("lodash.sortby");
|
|
8
|
-
const findLast = require("lodash.findlast");
|
|
9
|
-
|
|
10
7
|
const { nanoid } = require("nanoid");
|
|
11
|
-
const cloneDeep = require("lodash.clonedeep");
|
|
12
8
|
|
|
13
9
|
schemas.add(schema);
|
|
14
10
|
const validator = schemas.compile(schema);
|
|
@@ -44,61 +40,8 @@ Object.defineProperty(Ticket, "validProperties", {
|
|
|
44
40
|
value: Object.keys(schema.properties),
|
|
45
41
|
});
|
|
46
42
|
|
|
47
|
-
Object.defineProperty(Ticket.prototype, "responseTime", {
|
|
48
|
-
get: function () {
|
|
49
|
-
const conversation = this.conversation;
|
|
50
|
-
const requester = this.requester;
|
|
51
|
-
|
|
52
|
-
if (conversation.length === 0) return 0;
|
|
53
|
-
const mapped = conversation.map((msg) => {
|
|
54
|
-
if (typeof msg.timestamp === "string")
|
|
55
|
-
msg.timestamp = new Date(msg.timestamp);
|
|
56
|
-
return msg;
|
|
57
|
-
});
|
|
58
|
-
const sorted = sortBy(mapped, ["timestamp"]);
|
|
59
|
-
const firstMsg = sorted.find((entry) => entry.userId === requester);
|
|
60
|
-
const firstResponse = sorted.find((entry) => entry.userId !== requester);
|
|
61
|
-
|
|
62
|
-
if (firstMsg && firstResponse) {
|
|
63
|
-
const firstMsgTime = firstMsg.timestamp.getTime() / 1000;
|
|
64
|
-
const firstResponseTime = firstResponse.timestamp.getTime() / 1000;
|
|
65
|
-
return firstResponseTime - firstMsgTime;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return 0;
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
Object.defineProperty(Ticket.prototype, "resolutionTime", {
|
|
73
|
-
get: function () {
|
|
74
|
-
if (this.status !== "closed") return 0;
|
|
75
|
-
const createdAt = this.createdAt.getTime() / 1000;
|
|
76
|
-
const solvedAt = this.solvedAt
|
|
77
|
-
? this.solvedAt.getTime() / 1000
|
|
78
|
-
: this.updatedAt.getTime() / 1000;
|
|
79
|
-
|
|
80
|
-
return Math.abs(solvedAt - createdAt);
|
|
81
|
-
},
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
Object.defineProperty(Ticket.prototype, "lastResponder", {
|
|
85
|
-
get: function () {
|
|
86
|
-
const conversation = this.conversation;
|
|
87
|
-
const requester = this.requester;
|
|
88
|
-
|
|
89
|
-
const sorted = sortBy(conversation, ["timestamp"]);
|
|
90
|
-
|
|
91
|
-
const lastFromNonRequester = findLast(sorted, function (c) {
|
|
92
|
-
return c.userId !== requester;
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
if (!lastFromNonRequester) return null;
|
|
96
|
-
else return lastFromNonRequester.userId;
|
|
97
|
-
},
|
|
98
|
-
});
|
|
99
|
-
|
|
100
43
|
function mapConversationData(data) {
|
|
101
|
-
const ticketData =
|
|
44
|
+
const ticketData = structuredClone(data);
|
|
102
45
|
if (!ticketData.conversation) ticketData.conversation = [];
|
|
103
46
|
ticketData.conversation = ticketData.conversation.map((msg) => {
|
|
104
47
|
if (msg.media) {
|
package/dist/esm/Client.js
CHANGED
|
@@ -7196,7 +7196,7 @@ var require_axios = __commonJS({
|
|
|
7196
7196
|
__name(stringifySafely, "stringifySafely");
|
|
7197
7197
|
var defaults = {
|
|
7198
7198
|
transitional: transitionalDefaults,
|
|
7199
|
-
adapter:
|
|
7199
|
+
adapter: ["xhr", "http"],
|
|
7200
7200
|
transformRequest: [/* @__PURE__ */ __name(function transformRequest(data, headers) {
|
|
7201
7201
|
const contentType = headers.getContentType() || "";
|
|
7202
7202
|
const hasJSONContentType = contentType.indexOf("application/json") > -1;
|
|
@@ -7776,11 +7776,14 @@ var require_axios = __commonJS({
|
|
|
7776
7776
|
}
|
|
7777
7777
|
}
|
|
7778
7778
|
__name(done, "done");
|
|
7779
|
+
let contentType;
|
|
7779
7780
|
if (utils.isFormData(requestData)) {
|
|
7780
7781
|
if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {
|
|
7781
7782
|
requestHeaders.setContentType(false);
|
|
7782
|
-
} else {
|
|
7783
|
-
requestHeaders.setContentType("multipart/form-data
|
|
7783
|
+
} else if (!requestHeaders.getContentType(/^\s*multipart\/form-data/)) {
|
|
7784
|
+
requestHeaders.setContentType("multipart/form-data");
|
|
7785
|
+
} else if (utils.isString(contentType = requestHeaders.getContentType())) {
|
|
7786
|
+
requestHeaders.setContentType(contentType.replace(/^\s*(multipart\/form-data);+/, "$1"));
|
|
7784
7787
|
}
|
|
7785
7788
|
}
|
|
7786
7789
|
let request = new XMLHttpRequest();
|
|
@@ -7915,31 +7918,39 @@ var require_axios = __commonJS({
|
|
|
7915
7918
|
Object.defineProperty(fn, "adapterName", { value });
|
|
7916
7919
|
}
|
|
7917
7920
|
});
|
|
7921
|
+
var renderReason = /* @__PURE__ */ __name((reason) => `- ${reason}`, "renderReason");
|
|
7922
|
+
var isResolvedHandle = /* @__PURE__ */ __name((adapter) => utils.isFunction(adapter) || adapter === null || adapter === false, "isResolvedHandle");
|
|
7918
7923
|
var adapters = {
|
|
7919
7924
|
getAdapter: (adapters2) => {
|
|
7920
7925
|
adapters2 = utils.isArray(adapters2) ? adapters2 : [adapters2];
|
|
7921
7926
|
const { length } = adapters2;
|
|
7922
7927
|
let nameOrAdapter;
|
|
7923
7928
|
let adapter;
|
|
7929
|
+
const rejectedReasons = {};
|
|
7924
7930
|
for (let i = 0; i < length; i++) {
|
|
7925
7931
|
nameOrAdapter = adapters2[i];
|
|
7926
|
-
|
|
7932
|
+
let id;
|
|
7933
|
+
adapter = nameOrAdapter;
|
|
7934
|
+
if (!isResolvedHandle(nameOrAdapter)) {
|
|
7935
|
+
adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
|
|
7936
|
+
if (adapter === void 0) {
|
|
7937
|
+
throw new AxiosError(`Unknown adapter '${id}'`);
|
|
7938
|
+
}
|
|
7939
|
+
}
|
|
7940
|
+
if (adapter) {
|
|
7927
7941
|
break;
|
|
7928
7942
|
}
|
|
7943
|
+
rejectedReasons[id || "#" + i] = adapter;
|
|
7929
7944
|
}
|
|
7930
7945
|
if (!adapter) {
|
|
7931
|
-
|
|
7932
|
-
|
|
7933
|
-
|
|
7934
|
-
|
|
7935
|
-
|
|
7936
|
-
|
|
7937
|
-
|
|
7938
|
-
utils.hasOwnProp(knownAdapters, nameOrAdapter) ? `Adapter '${nameOrAdapter}' is not available in the build` : `Unknown adapter '${nameOrAdapter}'`
|
|
7946
|
+
const reasons = Object.entries(rejectedReasons).map(
|
|
7947
|
+
([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
|
|
7948
|
+
);
|
|
7949
|
+
let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
|
|
7950
|
+
throw new AxiosError(
|
|
7951
|
+
`There is no suitable adapter to dispatch the request ` + s,
|
|
7952
|
+
"ERR_NOT_SUPPORT"
|
|
7939
7953
|
);
|
|
7940
|
-
}
|
|
7941
|
-
if (!utils.isFunction(adapter)) {
|
|
7942
|
-
throw new TypeError("adapter is not a function");
|
|
7943
7954
|
}
|
|
7944
7955
|
return adapter;
|
|
7945
7956
|
},
|
|
@@ -8073,7 +8084,7 @@ var require_axios = __commonJS({
|
|
|
8073
8084
|
return config;
|
|
8074
8085
|
}
|
|
8075
8086
|
__name(mergeConfig, "mergeConfig");
|
|
8076
|
-
var VERSION = "1.5.
|
|
8087
|
+
var VERSION = "1.5.1";
|
|
8077
8088
|
var validators$1 = {};
|
|
8078
8089
|
["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
|
|
8079
8090
|
validators$1[type] = /* @__PURE__ */ __name(function validator2(thing) {
|