@kohost/api-client 4.16.0 → 4.17.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.
@@ -36,20 +36,19 @@ class Ticket extends import_entity.Entity {
36
36
  if (data.issueId !== void 0) this.issueId = data.issueId;
37
37
  this.conversation = data.conversation;
38
38
  if (data.subject !== void 0) this.subject = data.subject;
39
- if (data.openedBy !== void 0) this.openedBy = data.openedBy;
39
+ this.openedBy = data.openedBy;
40
40
  this.requester = data.requester;
41
- if (data.assignedTo !== void 0) this.assignedTo = data.assignedTo;
41
+ this.assignedTo = data.assignedTo;
42
42
  if (data.notify !== void 0) this.notify = data.notify;
43
43
  if (data.collaborators !== void 0)
44
44
  this.collaborators = data.collaborators;
45
45
  if (data.location !== void 0) this.location = data.location;
46
46
  this.status = data.status;
47
- if (data.priority !== void 0) this.priority = data.priority;
47
+ this.priority = data.priority;
48
48
  this.tags = data.tags;
49
49
  if (data.rating !== void 0) this.rating = data.rating;
50
50
  if (data.ratingComment !== void 0)
51
51
  this.ratingComment = data.ratingComment;
52
- if (data.tipAmount !== void 0) this.tipAmount = data.tipAmount;
53
52
  if (data.autoCloseAt !== void 0) this.autoCloseAt = data.autoCloseAt;
54
53
  if (data.scheduleDate !== void 0) this.scheduleDate = data.scheduleDate;
55
54
  this.createdAt = data.createdAt;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../.generated/models/ticket.ts"],"sourcesContent":["/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity.js\";\nimport { validateTicket as validate } from \"../validate.js\";\nimport { ticketSchema, type TicketSchema } from \"../schemas/ticket.js\";\n\n/**\n * Data type for Ticket constructor - exported for backwards compatibility\n */\nexport type TicketData = TicketSchema;\n\n/**\n * A ticket is a request from a user.\n */\nexport interface Ticket extends TicketSchema {}\nexport class Ticket extends Entity {\n declare schema: typeof ticketSchema;\n declare validator: typeof validate;\n\n constructor(data: TicketSchema) {\n super(data);\n this.id = data.id;\n if (data.type !== undefined) this.type = data.type;\n if (data.number !== undefined) this.number = data.number;\n if (data.issueId !== undefined) this.issueId = data.issueId;\n this.conversation = data.conversation;\n if (data.subject !== undefined) this.subject = data.subject;\n if (data.openedBy !== undefined) this.openedBy = data.openedBy;\n this.requester = data.requester;\n if (data.assignedTo !== undefined) this.assignedTo = data.assignedTo;\n if (data.notify !== undefined) this.notify = data.notify;\n if (data.collaborators !== undefined)\n this.collaborators = data.collaborators;\n if (data.location !== undefined) this.location = data.location;\n this.status = data.status;\n if (data.priority !== undefined) this.priority = data.priority;\n this.tags = data.tags;\n if (data.rating !== undefined) this.rating = data.rating;\n if (data.ratingComment !== undefined)\n this.ratingComment = data.ratingComment;\n if (data.tipAmount !== undefined) this.tipAmount = data.tipAmount;\n if (data.autoCloseAt !== undefined) this.autoCloseAt = data.autoCloseAt;\n if (data.scheduleDate !== undefined) this.scheduleDate = data.scheduleDate;\n this.createdAt = data.createdAt;\n this.updatedAt = data.updatedAt;\n if (data.solvedAt !== undefined) this.solvedAt = data.solvedAt;\n if (data.closedAt !== undefined) this.closedAt = data.closedAt;\n if (data.deletedAt !== undefined) this.deletedAt = data.deletedAt;\n }\n}\n\nObject.defineProperty(Ticket.prototype, \"schema\", {\n value: ticketSchema,\n});\n\nObject.defineProperty(Ticket.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAuB;AACvB,sBAA2C;AAC3C,oBAAgD;AAWzC,MAAM,eAAe,qBAAO;AAAA,EAfnC,OAemC;AAAA;AAAA;AAAA,EAIjC,YAAY,MAAoB;AAC9B,UAAM,IAAI;AACV,SAAK,KAAK,KAAK;AACf,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,YAAY,OAAW,MAAK,UAAU,KAAK;AACpD,SAAK,eAAe,KAAK;AACzB,QAAI,KAAK,YAAY,OAAW,MAAK,UAAU,KAAK;AACpD,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,SAAK,YAAY,KAAK;AACtB,QAAI,KAAK,eAAe,OAAW,MAAK,aAAa,KAAK;AAC1D,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,kBAAkB;AACzB,WAAK,gBAAgB,KAAK;AAC5B,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,SAAK,SAAS,KAAK;AACnB,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,SAAK,OAAO,KAAK;AACjB,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,kBAAkB;AACzB,WAAK,gBAAgB,KAAK;AAC5B,QAAI,KAAK,cAAc,OAAW,MAAK,YAAY,KAAK;AACxD,QAAI,KAAK,gBAAgB,OAAW,MAAK,cAAc,KAAK;AAC5D,QAAI,KAAK,iBAAiB,OAAW,MAAK,eAAe,KAAK;AAC9D,SAAK,YAAY,KAAK;AACtB,SAAK,YAAY,KAAK;AACtB,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,QAAI,KAAK,cAAc,OAAW,MAAK,YAAY,KAAK;AAAA,EAC1D;AACF;AAEA,OAAO,eAAe,OAAO,WAAW,UAAU;AAAA,EAChD,OAAO;AACT,CAAC;AAED,OAAO,eAAe,OAAO,WAAW,aAAa;AAAA,EACnD,KAAK,kCAAY;AACf,WAAO,gBAAAA;AAAA,EACT,GAFK;AAGP,CAAC;","names":["validate"]}
