@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.
@@ -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({ id, ...rest }) {
6
- if (!id) throw new RequestError("reservation id is required");
7
- super({ id, ...rest });
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() {
@@ -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 = cloneDeep(data);
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 = cloneDeep(data);
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) {
@@ -7196,7 +7196,7 @@ var require_axios = __commonJS({
7196
7196
  __name(stringifySafely, "stringifySafely");
7197
7197
  var defaults = {
7198
7198
  transitional: transitionalDefaults,
7199
- adapter: platform.isNode ? "http" : "xhr",
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;", false);
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
- if (adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) {
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
- if (adapter === false) {
7932
- throw new AxiosError(
7933
- `Adapter ${nameOrAdapter} is not supported by the environment`,
7934
- "ERR_NOT_SUPPORT"
7935
- );
7936
- }
7937
- throw new Error(
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.0";
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) {