1
+ {"version":3,"sources":["../../../.generated/models/ticket.ts"],"sourcesContent":["/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity.js\";\nimport { validateTicket as validate } from \"../validate.js\";\nimport { ticketSchema, type TicketSchema } from \"../schemas/ticket.js\";\n\n/**\n * Data type for Ticket constructor - exported for backwards compatibility\n */\nexport type TicketData = TicketSchema;\n\n/**\n * A ticket is a request from a user.\n */\nexport interface Ticket extends TicketSchema {}\nexport class Ticket extends Entity {\n declare schema: typeof ticketSchema;\n declare validator: typeof validate;\n\n constructor(data: TicketSchema) {\n super(data);\n this.id = data.id;\n if (data.type !== undefined) this.type = data.type;\n if (data.number !== undefined) this.number = data.number;\n if (data.issueId !== undefined) this.issueId = data.issueId;\n this.conversation = data.conversation;\n if (data.subject !== undefined) this.subject = data.subject;\n this.openedBy = data.openedBy;\n this.requester = data.requester;\n this.assignedTo = data.assignedTo;\n if (data.notify !== undefined) this.notify = data.notify;\n if (data.collaborators !== undefined)\n this.collaborators = data.collaborators;\n if (data.location !== undefined) this.location = data.location;\n this.status = data.status;\n this.priority = data.priority;\n this.tags = data.tags;\n if (data.rating !== undefined) this.rating = data.rating;\n if (data.ratingComment !== undefined)\n this.ratingComment = data.ratingComment;\n if (data.autoCloseAt !== undefined) this.autoCloseAt = data.autoCloseAt;\n if (data.scheduleDate !== undefined) this.scheduleDate = data.scheduleDate;\n this.createdAt = data.createdAt;\n this.updatedAt = data.updatedAt;\n if (data.solvedAt !== undefined) this.solvedAt = data.solvedAt;\n if (data.closedAt !== undefined) this.closedAt = data.closedAt;\n if (data.deletedAt !== undefined) this.deletedAt = data.deletedAt;\n }\n}\n\nObject.defineProperty(Ticket.prototype, \"schema\", {\n value: ticketSchema,\n});\n\nObject.defineProperty(Ticket.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAuB;AACvB,sBAA2C;AAC3C,oBAAgD;AAWzC,MAAM,eAAe,qBAAO;AAAA,EAfnC,OAemC;AAAA;AAAA;AAAA,EAIjC,YAAY,MAAoB;AAC9B,UAAM,IAAI;AACV,SAAK,KAAK,KAAK;AACf,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,YAAY,OAAW,MAAK,UAAU,KAAK;AACpD,SAAK,eAAe,KAAK;AACzB,QAAI,KAAK,YAAY,OAAW,MAAK,UAAU,KAAK;AACpD,SAAK,WAAW,KAAK;AACrB,SAAK,YAAY,KAAK;AACtB,SAAK,aAAa,KAAK;AACvB,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,kBAAkB;AACzB,WAAK,gBAAgB,KAAK;AAC5B,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,SAAK,SAAS,KAAK;AACnB,SAAK,WAAW,KAAK;AACrB,SAAK,OAAO,KAAK;AACjB,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,kBAAkB;AACzB,WAAK,gBAAgB,KAAK;AAC5B,QAAI,KAAK,gBAAgB,OAAW,MAAK,cAAc,KAAK;AAC5D,QAAI,KAAK,iBAAiB,OAAW,MAAK,eAAe,KAAK;AAC9D,SAAK,YAAY,KAAK;AACtB,SAAK,YAAY,KAAK;AACtB,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,QAAI,KAAK,cAAc,OAAW,MAAK,YAAY,KAAK;AAAA,EAC1D;AACF;AAEA,OAAO,eAAe,OAAO,WAAW,UAAU;AAAA,EAChD,OAAO;AACT,CAAC;AAED,OAAO,eAAe,OAAO,WAAW,aAAa;AAAA,EACnD,KAAK,kCAAY;AACf,WAAO,gBAAAA;AAAA,EACT,GAFK;AAGP,CAAC;","names":["validate"]}
@@ -30,7 +30,10 @@ const ticketSchema = {
30
30
  "id",
31
31
  "conversation",
32
32
  "requester",
33
+ "openedBy",
34
+ "assignedTo",
33
35
  "status",
36
+ "priority",
34
37
  "tags",
35
38
  "createdAt",
36
39
  "updatedAt"
@@ -60,7 +63,7 @@ const ticketSchema = {
60
63
  items: {
61
64
  type: "object",
62
65
  additionalProperties: false,
63
- required: ["id", "discriminator", "timestamp", "body"],
66
+ required: ["id", "discriminator", "timestamp", "body", "author"],
64
67
  properties: {
65
68
  id: {
66
69
  type: "string",
@@ -85,60 +88,25 @@ const ticketSchema = {
85
88
  default: "message",
86
89
  description: "The discriminator of the message."
87
90
  },
88
- authorId: {
89
- type: "string",
90
- description: "The ID of the author of the message."
91
- },
92
- authorName: {
93
- type: "string",
94
- description: "The name of the author of the message."
95
- },
96
- authorDiscriminator: {
97
- type: "string",
98
- enum: ["user", "vendor", "system"],
99
- description: "The discriminator of the author of the message."
100
- },
101
- /**
102
- * @deprecated - use authorId instead.
103
- */
104
- userId: {
105
- type: "string",
106
- description: "@deprecated - use authorId instead. The ID of the user who sent the message."
107
- },
108
- /**
109
- * @deprecated - use authorName instead.
110
- */
111
- userName: {
112
- type: "string",
113
- description: "@deprecated - use authorName instead. The name of the user who sent the message."
114
- },
115
- /**
116
- * @deprecated - use authorId instead.
117
- */
118
- vendorId: {
119
- type: "string",
120
- description: "@deprecated - use authorId instead. The ID of the vendor who sent the message."
121
- },
122
- /**
123
- * @deprecated - use authorName instead.
124
- */
125
- vendorName: {
126
- type: "string",
127
- description: "@deprecated - use authorName instead. The name of the vendor who sent the message."
128
- },
129
- /**
130
- * @deprecated - use authorId instead.
131
- */
132
- systemId: {
133
- type: "string",
134
- description: "@deprecated - use authorId instead. The ID of the system who sent the message."
135
- },
136
- /**
137
- * @deprecated - use authorName instead.
138
- */
139
- systemName: {
140
- type: "string",
141
- description: "@deprecated - use authorName instead. The name of the system who sent the message."
91
+ author: {
92
+ type: "object",
93
+ additionalProperties: false,
94
+ required: ["id", "discriminator", "name"],
95
+ properties: {
96
+ id: {
97
+ type: "string",
98
+ description: "The ID of the author of the message."
99
+ },
100
+ discriminator: {
101
+ type: "string",
102
+ enum: ["user", "vendor", "system"],
103
+ description: "The discriminator of the author of the message."
104
+ },
105
+ name: {
106
+ type: "string",
107
+ description: "The name of the author of the message."
108
+ }
109
+ }
142
110
  },
143
111
  timestamp: {
144
112
  $ref: "definitions.json#/definitions/date",
@@ -218,6 +186,8 @@ const ticketSchema = {
218
186
  },
219
187
  openedBy: {
220
188
  type: "object",
189
+ additionalProperties: false,
190
+ required: ["id", "discriminator", "name"],
221
191
  properties: {
222
192
  id: {
223
193
  type: "string"
@@ -228,39 +198,13 @@ const ticketSchema = {
228
198
  },
229
199
  name: {
230
200
  type: "string"
231
- },
232
- /**
233
- * @deprecated - use id instead.
234
- */
235
- userId: {
236
- type: "string",
237
- description: "@deprecated - use id instead. The ID of the user who opened the ticket."
238
- },
239
- /**
240
- * @deprecated - use name instead.
241
- */
242
- userName: {
243
- type: "string",
244
- description: "@deprecated - use name instead. The name of the user who opened the ticket."
245
- },
246
- /**
247
- * @deprecated - use id instead.
248
- */
249
- systemId: {
250
- type: "string",
251
- description: "@deprecated - use id instead. The ID of the system who opened the ticket."
252
- },
253
- /**
254
- * @deprecated - use name instead.
255
- */
256
- systemName: {
257
- type: "string",
258
- description: "@deprecated - use name instead. The name of the system who opened the ticket."
259
201
  }
260
202
  }
261
203
  },
262
204
  requester: {
263
205
  type: "object",
206
+ additionalProperties: false,
207
+ required: ["id", "discriminator", "name"],
264
208
  properties: {
265
209
  id: {
266
210
  type: "string",
@@ -282,95 +226,14 @@ const ticketSchema = {
282
226
  { type: "string" }
283
227
  ],
284
228
  description: "The photo of the requester."
285
- },
286
- /**
287
- * @deprecated - use id instead.
288
- */
289
- systemId: {
290
- type: "string",
291
- description: "@deprecated - use id instead. The ID of the system who requested the ticket."
292
- },
293
- /**
294
- * @deprecated - use name instead.
295
- */
296
- systemName: {
297
- type: "string",
298
- description: "@deprecated - use name instead. The name of the system who requested the ticket."
299
- },
300
- /**
301
- * @deprecated - use photo instead.
302
- */
303
- systemPhoto: {
304
- anyOf: [
305
- { $ref: "mediaFile.json" },
306
- { type: "null" },
307
- { type: "string" }
308
- ],
309
- description: "@deprecated - use photo instead. The photo of the system who requested the ticket."
310
- },
311
- /**
312
- * @deprecated - use id instead.
313
- */
314
- userId: {
315
- type: "string",
316
- description: "@deprecated - use id instead. The ID of the user who requested the ticket."
317
- },
318
- /**
319
- * @deprecated - use name instead.
320
- */
321
- userName: {
322
- type: "string",
323
- description: "@deprecated - use name instead. The name of the user who requested the ticket."
324
- },
325
- /**
326
- * @deprecated - use photo instead.
327
- */
328
- userPhoto: {
329
- anyOf: [
330
- { $ref: "mediaFile.json" },
331
- { type: "null" },
332
- { type: "string" }
333
- ],
334
- description: "@deprecated - use photo instead. The photo of the user who requested the ticket."
335
- },
336
- /**
337
- * @deprecated - use id instead.
338
- */
339
- deviceId: {
340
- type: "string"
341
- },
342
- /**
343
- * @deprecated - This will be removed in a future version.
344
- */
345
- roomId: {
346
- type: "string",
347
- description: "@deprecated - This will be removed in a future version. The ID of the room who requested the ticket."
348
- },
349
- /**
350
- * @deprecated - This will be removed in a future version.
351
- */
352
- reservationId: {
353
- type: "string",
354
- description: "@deprecated - This will be removed in a future version. The ID of the reservation who requested the ticket."
355
- },
356
- /**
357
- * @deprecated - This will be removed in a future version.
358
- */
359
- spaceId: {
360
- type: "string",
361
- description: "@deprecated - This will be removed in a future version. The ID of the space who requested the ticket."
362
- },
363
- /**
364
- * @deprecated - This will be removed in a future version.
365
- */
366
- spaceName: {
367
- type: "string",
368
- description: "@deprecated - This will be removed in a future version. The name of the space who requested the ticket."
369
229
  }
370
230
  }
371
231
  },
372
232
  assignedTo: {
373
- type: "object",
233
+ type: ["object", "null"],
234
+ default: null,
235
+ additionalProperties: false,
236
+ required: ["id", "discriminator", "name"],
374
237
  properties: {
375
238
  id: {
376
239
  type: "string",
@@ -392,55 +255,6 @@ const ticketSchema = {
392
255
  { type: "string" }
393
256
  ],
394
257
  description: "The photo of the assigned to."
395
- },
396
- /**
397
- * @deprecated - use id instead.
398
- */
399
- userId: {
400
- type: "string",
401
- description: "@deprecated - use id instead. The ID of the user who assigned the ticket."
402
- },
403
- /**
404
- * @deprecated - use name instead.
405
- */
406
- userName: {
407
- type: "string",
408
- description: "@deprecated - use name instead. The name of the user who assigned the ticket."
409
- },
410
- /**
411
- * @deprecated - use photo instead.
412
- */
413
- userPhoto: {
414
- anyOf: [
415
- { $ref: "mediaFile.json" },
416
- { type: "null" },
417
- { type: "string" }
418
- ]
419
- },
420
- /**
421
- * @deprecated - use id instead.
422
- */
423
- vendorId: {
424
- type: "string",
425
- description: "@deprecated - use id instead. The ID of the vendor who assigned the ticket."
426
- },
427
- /**
428
- * @deprecated - use name instead.
429
- */
430
- vendorName: {
431
- type: "string",
432
- description: "@deprecated - use name instead. The name of the vendor who assigned the ticket."
433
- },
434
- /**
435
- * @deprecated - use photo instead.
436
- */
437
- vendorPhoto: {
438
- anyOf: [
439
- { $ref: "mediaFile.json" },
440
- { type: "null" },
441
- { type: "string" }
442
- ],
443
- description: "@deprecated - use photo instead. The photo of the vendor who assigned the ticket."
444
258
  }
445
259
  }
446
260
  },
@@ -496,7 +310,7 @@ const ticketSchema = {
496
310
  },
497
311
  discriminator: {
498
312
  type: "string",
499
- enum: ["space", "room", "property", "customText"]
313
+ enum: ["space", "property", "customText"]
500
314
  },
501
315
  name: {
502
316
  type: "string"
@@ -510,7 +324,7 @@ const ticketSchema = {
510
324
  },
511
325
  priority: {
512
326
  type: "string",
513
- enum: ["low", "normal", "high"],
327
+ enum: ["low", "normal", "high", "critical"],
514
328
  default: "normal"
515
329
  },
516
330
  tags: {
@@ -528,13 +342,6 @@ const ticketSchema = {
528
342
  ratingComment: {
529
343
  type: "string"
530
344
  },
531
- /**
532
- * @deprecated - This will be removed in a future version.
533
- */
534
- tipAmount: {
535
- type: "string",
536
- description: "@deprecated - This will be removed in a future version. The amount of the tip."
537
- },
538
345
  autoCloseAt: {
539
346
  $ref: "definitions.json#/definitions/date"
540
347
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../.generated/schemas/ticket.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\nimport type { mediaFileSchema } from \"./mediaFile\";\n\nexport const ticketSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"ticket.json\",\n title: \"Ticket\",\n description: \"A ticket is a request from a user.\",\n type: \"object\",\n required: [\n \"id\",\n \"conversation\",\n \"requester\",\n \"status\",\n \"tags\",\n \"createdAt\",\n \"updatedAt\",\n ],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"ticket\"],\n default: \"ticket\",\n },\n number: {\n type: \"string\",\n description: \"The number of the ticket.\",\n },\n issueId: {\n type: \"string\",\n description: \"The ID of the issue that this ticket is associated with.\",\n },\n conversation: {\n type: \"array\",\n default: [],\n description: \"The conversation history of the ticket.\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"id\", \"discriminator\", \"timestamp\", \"body\"],\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the message.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"message\",\n \"opened\",\n \"assigned\",\n \"rated\",\n \"tipped\",\n \"scheduled\",\n \"collaboratorAdded\",\n \"collaboratorRemoved\",\n \"statusChanged\",\n \"priorityChanged\",\n \"scheduleDateChanged\",\n \"locationChanged\",\n ],\n default: \"message\",\n description: \"The discriminator of the message.\",\n },\n authorId: {\n type: \"string\",\n description: \"The ID of the author of the message.\",\n },\n authorName: {\n type: \"string\",\n description: \"The name of the author of the message.\",\n },\n authorDiscriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\", \"system\"],\n description: \"The discriminator of the author of the message.\",\n },\n /**\n * @deprecated - use authorId instead.\n */\n userId: {\n type: \"string\",\n description:\n \"@deprecated - use authorId instead. The ID of the user who sent the message.\",\n },\n /**\n * @deprecated - use authorName instead.\n */\n userName: {\n type: \"string\",\n description:\n \"@deprecated - use authorName instead. The name of the user who sent the message.\",\n },\n /**\n * @deprecated - use authorId instead.\n */\n vendorId: {\n type: \"string\",\n description:\n \"@deprecated - use authorId instead. The ID of the vendor who sent the message.\",\n },\n /**\n * @deprecated - use authorName instead.\n */\n vendorName: {\n type: \"string\",\n description:\n \"@deprecated - use authorName instead. The name of the vendor who sent the message.\",\n },\n /**\n * @deprecated - use authorId instead.\n */\n systemId: {\n type: \"string\",\n description:\n \"@deprecated - use authorId instead. The ID of the system who sent the message.\",\n },\n /**\n * @deprecated - use authorName instead.\n */\n systemName: {\n type: \"string\",\n description:\n \"@deprecated - use authorName instead. The name of the system who sent the message.\",\n },\n timestamp: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"The ISO 8601 timestamp of the message.\",\n },\n body: {\n type: \"string\",\n description: \"The body of the message.\",\n },\n parsedBody: {\n type: \"object\",\n additionalProperties: false,\n description:\n \"An object containing the parsed body of the message for mentions.\",\n properties: {\n text: {\n type: \"string\",\n description: \"The mention text.\",\n },\n mentions: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\n \"discriminator\",\n \"id\",\n \"index\",\n \"length\",\n \"originalText\",\n ],\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the mention.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\", \"system\"],\n description:\n \"The discriminator of entity that was mentioned.\",\n },\n index: {\n type: \"integer\",\n description: \"The index of the mention in the message.\",\n },\n length: {\n type: \"integer\",\n description: \"The length of the mention in the message.\",\n },\n originalText: {\n type: \"string\",\n description: \"The original text of the mention.\",\n },\n },\n },\n },\n },\n },\n\n readBy: {\n type: \"array\",\n default: [],\n items: {\n type: \"string\",\n },\n description: \"The IDs of the users who have read the message.\",\n },\n media: {\n anyOf: [{ $ref: \"mediaFile.json\" }, { type: \"null\" }],\n description: \"The media file associated with the message.\",\n },\n },\n },\n },\n subject: {\n type: \"string\",\n description: \"The subject of the ticket.\",\n },\n openedBy: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"system\"],\n },\n name: {\n type: \"string\",\n },\n /**\n * @deprecated - use id instead.\n */\n userId: {\n type: \"string\",\n description:\n \"@deprecated - use id instead. The ID of the user who opened the ticket.\",\n },\n /**\n * @deprecated - use name instead.\n */\n userName: {\n type: \"string\",\n description:\n \"@deprecated - use name instead. The name of the user who opened the ticket.\",\n },\n\n /**\n * @deprecated - use id instead.\n */\n systemId: {\n type: \"string\",\n description:\n \"@deprecated - use id instead. The ID of the system who opened the ticket.\",\n },\n /**\n * @deprecated - use name instead.\n */\n systemName: {\n type: \"string\",\n description:\n \"@deprecated - use name instead. The name of the system who opened the ticket.\",\n },\n },\n },\n requester: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the requester.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\", \"system\", \"device\"],\n description: \"The discriminator of the requester.\",\n },\n name: {\n type: \"string\",\n description: \"The name of the requester.\",\n },\n photo: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n description: \"The photo of the requester.\",\n },\n /**\n * @deprecated - use id instead.\n */\n systemId: {\n type: \"string\",\n description:\n \"@deprecated - use id instead. The ID of the system who requested the ticket.\",\n },\n /**\n * @deprecated - use name instead.\n */\n systemName: {\n type: \"string\",\n description:\n \"@deprecated - use name instead. The name of the system who requested the ticket.\",\n },\n /**\n * @deprecated - use photo instead.\n */\n systemPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n description:\n \"@deprecated - use photo instead. The photo of the system who requested the ticket.\",\n },\n /**\n * @deprecated - use id instead.\n */\n userId: {\n type: \"string\",\n description:\n \"@deprecated - use id instead. The ID of the user who requested the ticket.\",\n },\n /**\n * @deprecated - use name instead.\n */\n userName: {\n type: \"string\",\n description:\n \"@deprecated - use name instead. The name of the user who requested the ticket.\",\n },\n /**\n * @deprecated - use photo instead.\n */\n userPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n description:\n \"@deprecated - use photo instead. The photo of the user who requested the ticket.\",\n },\n /**\n * @deprecated - use id instead.\n */\n deviceId: {\n type: \"string\",\n },\n /**\n * @deprecated - This will be removed in a future version.\n */\n roomId: {\n type: \"string\",\n description:\n \"@deprecated - This will be removed in a future version. The ID of the room who requested the ticket.\",\n },\n /**\n * @deprecated - This will be removed in a future version.\n */\n reservationId: {\n type: \"string\",\n description:\n \"@deprecated - This will be removed in a future version. The ID of the reservation who requested the ticket.\",\n },\n /**\n * @deprecated - This will be removed in a future version.\n */\n spaceId: {\n type: \"string\",\n description:\n \"@deprecated - This will be removed in a future version. The ID of the space who requested the ticket.\",\n },\n /**\n * @deprecated - This will be removed in a future version.\n */\n spaceName: {\n type: \"string\",\n description:\n \"@deprecated - This will be removed in a future version. The name of the space who requested the ticket.\",\n },\n },\n },\n assignedTo: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the assigned to.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\"],\n description: \"The discriminator of the assigned to.\",\n },\n name: {\n type: \"string\",\n description: \"The name of the assigned to.\",\n },\n photo: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n description: \"The photo of the assigned to.\",\n },\n /**\n * @deprecated - use id instead.\n */\n userId: {\n type: \"string\",\n description:\n \"@deprecated - use id instead. The ID of the user who assigned the ticket.\",\n },\n /**\n * @deprecated - use name instead.\n */\n userName: {\n type: \"string\",\n description:\n \"@deprecated - use name instead. The name of the user who assigned the ticket.\",\n },\n /**\n * @deprecated - use photo instead.\n */\n userPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n },\n /**\n * @deprecated - use id instead.\n */\n vendorId: {\n type: \"string\",\n description:\n \"@deprecated - use id instead. The ID of the vendor who assigned the ticket.\",\n },\n /**\n * @deprecated - use name instead.\n */\n vendorName: {\n type: \"string\",\n description:\n \"@deprecated - use name instead. The name of the vendor who assigned the ticket.\",\n },\n /**\n * @deprecated - use photo instead.\n */\n vendorPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n description:\n \"@deprecated - use photo instead. The photo of the vendor who assigned the ticket.\",\n },\n },\n },\n notify: {\n type: \"array\",\n description:\n \"A list of entities to notify when this ticket is created or resolved.\",\n default: [],\n items: {\n type: \"object\",\n required: [\"id\", \"discriminator\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the entity to notify.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\"],\n },\n },\n },\n },\n collaborators: {\n type: \"array\",\n default: [],\n description: \"A list of entities who will collaborate on this ticket.\",\n items: {\n type: \"object\",\n required: [\"id\", \"name\", \"discriminator\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n name: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\"],\n },\n },\n },\n },\n location: {\n type: \"object\",\n required: [\"discriminator\", \"name\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"space\", \"room\", \"property\", \"customText\"],\n },\n name: {\n type: \"string\",\n },\n },\n },\n status: {\n type: \"string\",\n enum: [\"open\", \"pending\", \"solved\", \"closed\"],\n default: \"open\",\n },\n priority: {\n type: \"string\",\n enum: [\"low\", \"normal\", \"high\"],\n default: \"normal\",\n },\n tags: {\n type: \"array\",\n default: [],\n items: {\n type: \"string\",\n },\n },\n rating: {\n type: \"number\",\n minimum: 0,\n maximum: 5,\n },\n ratingComment: {\n type: \"string\",\n },\n /**\n * @deprecated - This will be removed in a future version.\n */\n tipAmount: {\n type: \"string\",\n description:\n \"@deprecated - This will be removed in a future version. The amount of the tip.\",\n },\n autoCloseAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n scheduleDate: {\n $ref: \"definitions.json#/definitions/date\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n solvedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n closedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n} as const;\n\nexport type TicketSchema = FromSchema<\n typeof ticketSchema,\n {\n references: [typeof defs, typeof mediaFileSchema];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../.generated/schemas/ticket.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\nimport type { mediaFileSchema } from \"./mediaFile\";\n\nexport const ticketSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"ticket.json\",\n title: \"Ticket\",\n description: \"A ticket is a request from a user.\",\n type: \"object\",\n required: [\n \"id\",\n \"conversation\",\n \"requester\",\n \"openedBy\",\n \"assignedTo\",\n \"status\",\n \"priority\",\n \"tags\",\n \"createdAt\",\n \"updatedAt\",\n ],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"ticket\"],\n default: \"ticket\",\n },\n number: {\n type: \"string\",\n description: \"The number of the ticket.\",\n },\n issueId: {\n type: \"string\",\n description: \"The ID of the issue that this ticket is associated with.\",\n },\n conversation: {\n type: \"array\",\n default: [],\n description: \"The conversation history of the ticket.\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"id\", \"discriminator\", \"timestamp\", \"body\", \"author\"],\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the message.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"message\",\n \"opened\",\n \"assigned\",\n \"rated\",\n \"tipped\",\n \"scheduled\",\n \"collaboratorAdded\",\n \"collaboratorRemoved\",\n \"statusChanged\",\n \"priorityChanged\",\n \"scheduleDateChanged\",\n \"locationChanged\",\n ],\n default: \"message\",\n description: \"The discriminator of the message.\",\n },\n author: {\n type: \"object\",\n additionalProperties: false,\n required: [\"id\", \"discriminator\", \"name\"],\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the author of the message.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\", \"system\"],\n description: \"The discriminator of the author of the message.\",\n },\n name: {\n type: \"string\",\n description: \"The name of the author of the message.\",\n },\n },\n },\n timestamp: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"The ISO 8601 timestamp of the message.\",\n },\n body: {\n type: \"string\",\n description: \"The body of the message.\",\n },\n parsedBody: {\n type: \"object\",\n additionalProperties: false,\n description:\n \"An object containing the parsed body of the message for mentions.\",\n properties: {\n text: {\n type: \"string\",\n description: \"The mention text.\",\n },\n mentions: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\n \"discriminator\",\n \"id\",\n \"index\",\n \"length\",\n \"originalText\",\n ],\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the mention.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\", \"system\"],\n description:\n \"The discriminator of entity that was mentioned.\",\n },\n index: {\n type: \"integer\",\n description: \"The index of the mention in the message.\",\n },\n length: {\n type: \"integer\",\n description: \"The length of the mention in the message.\",\n },\n originalText: {\n type: \"string\",\n description: \"The original text of the mention.\",\n },\n },\n },\n },\n },\n },\n\n readBy: {\n type: \"array\",\n default: [],\n items: {\n type: \"string\",\n },\n description: \"The IDs of the users who have read the message.\",\n },\n media: {\n anyOf: [{ $ref: \"mediaFile.json\" }, { type: \"null\" }],\n description: \"The media file associated with the message.\",\n },\n },\n },\n },\n subject: {\n type: \"string\",\n description: \"The subject of the ticket.\",\n },\n openedBy: {\n type: \"object\",\n additionalProperties: false,\n required: [\"id\", \"discriminator\", \"name\"],\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"system\"],\n },\n name: {\n type: \"string\",\n },\n },\n },\n requester: {\n type: \"object\",\n additionalProperties: false,\n required: [\"id\", \"discriminator\", \"name\"],\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the requester.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\", \"system\", \"device\"],\n description: \"The discriminator of the requester.\",\n },\n name: {\n type: \"string\",\n description: \"The name of the requester.\",\n },\n photo: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n description: \"The photo of the requester.\",\n },\n },\n },\n assignedTo: {\n type: [\"object\", \"null\"],\n default: null,\n additionalProperties: false,\n required: [\"id\", \"discriminator\", \"name\"],\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the assigned to.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\"],\n description: \"The discriminator of the assigned to.\",\n },\n name: {\n type: \"string\",\n description: \"The name of the assigned to.\",\n },\n photo: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n description: \"The photo of the assigned to.\",\n },\n },\n },\n notify: {\n type: \"array\",\n description:\n \"A list of entities to notify when this ticket is created or resolved.\",\n default: [],\n items: {\n type: \"object\",\n required: [\"id\", \"discriminator\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the entity to notify.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\"],\n },\n },\n },\n },\n collaborators: {\n type: \"array\",\n default: [],\n description: \"A list of entities who will collaborate on this ticket.\",\n items: {\n type: \"object\",\n required: [\"id\", \"name\", \"discriminator\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n name: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\"],\n },\n },\n },\n },\n location: {\n type: \"object\",\n required: [\"discriminator\", \"name\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"space\", \"property\", \"customText\"],\n },\n name: {\n type: \"string\",\n },\n },\n },\n status: {\n type: \"string\",\n enum: [\"open\", \"pending\", \"solved\", \"closed\"],\n default: \"open\",\n },\n priority: {\n type: \"string\",\n enum: [\"low\", \"normal\", \"high\", \"critical\"],\n default: \"normal\",\n },\n tags: {\n type: \"array\",\n default: [],\n items: {\n type: \"string\",\n },\n },\n rating: {\n type: \"number\",\n minimum: 0,\n maximum: 5,\n },\n ratingComment: {\n type: \"string\",\n },\n autoCloseAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n scheduleDate: {\n $ref: \"definitions.json#/definitions/date\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n solvedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n closedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n} as const;\n\nexport type TicketSchema = FromSchema<\n typeof ticketSchema,\n {\n references: [typeof defs, typeof mediaFileSchema];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"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","names":[]}