@kohost/api-client 5.0.6 → 5.1.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 (101) hide show
  1. package/dist/cjs/{index-CjXs7rFc.d.cts → index-DGdGZN91.d.cts} +1 -10
  2. package/dist/cjs/index.d.cts +4 -10
  3. package/dist/cjs/models/index.cjs +0 -9
  4. package/dist/cjs/models/index.cjs.map +1 -1
  5. package/dist/cjs/models/index.d.cts +3 -9
  6. package/dist/cjs/models/property.cjs +0 -2
  7. package/dist/cjs/models/property.cjs.map +1 -1
  8. package/dist/cjs/models/space.cjs +0 -7
  9. package/dist/cjs/models/space.cjs.map +1 -1
  10. package/dist/cjs/models/user.cjs +0 -1
  11. package/dist/cjs/models/user.cjs.map +1 -1
  12. package/dist/cjs/schemas/definitions.cjs +1 -0
  13. package/dist/cjs/schemas/definitions.cjs.map +1 -1
  14. package/dist/cjs/schemas/definitions.d.cts +1 -1
  15. package/dist/cjs/schemas/index.cjs +0 -13
  16. package/dist/cjs/schemas/index.cjs.map +1 -1
  17. package/dist/cjs/schemas/index.d.cts +0 -3
  18. package/dist/cjs/schemas/property.cjs +1 -39
  19. package/dist/cjs/schemas/property.cjs.map +1 -1
  20. package/dist/cjs/schemas/property.d.cts +1 -39
  21. package/dist/cjs/schemas/space.cjs +0 -26
  22. package/dist/cjs/schemas/space.cjs.map +1 -1
  23. package/dist/cjs/schemas/space.d.cts +0 -26
  24. package/dist/cjs/schemas/ticket.cjs +0 -1
  25. package/dist/cjs/schemas/ticket.cjs.map +1 -1
  26. package/dist/cjs/schemas/ticket.d.cts +1 -1
  27. package/dist/cjs/schemas/user.cjs +0 -3
  28. package/dist/cjs/schemas/user.cjs.map +1 -1
  29. package/dist/cjs/schemas/user.d.cts +0 -3
  30. package/dist/cjs/validate.cjs +0 -15
  31. package/dist/cjs/validate.cjs.map +1 -1
  32. package/dist/cjs/validate.d.cts +1 -61
  33. package/dist/esm/{index-BLHzohDV.d.ts → index-BmUDCO4d.d.ts} +1 -10
  34. package/dist/esm/index.d.ts +4 -10
  35. package/dist/esm/models/index.d.ts +3 -9
  36. package/dist/esm/models/index.js +0 -6
  37. package/dist/esm/models/index.js.map +1 -1
  38. package/dist/esm/models/property.js +0 -2
  39. package/dist/esm/models/property.js.map +1 -1
  40. package/dist/esm/models/space.js +0 -7
  41. package/dist/esm/models/space.js.map +1 -1
  42. package/dist/esm/models/user.js +0 -1
  43. package/dist/esm/models/user.js.map +1 -1
  44. package/dist/esm/schemas/definitions.d.ts +1 -1
  45. package/dist/esm/schemas/definitions.js +1 -0
  46. package/dist/esm/schemas/definitions.js.map +1 -1
  47. package/dist/esm/schemas/index.d.ts +0 -3
  48. package/dist/esm/schemas/index.js +2 -10
  49. package/dist/esm/schemas/index.js.map +1 -1
  50. package/dist/esm/schemas/property.d.ts +1 -39
  51. package/dist/esm/schemas/property.js +1 -39
  52. package/dist/esm/schemas/property.js.map +1 -1
  53. package/dist/esm/schemas/space.d.ts +0 -26
  54. package/dist/esm/schemas/space.js +0 -26
  55. package/dist/esm/schemas/space.js.map +1 -1
  56. package/dist/esm/schemas/ticket.d.ts +1 -1
  57. package/dist/esm/schemas/ticket.js +0 -1
  58. package/dist/esm/schemas/ticket.js.map +1 -1
  59. package/dist/esm/schemas/user.d.ts +0 -3
  60. package/dist/esm/schemas/user.js +0 -3
  61. package/dist/esm/schemas/user.js.map +1 -1
  62. package/dist/esm/validate.d.ts +155 -215
  63. package/dist/esm/validate.js +0 -12
  64. package/dist/esm/validate.js.map +1 -1
  65. package/package.json +1 -1
  66. package/dist/cjs/models/deviceRouter.cjs +0 -52
  67. package/dist/cjs/models/deviceRouter.cjs.map +0 -1
  68. package/dist/cjs/models/deviceRouter.d.cts +0 -23
  69. package/dist/cjs/models/room.cjs +0 -169
  70. package/dist/cjs/models/room.cjs.map +0 -1
  71. package/dist/cjs/models/room.d.cts +0 -48
  72. package/dist/cjs/models/scene.cjs +0 -54
  73. package/dist/cjs/models/scene.cjs.map +0 -1
  74. package/dist/cjs/models/scene.d.cts +0 -23
  75. package/dist/cjs/schemas/deviceRouter.cjs +0 -57
  76. package/dist/cjs/schemas/deviceRouter.cjs.map +0 -1
  77. package/dist/cjs/schemas/deviceRouter.d.cts +0 -46
  78. package/dist/cjs/schemas/room.cjs +0 -317
  79. package/dist/cjs/schemas/room.cjs.map +0 -1
  80. package/dist/cjs/schemas/room.d.cts +0 -223
  81. package/dist/cjs/schemas/scene.cjs +0 -174
  82. package/dist/cjs/schemas/scene.cjs.map +0 -1
  83. package/dist/cjs/schemas/scene.d.cts +0 -163
  84. package/dist/esm/models/deviceRouter.d.ts +0 -23
  85. package/dist/esm/models/deviceRouter.js +0 -32
  86. package/dist/esm/models/deviceRouter.js.map +0 -1
  87. package/dist/esm/models/room.d.ts +0 -48
  88. package/dist/esm/models/room.js +0 -147
  89. package/dist/esm/models/room.js.map +0 -1
  90. package/dist/esm/models/scene.d.ts +0 -23
  91. package/dist/esm/models/scene.js +0 -32
  92. package/dist/esm/models/scene.js.map +0 -1
  93. package/dist/esm/schemas/deviceRouter.d.ts +0 -46
  94. package/dist/esm/schemas/deviceRouter.js +0 -34
  95. package/dist/esm/schemas/deviceRouter.js.map +0 -1
  96. package/dist/esm/schemas/room.d.ts +0 -223
  97. package/dist/esm/schemas/room.js +0 -292
  98. package/dist/esm/schemas/room.js.map +0 -1
  99. package/dist/esm/schemas/scene.d.ts +0 -163
  100. package/dist/esm/schemas/scene.js +0 -151
  101. package/dist/esm/schemas/scene.js.map +0 -1
@@ -22,7 +22,7 @@ declare const propertySchema: {
22
22
  };
23
23
  readonly discriminator: {
24
24
  readonly type: "string";
25
- readonly enum: readonly ["hospitality", "education", "commercial", "storage"];
25
+ readonly enum: readonly ["education", "commercial"];
26
26
  };
27
27
  readonly organization: {
28
28
  readonly type: "string";
@@ -68,12 +68,6 @@ declare const propertySchema: {
68
68
  readonly type: "string";
69
69
  };
70
70
  };
71
- readonly checkInTime: {
72
- readonly type: "string";
73
- };
74
- readonly checkOutTime: {
75
- readonly type: "string";
76
- };
77
71
  readonly address: {
78
72
  readonly $ref: "definitions.json#/definitions/address";
79
73
  };
@@ -93,31 +87,6 @@ declare const propertySchema: {
93
87
  readonly type: "boolean";
94
88
  readonly default: true;
95
89
  };
96
- readonly disabledSystems: {
97
- readonly type: "array";
98
- readonly items: {
99
- readonly type: "string";
100
- readonly enum: readonly ["climate", "lights", "shades", "tv", "doors"];
101
- };
102
- };
103
- readonly excludedDeviceIds: {
104
- readonly type: "array";
105
- readonly items: {
106
- readonly type: "string";
107
- };
108
- readonly default: readonly [];
109
- };
110
- readonly commonAreas: {
111
- readonly type: "object";
112
- readonly properties: {
113
- readonly spaces: {
114
- readonly type: "array";
115
- readonly items: {
116
- readonly type: "string";
117
- };
118
- };
119
- };
120
- };
121
90
  readonly alarmConfig: {
122
91
  readonly type: "object";
123
92
  readonly patternProperties: {
@@ -192,13 +161,6 @@ declare const propertySchema: {
192
161
  readonly type: "boolean";
193
162
  readonly default: true;
194
163
  };
195
- readonly newTicketCCs: {
196
- readonly type: "array";
197
- readonly items: {
198
- readonly type: "string";
199
- };
200
- readonly default: readonly [];
201
- };
202
164
  readonly newMessageChannel: {
203
165
  readonly type: readonly ["string", "null"];
204
166
  readonly enum: readonly ["sms", "email"];
@@ -19,7 +19,7 @@ const propertySchema = {
19
19
  },
20
20
  discriminator: {
21
21
  type: "string",
22
- enum: ["hospitality", "education", "commercial", "storage"]
22
+ enum: ["education", "commercial"]
23
23
  },
24
24
  organization: {
25
25
  type: "string",
@@ -65,12 +65,6 @@ const propertySchema = {
65
65
  type: "string"
66
66
  }
67
67
  },
68
- checkInTime: {
69
- type: "string"
70
- },
71
- checkOutTime: {
72
- type: "string"
73
- },
74
68
  address: {
75
69
  $ref: "definitions.json#/definitions/address"
76
70
  },
@@ -90,31 +84,6 @@ const propertySchema = {
90
84
  type: "boolean",
91
85
  default: true
92
86
  },
93
- disabledSystems: {
94
- type: "array",
95
- items: {
96
- type: "string",
97
- enum: ["climate", "lights", "shades", "tv", "doors"]
98
- }
99
- },
100
- excludedDeviceIds: {
101
- type: "array",
102
- items: {
103
- type: "string"
104
- },
105
- default: []
106
- },
107
- commonAreas: {
108
- type: "object",
109
- properties: {
110
- spaces: {
111
- type: "array",
112
- items: {
113
- type: "string"
114
- }
115
- }
116
- }
117
- },
118
87
  alarmConfig: {
119
88
  type: "object",
120
89
  patternProperties: {
@@ -191,13 +160,6 @@ const propertySchema = {
191
160
  type: "boolean",
192
161
  default: true
193
162
  },
194
- newTicketCCs: {
195
- type: "array",
196
- items: {
197
- type: "string"
198
- },
199
- default: []
200
- },
201
163
  newMessageChannel: {
202
164
  type: ["string", "null"],
203
165
  enum: ["sms", "email"],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../.generated/schemas/property.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const propertySchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"property.json\",\n title: \"Property\",\n type: \"object\",\n description: \"A property is a physical asset or building\",\n required: [\"id\", \"name\", \"type\", \"organization\", \"timezone\", \"discriminator\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n default: \"property\",\n enum: [\"property\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\"hospitality\", \"education\", \"commercial\", \"storage\"],\n },\n organization: {\n type: \"string\",\n description: \"Reference (id) to the organization that owns this property\",\n },\n testModeEnabled: {\n type: \"boolean\",\n },\n testMode: {\n type: \"object\",\n properties: {\n notificationEmails: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description:\n \"Only users with these email addresses will receive notifications in test mode, including sms, email, or push.\",\n },\n notificationEmailDomains: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description:\n \"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push.\",\n },\n },\n },\n timezone: {\n type: \"string\",\n description: \"IANA timezone string\",\n pattern: \"^([a-zA-Z]+/[a-zA-Z_]+)$\",\n examples: [\"America/New_York\", \"America/Los_Angeles\"],\n },\n smsNumber: {\n type: \"string\",\n },\n voiceNumber: {\n type: \"string\",\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n checkInTime: {\n type: \"string\",\n },\n checkOutTime: {\n type: \"string\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n latitude: {\n type: \"number\",\n },\n longitude: {\n type: \"number\",\n },\n appFeatures: {\n type: \"object\",\n properties: {\n RoomControl: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n default: true,\n },\n disabledSystems: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\"climate\", \"lights\", \"shades\", \"tv\", \"doors\"],\n },\n },\n excludedDeviceIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n default: [],\n },\n commonAreas: {\n type: \"object\",\n properties: {\n spaces: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n },\n alarmConfig: {\n type: \"object\",\n patternProperties: {\n \"^[a-zA-Z0-9]+$\": {\n type: \"object\",\n properties: {\n zoneLockMap: {\n type: \"object\",\n description: \"Maps zone numbers to lock ids\",\n additionalProperties: { type: \"string\" },\n },\n },\n },\n },\n examples: [\n {\n wZz7hucY: {\n zoneLockMap: {\n 1: \"wc87hucc\",\n 2: \"bc86hzxc\",\n 3: \"zv5ah5jv\",\n },\n },\n },\n ],\n },\n cameraConfig: {\n type: \"object\",\n doorStationConfig: {\n type: \"object\",\n patternProperties: {\n \"^[a-zA-Z0-9]+$\": {\n type: \"object\",\n properties: {\n lockIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n default: [],\n description:\n \"List of lock ids that will be available for control from this door station\",\n },\n },\n },\n },\n },\n examples: [\n {\n wZz7hucY: {\n lockIds: [\"wc87hucb\", \"wc87hucd\"],\n },\n },\n ],\n },\n },\n additionalProperties: false,\n },\n Concierge: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n default: true,\n },\n timeTracking: {\n type: \"boolean\",\n default: false,\n },\n feedback: {\n type: \"boolean\",\n default: true,\n },\n ratings: {\n type: \"boolean\",\n default: true,\n },\n newTicketCCs: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n default: [],\n },\n newMessageChannel: {\n type: [\"string\", \"null\"],\n enum: [\"sms\", \"email\"],\n default: \"sms\",\n description:\n \"Determines how users should be notified of new messages in the concierge system\",\n },\n issues: {\n type: \"object\",\n properties: {\n syncWithPropertyId: {\n type: \"string\",\n },\n },\n },\n },\n },\n SOS: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n default: true,\n },\n active: {\n type: \"boolean\",\n },\n activatedAt: {\n type: [\"string\", \"null\"],\n format: \"date-time\",\n },\n activatedBy: {\n type: [\"object\", \"null\"],\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n enum: [\"user\", \"device\", \"automation\"],\n },\n },\n },\n activatedMessage: {\n type: [\"string\", \"null\"],\n },\n activeEmergencies: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\n \"medical\",\n \"fire\",\n \"suspiciousPerson\",\n \"other\",\n \"conflict\",\n \"shooter\",\n ],\n },\n },\n deactivatedAt: {\n type: [\"string\", \"null\"],\n format: \"date-time\",\n },\n deactivatedBy: {\n type: [\"object\", \"null\"],\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n enum: [\"user\", \"device\", \"automation\"],\n },\n },\n },\n },\n },\n Automations: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n },\n additionalProperties: false,\n default: {\n RoomControl: {},\n },\n },\n notifications: {\n type: \"object\",\n properties: {\n email: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n sms: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n push: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n },\n additionalProperties: false,\n default: {\n email: {\n enabled: false,\n },\n sms: {\n enabled: false,\n },\n push: {\n enabled: false,\n },\n },\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n credentials: {\n type: \"object\",\n additionalProperties: true,\n },\n },\n} as const;\n\nexport type PropertySchema = FromSchema<\n typeof propertySchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,iBAAiB;AAAA,EAC5B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU,CAAC,MAAM,QAAQ,QAAQ,gBAAgB,YAAY,eAAe;AAAA,EAC5E,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,CAAC,UAAU;AAAA,IACnB;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC,eAAe,aAAa,cAAc,SAAS;AAAA,IAC5D;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,YAAY;AAAA,QACV,oBAAoB;AAAA,UAClB,MAAM;AAAA,UACN,OAAO;AAAA,YACL,MAAM;AAAA,UACR;AAAA,UACA,aACE;AAAA,QACJ;AAAA,QACA,0BAA0B;AAAA,UACxB,MAAM;AAAA,UACN,OAAO;AAAA,YACL,MAAM;AAAA,UACR;AAAA,UACA,aACE;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,MACT,UAAU,CAAC,oBAAoB,qBAAqB;AAAA,IACtD;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,YAAY;AAAA,QACV,aAAa;AAAA,UACX,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,iBAAiB;AAAA,cACf,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,MAAM;AAAA,gBACN,MAAM,CAAC,WAAW,UAAU,UAAU,MAAM,OAAO;AAAA,cACrD;AAAA,YACF;AAAA,YACA,mBAAmB;AAAA,cACjB,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,MAAM;AAAA,cACR;AAAA,cACA,SAAS,CAAC;AAAA,YACZ;AAAA,YACA,aAAa;AAAA,cACX,MAAM;AAAA,cACN,YAAY;AAAA,gBACV,QAAQ;AAAA,kBACN,MAAM;AAAA,kBACN,OAAO;AAAA,oBACL,MAAM;AAAA,kBACR;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,YACA,aAAa;AAAA,cACX,MAAM;AAAA,cACN,mBAAmB;AAAA,gBACjB,kBAAkB;AAAA,kBAChB,MAAM;AAAA,kBACN,YAAY;AAAA,oBACV,aAAa;AAAA,sBACX,MAAM;AAAA,sBACN,aAAa;AAAA,sBACb,sBAAsB,EAAE,MAAM,SAAS;AAAA,oBACzC;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAU;AAAA,gBACR;AAAA,kBACE,UAAU;AAAA,oBACR,aAAa;AAAA,sBACX,GAAG;AAAA,sBACH,GAAG;AAAA,sBACH,GAAG;AAAA,oBACL;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,YACA,cAAc;AAAA,cACZ,MAAM;AAAA,cACN,mBAAmB;AAAA,gBACjB,MAAM;AAAA,gBACN,mBAAmB;AAAA,kBACjB,kBAAkB;AAAA,oBAChB,MAAM;AAAA,oBACN,YAAY;AAAA,sBACV,SAAS;AAAA,wBACP,MAAM;AAAA,wBACN,OAAO;AAAA,0BACL,MAAM;AAAA,wBACR;AAAA,wBACA,SAAS,CAAC;AAAA,wBACV,aACE;AAAA,sBACJ;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAU;AAAA,gBACR;AAAA,kBACE,UAAU;AAAA,oBACR,SAAS,CAAC,YAAY,UAAU;AAAA,kBAClC;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,QACA,WAAW;AAAA,UACT,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,cAAc;AAAA,cACZ,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,UAAU;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,cAAc;AAAA,cACZ,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,MAAM;AAAA,cACR;AAAA,cACA,SAAS,CAAC;AAAA,YACZ;AAAA,YACA,mBAAmB;AAAA,cACjB,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,MAAM,CAAC,OAAO,OAAO;AAAA,cACrB,SAAS;AAAA,cACT,aACE;AAAA,YACJ;AAAA,YACA,QAAQ;AAAA,cACN,MAAM;AAAA,cACN,YAAY;AAAA,gBACV,oBAAoB;AAAA,kBAClB,MAAM;AAAA,gBACR;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA,KAAK;AAAA,UACH,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,QAAQ;AAAA,cACN,MAAM;AAAA,YACR;AAAA,YACA,aAAa;AAAA,cACX,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,QAAQ;AAAA,YACV;AAAA,YACA,aAAa;AAAA,cACX,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,YAAY;AAAA,gBACV,IAAI;AAAA,kBACF,MAAM;AAAA,gBACR;AAAA,gBACA,eAAe;AAAA,kBACb,MAAM,CAAC,QAAQ,UAAU,YAAY;AAAA,gBACvC;AAAA,cACF;AAAA,YACF;AAAA,YACA,kBAAkB;AAAA,cAChB,MAAM,CAAC,UAAU,MAAM;AAAA,YACzB;AAAA,YACA,mBAAmB;AAAA,cACjB,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,MAAM;AAAA,gBACN,MAAM;AAAA,kBACJ;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,YACA,eAAe;AAAA,cACb,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,QAAQ;AAAA,YACV;AAAA,YACA,eAAe;AAAA,cACb,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,YAAY;AAAA,gBACV,IAAI;AAAA,kBACF,MAAM;AAAA,gBACR;AAAA,gBACA,eAAe;AAAA,kBACb,MAAM,CAAC,QAAQ,UAAU,YAAY;AAAA,gBACvC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,MACF;AAAA,MACA,sBAAsB;AAAA,MACtB,SAAS;AAAA,QACP,aAAa,CAAC;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,YAAY;AAAA,QACV,OAAO;AAAA,UACL,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,QACA,KAAK;AAAA,UACH,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,QACA,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,MACF;AAAA,MACA,sBAAsB;AAAA,MACtB,SAAS;AAAA,QACP,OAAO;AAAA,UACL,SAAS;AAAA,QACX;AAAA,QACA,KAAK;AAAA,UACH,SAAS;AAAA,QACX;AAAA,QACA,MAAM;AAAA,UACJ,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,sBAAsB;AAAA,IACxB;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../.generated/schemas/property.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const propertySchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"property.json\",\n title: \"Property\",\n type: \"object\",\n description: \"A property is a physical asset or building\",\n required: [\"id\", \"name\", \"type\", \"organization\", \"timezone\", \"discriminator\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n default: \"property\",\n enum: [\"property\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\"education\", \"commercial\"],\n },\n organization: {\n type: \"string\",\n description: \"Reference (id) to the organization that owns this property\",\n },\n testModeEnabled: {\n type: \"boolean\",\n },\n testMode: {\n type: \"object\",\n properties: {\n notificationEmails: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description:\n \"Only users with these email addresses will receive notifications in test mode, including sms, email, or push.\",\n },\n notificationEmailDomains: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description:\n \"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push.\",\n },\n },\n },\n timezone: {\n type: \"string\",\n description: \"IANA timezone string\",\n pattern: \"^([a-zA-Z]+/[a-zA-Z_]+)$\",\n examples: [\"America/New_York\", \"America/Los_Angeles\"],\n },\n smsNumber: {\n type: \"string\",\n },\n voiceNumber: {\n type: \"string\",\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n latitude: {\n type: \"number\",\n },\n longitude: {\n type: \"number\",\n },\n appFeatures: {\n type: \"object\",\n properties: {\n RoomControl: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n default: true,\n },\n alarmConfig: {\n type: \"object\",\n patternProperties: {\n \"^[a-zA-Z0-9]+$\": {\n type: \"object\",\n properties: {\n zoneLockMap: {\n type: \"object\",\n description: \"Maps zone numbers to lock ids\",\n additionalProperties: { type: \"string\" },\n },\n },\n },\n },\n examples: [\n {\n wZz7hucY: {\n zoneLockMap: {\n 1: \"wc87hucc\",\n 2: \"bc86hzxc\",\n 3: \"zv5ah5jv\",\n },\n },\n },\n ],\n },\n cameraConfig: {\n type: \"object\",\n doorStationConfig: {\n type: \"object\",\n patternProperties: {\n \"^[a-zA-Z0-9]+$\": {\n type: \"object\",\n properties: {\n lockIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n default: [],\n description:\n \"List of lock ids that will be available for control from this door station\",\n },\n },\n },\n },\n },\n examples: [\n {\n wZz7hucY: {\n lockIds: [\"wc87hucb\", \"wc87hucd\"],\n },\n },\n ],\n },\n },\n additionalProperties: false,\n },\n Concierge: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n default: true,\n },\n timeTracking: {\n type: \"boolean\",\n default: false,\n },\n feedback: {\n type: \"boolean\",\n default: true,\n },\n ratings: {\n type: \"boolean\",\n default: true,\n },\n newMessageChannel: {\n type: [\"string\", \"null\"],\n enum: [\"sms\", \"email\"],\n default: \"sms\",\n description:\n \"Determines how users should be notified of new messages in the concierge system\",\n },\n issues: {\n type: \"object\",\n properties: {\n syncWithPropertyId: {\n type: \"string\",\n },\n },\n },\n },\n },\n SOS: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n default: true,\n },\n active: {\n type: \"boolean\",\n },\n activatedAt: {\n type: [\"string\", \"null\"],\n format: \"date-time\",\n },\n activatedBy: {\n type: [\"object\", \"null\"],\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n enum: [\"user\", \"device\", \"automation\"],\n },\n },\n },\n activatedMessage: {\n type: [\"string\", \"null\"],\n },\n activeEmergencies: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\n \"medical\",\n \"fire\",\n \"suspiciousPerson\",\n \"other\",\n \"conflict\",\n \"shooter\",\n ],\n },\n },\n deactivatedAt: {\n type: [\"string\", \"null\"],\n format: \"date-time\",\n },\n deactivatedBy: {\n type: [\"object\", \"null\"],\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n enum: [\"user\", \"device\", \"automation\"],\n },\n },\n },\n },\n },\n Automations: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n },\n additionalProperties: false,\n default: {\n RoomControl: {},\n },\n },\n notifications: {\n type: \"object\",\n properties: {\n email: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n sms: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n push: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n },\n additionalProperties: false,\n default: {\n email: {\n enabled: false,\n },\n sms: {\n enabled: false,\n },\n push: {\n enabled: false,\n },\n },\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n credentials: {\n type: \"object\",\n additionalProperties: true,\n },\n },\n} as const;\n\nexport type PropertySchema = FromSchema<\n typeof propertySchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,iBAAiB;AAAA,EAC5B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU,CAAC,MAAM,QAAQ,QAAQ,gBAAgB,YAAY,eAAe;AAAA,EAC5E,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,CAAC,UAAU;AAAA,IACnB;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC,aAAa,YAAY;AAAA,IAClC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,YAAY;AAAA,QACV,oBAAoB;AAAA,UAClB,MAAM;AAAA,UACN,OAAO;AAAA,YACL,MAAM;AAAA,UACR;AAAA,UACA,aACE;AAAA,QACJ;AAAA,QACA,0BAA0B;AAAA,UACxB,MAAM;AAAA,UACN,OAAO;AAAA,YACL,MAAM;AAAA,UACR;AAAA,UACA,aACE;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,MACT,UAAU,CAAC,oBAAoB,qBAAqB;AAAA,IACtD;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,YAAY;AAAA,QACV,aAAa;AAAA,UACX,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,aAAa;AAAA,cACX,MAAM;AAAA,cACN,mBAAmB;AAAA,gBACjB,kBAAkB;AAAA,kBAChB,MAAM;AAAA,kBACN,YAAY;AAAA,oBACV,aAAa;AAAA,sBACX,MAAM;AAAA,sBACN,aAAa;AAAA,sBACb,sBAAsB,EAAE,MAAM,SAAS;AAAA,oBACzC;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAU;AAAA,gBACR;AAAA,kBACE,UAAU;AAAA,oBACR,aAAa;AAAA,sBACX,GAAG;AAAA,sBACH,GAAG;AAAA,sBACH,GAAG;AAAA,oBACL;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,YACA,cAAc;AAAA,cACZ,MAAM;AAAA,cACN,mBAAmB;AAAA,gBACjB,MAAM;AAAA,gBACN,mBAAmB;AAAA,kBACjB,kBAAkB;AAAA,oBAChB,MAAM;AAAA,oBACN,YAAY;AAAA,sBACV,SAAS;AAAA,wBACP,MAAM;AAAA,wBACN,OAAO;AAAA,0BACL,MAAM;AAAA,wBACR;AAAA,wBACA,SAAS,CAAC;AAAA,wBACV,aACE;AAAA,sBACJ;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAU;AAAA,gBACR;AAAA,kBACE,UAAU;AAAA,oBACR,SAAS,CAAC,YAAY,UAAU;AAAA,kBAClC;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,QACA,WAAW;AAAA,UACT,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,cAAc;AAAA,cACZ,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,UAAU;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,mBAAmB;AAAA,cACjB,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,MAAM,CAAC,OAAO,OAAO;AAAA,cACrB,SAAS;AAAA,cACT,aACE;AAAA,YACJ;AAAA,YACA,QAAQ;AAAA,cACN,MAAM;AAAA,cACN,YAAY;AAAA,gBACV,oBAAoB;AAAA,kBAClB,MAAM;AAAA,gBACR;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA,KAAK;AAAA,UACH,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS;AAAA,YACX;AAAA,YACA,QAAQ;AAAA,cACN,MAAM;AAAA,YACR;AAAA,YACA,aAAa;AAAA,cACX,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,QAAQ;AAAA,YACV;AAAA,YACA,aAAa;AAAA,cACX,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,YAAY;AAAA,gBACV,IAAI;AAAA,kBACF,MAAM;AAAA,gBACR;AAAA,gBACA,eAAe;AAAA,kBACb,MAAM,CAAC,QAAQ,UAAU,YAAY;AAAA,gBACvC;AAAA,cACF;AAAA,YACF;AAAA,YACA,kBAAkB;AAAA,cAChB,MAAM,CAAC,UAAU,MAAM;AAAA,YACzB;AAAA,YACA,mBAAmB;AAAA,cACjB,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,MAAM;AAAA,gBACN,MAAM;AAAA,kBACJ;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,YACA,eAAe;AAAA,cACb,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,QAAQ;AAAA,YACV;AAAA,YACA,eAAe;AAAA,cACb,MAAM,CAAC,UAAU,MAAM;AAAA,cACvB,YAAY;AAAA,gBACV,IAAI;AAAA,kBACF,MAAM;AAAA,gBACR;AAAA,gBACA,eAAe;AAAA,kBACb,MAAM,CAAC,QAAQ,UAAU,YAAY;AAAA,gBACvC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,MACF;AAAA,MACA,sBAAsB;AAAA,MACtB,SAAS;AAAA,QACP,aAAa,CAAC;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,YAAY;AAAA,QACV,OAAO;AAAA,UACL,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,QACA,KAAK;AAAA,UACH,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,QACA,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,YAAY;AAAA,YACV,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA,sBAAsB;AAAA,QACxB;AAAA,MACF;AAAA,MACA,sBAAsB;AAAA,MACtB,SAAS;AAAA,QACP,OAAO;AAAA,UACL,SAAS;AAAA,QACX;AAAA,QACA,KAAK;AAAA,UACH,SAAS;AAAA,QACX;AAAA,QACA,MAAM;AAAA,UACJ,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,sBAAsB;AAAA,IACxB;AAAA,EACF;AACF;","names":[]}
@@ -41,17 +41,6 @@ declare const spaceSchema: {
41
41
  readonly driver: {
42
42
  readonly $ref: "definitions.json#/definitions/driver";
43
43
  };
44
- readonly category: {
45
- readonly type: "string";
46
- readonly description: "This is the category id";
47
- };
48
- readonly rooms: {
49
- readonly type: "array";
50
- readonly items: {
51
- readonly type: "string";
52
- };
53
- readonly description: "IDs of rooms in the space";
54
- };
55
44
  readonly spaces: {
56
45
  readonly type: "array";
57
46
  readonly items: {
@@ -143,25 +132,10 @@ declare const spaceSchema: {
143
132
  };
144
133
  };
145
134
  };
146
- readonly features: {
147
- readonly type: "array";
148
- readonly items: {
149
- readonly type: "string";
150
- readonly enum: readonly ["pet"];
151
- };
152
- };
153
135
  readonly maximumOccupancy: {
154
136
  readonly type: "number";
155
137
  readonly minimum: 1;
156
138
  };
157
- readonly housekeepingStatus: {
158
- readonly type: "string";
159
- readonly enum: readonly ["clean", "dirty", "inspected", "pickup"];
160
- };
161
- readonly serviceStatus: {
162
- readonly type: "string";
163
- readonly enum: readonly ["inService", "outOfOrder", "outOfService"];
164
- };
165
139
  readonly devices: {
166
140
  readonly type: "array";
167
141
  readonly items: {
@@ -47,17 +47,6 @@ const spaceSchema = {
47
47
  driver: {
48
48
  $ref: "definitions.json#/definitions/driver"
49
49
  },
50
- category: {
51
- type: "string",
52
- description: "This is the category id"
53
- },
54
- rooms: {
55
- type: "array",
56
- items: {
57
- type: "string"
58
- },
59
- description: "IDs of rooms in the space"
60
- },
61
50
  spaces: {
62
51
  type: "array",
63
52
  items: {
@@ -149,25 +138,10 @@ const spaceSchema = {
149
138
  }
150
139
  }
151
140
  },
152
- features: {
153
- type: "array",
154
- items: {
155
- type: "string",
156
- enum: ["pet"]
157
- }
158
- },
159
141
  maximumOccupancy: {
160
142
  type: "number",
161
143
  minimum: 1
162
144
  },
163
- housekeepingStatus: {
164
- type: "string",
165
- enum: ["clean", "dirty", "inspected", "pickup"]
166
- },
167
- serviceStatus: {
168
- type: "string",
169
- enum: ["inService", "outOfOrder", "outOfService"]
170
- },
171
145
  devices: {
172
146
  type: "array",
173
147
  items: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../.generated/schemas/space.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\nimport type { switchSchema } from \"./switch\";\nimport type { dimmerSchema } from \"./dimmer\";\nimport type { thermostatSchema } from \"./thermostat\";\nimport type { lockSchema } from \"./lock\";\nimport type { windowCoveringSchema } from \"./windowCovering\";\nimport type { courtesySchema } from \"./courtesy\";\nimport type { cameraSchema } from \"./camera\";\nimport type { mediaSourceSchema } from \"./mediaSource\";\nimport type { motionSensorSchema } from \"./motionSensor\";\nimport type { alarmSchema } from \"./alarm\";\n\nexport const spaceSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"space.json\",\n title: \"Space\",\n type: \"object\",\n required: [\"id\", \"name\", \"type\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n type: {\n type: \"string\",\n default: \"space\",\n enum: [\"space\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"classRoom\",\n \"hotelRoom\",\n \"office\",\n \"building\",\n \"commonArea\",\n \"hallway\",\n \"conferenceRoom\",\n \"lobby\",\n \"gym\",\n \"pool\",\n \"restaurant\",\n \"unit\",\n \"cafeteria\",\n \"multiPurposeRoom\",\n \"library\",\n \"idf\",\n \"restroom\",\n \"exterior\",\n ],\n },\n floor: {\n type: \"string\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n category: {\n type: \"string\",\n description: \"This is the category id\",\n },\n rooms: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description: \"IDs of rooms in the space\",\n },\n spaces: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description: \"IDs of sub-spaces in the space\",\n },\n occupied: {\n type: \"boolean\",\n },\n inUse: {\n type: \"boolean\",\n },\n eco: {\n type: \"object\",\n additionalProperties: false,\n default: {\n active: false,\n allowed: false,\n previousState: null,\n },\n properties: {\n active: {\n type: \"boolean\",\n default: false,\n },\n activatedAt: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n allowed: {\n type: \"boolean\",\n default: false,\n },\n previousState: {\n type: [\"object\", \"null\"],\n properties: {\n thermostats: {\n type: \"object\",\n patternProperties: {\n \".*\": {\n type: \"object\",\n properties: {\n setpoints: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n cool: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n value: {\n type: \"number\",\n minimum: 0,\n maximum: 99,\n },\n },\n },\n heat: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n value: {\n type: \"number\",\n minimum: 0,\n maximum: 99,\n },\n },\n },\n auto: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n value: {\n type: \"number\",\n minimum: 0,\n maximum: 99,\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n additionalProperties: false,\n },\n },\n },\n features: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\"pet\"],\n },\n },\n maximumOccupancy: {\n type: \"number\",\n minimum: 1,\n },\n housekeepingStatus: {\n type: \"string\",\n enum: [\"clean\", \"dirty\", \"inspected\", \"pickup\"],\n },\n serviceStatus: {\n type: \"string\",\n enum: [\"inService\", \"outOfOrder\", \"outOfService\"],\n },\n devices: {\n type: \"array\",\n items: {\n discriminator: { propertyName: \"type\" },\n oneOf: [\n { $ref: \"switch.json\" },\n { $ref: \"dimmer.json\" },\n { $ref: \"thermostat.json\" },\n { $ref: \"lock.json\" },\n { $ref: \"windowCovering.json\" },\n { $ref: \"courtesy.json\" },\n { $ref: \"camera.json\" },\n { $ref: \"mediaSource.json\" },\n { $ref: \"motionSensor.json\" },\n { $ref: \"alarm.json\" },\n ],\n },\n default: [],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n} as const;\n\nexport type SpaceSchema = FromSchema<\n typeof spaceSchema,\n {\n references: [typeof defs, typeof switchSchema, typeof dimmerSchema, typeof thermostatSchema, typeof lockSchema, typeof windowCoveringSchema, typeof courtesySchema, typeof cameraSchema, typeof mediaSourceSchema, typeof motionSensorSchema, typeof alarmSchema];\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/space.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\nimport type { switchSchema } from \"./switch\";\nimport type { dimmerSchema } from \"./dimmer\";\nimport type { thermostatSchema } from \"./thermostat\";\nimport type { lockSchema } from \"./lock\";\nimport type { windowCoveringSchema } from \"./windowCovering\";\nimport type { courtesySchema } from \"./courtesy\";\nimport type { cameraSchema } from \"./camera\";\nimport type { mediaSourceSchema } from \"./mediaSource\";\nimport type { motionSensorSchema } from \"./motionSensor\";\nimport type { alarmSchema } from \"./alarm\";\n\nexport const spaceSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"space.json\",\n title: \"Space\",\n type: \"object\",\n required: [\"id\", \"name\", \"type\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n type: {\n type: \"string\",\n default: \"space\",\n enum: [\"space\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"classRoom\",\n \"hotelRoom\",\n \"office\",\n \"building\",\n \"commonArea\",\n \"hallway\",\n \"conferenceRoom\",\n \"lobby\",\n \"gym\",\n \"pool\",\n \"restaurant\",\n \"unit\",\n \"cafeteria\",\n \"multiPurposeRoom\",\n \"library\",\n \"idf\",\n \"restroom\",\n \"exterior\",\n ],\n },\n floor: {\n type: \"string\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n spaces: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description: \"IDs of sub-spaces in the space\",\n },\n occupied: {\n type: \"boolean\",\n },\n inUse: {\n type: \"boolean\",\n },\n eco: {\n type: \"object\",\n additionalProperties: false,\n default: {\n active: false,\n allowed: false,\n previousState: null,\n },\n properties: {\n active: {\n type: \"boolean\",\n default: false,\n },\n activatedAt: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n allowed: {\n type: \"boolean\",\n default: false,\n },\n previousState: {\n type: [\"object\", \"null\"],\n properties: {\n thermostats: {\n type: \"object\",\n patternProperties: {\n \".*\": {\n type: \"object\",\n properties: {\n setpoints: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n cool: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n value: {\n type: \"number\",\n minimum: 0,\n maximum: 99,\n },\n },\n },\n heat: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n value: {\n type: \"number\",\n minimum: 0,\n maximum: 99,\n },\n },\n },\n auto: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n value: {\n type: \"number\",\n minimum: 0,\n maximum: 99,\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n additionalProperties: false,\n },\n },\n },\n maximumOccupancy: {\n type: \"number\",\n minimum: 1,\n },\n devices: {\n type: \"array\",\n items: {\n discriminator: { propertyName: \"type\" },\n oneOf: [\n { $ref: \"switch.json\" },\n { $ref: \"dimmer.json\" },\n { $ref: \"thermostat.json\" },\n { $ref: \"lock.json\" },\n { $ref: \"windowCovering.json\" },\n { $ref: \"courtesy.json\" },\n { $ref: \"camera.json\" },\n { $ref: \"mediaSource.json\" },\n { $ref: \"motionSensor.json\" },\n { $ref: \"alarm.json\" },\n ],\n },\n default: [],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n} as const;\n\nexport type SpaceSchema = FromSchema<\n typeof spaceSchema,\n {\n references: [typeof defs, typeof switchSchema, typeof dimmerSchema, typeof thermostatSchema, typeof lockSchema, typeof windowCoveringSchema, typeof courtesySchema, typeof cameraSchema, typeof mediaSourceSchema, typeof motionSensorSchema, typeof alarmSchema];\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":[]}
@@ -46,7 +46,7 @@ declare const ticketSchema: {
46
46
  };
47
47
  readonly discriminator: {
48
48
  readonly type: "string";
49
- readonly enum: readonly ["message", "opened", "assigned", "rated", "tipped", "scheduled", "collaboratorAdded", "collaboratorRemoved", "statusChanged", "priorityChanged", "scheduleDateChanged", "locationChanged", "nudged"];
49
+ readonly enum: readonly ["message", "opened", "assigned", "rated", "scheduled", "collaboratorAdded", "collaboratorRemoved", "statusChanged", "priorityChanged", "scheduleDateChanged", "locationChanged", "nudged"];
50
50
  readonly default: "message";
51
51
  readonly description: "The discriminator of the message.";
52
52
  };
@@ -58,7 +58,6 @@ const ticketSchema = {
58
58
  "opened",
59
59
  "assigned",
60
60
  "rated",
61
- "tipped",
62
61
  "scheduled",
63
62
  "collaboratorAdded",
64
63
  "collaboratorRemoved",
@@ -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 \"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 parentAutomationId: {\n type: \"string\",\n description: \"The ID of the automation that created this ticket.\",\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 \"nudged\",\n ],\n default: \"message\",\n description: \"The discriminator of the message.\",\n },\n isInternal: {\n type: \"boolean\",\n description: \"Whether the message is internal to the assignedTo and collaborators. Internal messages are not visible to the requester.\",\n default: false,\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":[]}
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 parentAutomationId: {\n type: \"string\",\n description: \"The ID of the automation that created this ticket.\",\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 \"scheduled\",\n \"collaboratorAdded\",\n \"collaboratorRemoved\",\n \"statusChanged\",\n \"priorityChanged\",\n \"scheduleDateChanged\",\n \"locationChanged\",\n \"nudged\",\n ],\n default: \"message\",\n description: \"The discriminator of the message.\",\n },\n isInternal: {\n type: \"boolean\",\n description: \"Whether the message is internal to the assignedTo and collaborators. Internal messages are not visible to the requester.\",\n default: false,\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":[]}
@@ -181,9 +181,6 @@ declare const userSchema: {
181
181
  };
182
182
  };
183
183
  };
184
- readonly spaceName: {
185
- readonly type: "string";
186
- };
187
184
  readonly systems: {
188
185
  readonly type: "array";
189
186
  readonly default: readonly [];
@@ -183,9 +183,6 @@ const userSchema = {
183
183
  }
184
184
  }
185
185
  },
186
- spaceName: {
187
- type: "string"
188
- },
189
186
  systems: {
190
187
  type: "array",
191
188
  default: [],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../.generated/schemas/user.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\nimport { mediaFileSchema } from \"./mediaFile\";\nimport { policySchema } from \"./policy\";\n\nexport const userSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"user.json\",\n title: \"User\",\n type: \"object\",\n required: [\"id\", \"firstName\", \"lastName\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"user\",\n },\n firstName: {\n type: \"string\",\n },\n lastName: {\n type: \"string\",\n },\n phone: {\n type: \"string\",\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n phoneVerified: {\n type: \"boolean\",\n },\n email: {\n type: \"string\",\n format: \"email\",\n },\n emailVerified: {\n type: \"boolean\",\n },\n whatsapp: {\n type: \"string\",\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n whatsappVerified: {\n type: \"boolean\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n secretKey: {\n type: \"string\",\n },\n photo: {\n $ref: \"mediaFile.json#\",\n },\n jobTitle: {\n type: \"string\",\n },\n dob: {\n type: \"string\",\n },\n gender: {\n type: \"string\",\n enum: [\"male\", \"female\"],\n },\n nationality: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n permissions: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"organizationId\", \"propertyId\", \"role\"],\n properties: {\n organizationId: {\n type: \"string\",\n description:\n \"The ID of the organization the permission is applies to.\",\n },\n propertyId: {\n type: \"string\",\n description: \"The ID of the property the permission is applies to.\",\n },\n role: {\n type: \"string\",\n enum: [\n \"Guest\",\n \"User\",\n \"Agent\",\n \"Manager\",\n \"Administrator\",\n \"SuperAdmin\",\n ],\n },\n timeTrackingEnabled: {\n type: \"boolean\",\n description: \"Whether time tracking is enabled for this role.\",\n },\n departmentIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description: \"The ID of the department the user belongs to.\",\n },\n policyIds: {\n type: \"array\",\n items: {\n type: \"string\",\n description: \"ID of a policy that is applied to this role.\",\n },\n },\n policies: {\n type: \"array\",\n items: {\n description:\n \"A policy object populated from the policyIds array.\",\n $ref: \"policy.json\",\n },\n },\n },\n additionalProperties: false,\n },\n },\n preferences: {\n type: \"array\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"organizationId\", \"propertyId\"],\n properties: {\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n notifications: {\n type: \"array\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"discriminator\", \"enabled\"],\n properties: {\n discriminator: {\n type: \"string\",\n enum: [\"observerTicketCreated\", \"observerTicketResolved\"],\n },\n enabled: {\n type: \"boolean\",\n },\n },\n },\n },\n },\n },\n },\n notes: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n files: {\n type: \"array\",\n items: {\n $ref: \"mediaFile.json#\",\n },\n },\n location: {\n type: \"object\",\n required: [\"accuracy\", \"latitude\", \"longitude\", \"timestamp\"],\n additionalProperties: false,\n properties: {\n accuracy: {\n type: [\"number\", \"null\"],\n },\n latitude: {\n type: [\"number\", \"null\"],\n },\n longitude: {\n type: [\"number\", \"null\"],\n },\n timestamp: {\n type: [\"number\", \"null\"],\n },\n },\n },\n\n spaceName: {\n type: \"string\",\n },\n\n systems: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n properties: {\n systemId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n },\n required: [\"systemId\", \"propertyId\", \"driver\"],\n additionalProperties: false,\n },\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n} as const;\n\nexport type UserSchema = FromSchema<\n typeof userSchema,\n {\n references: [typeof defs, typeof mediaFileSchema, typeof policySchema];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n\nexport const getters = {\n fullName() {\n return `${this.firstName} ${this.lastName}`;\n },\n roles() {\n const roles = new Set();\n if (this.permissions) {\n for (const permission of this.permissions) {\n roles.add(permission.role);\n }\n }\n return Array.from(roles);\n },\n isSuperAdmin() {\n return this.roles.includes(\"SuperAdmin\");\n },\n isAdmin() {\n return this.roles.includes(\"Admin\") || this.roles.includes(\"Administrator\");\n },\n isManager() {\n return this.roles.includes(\"Manager\");\n },\n isUser() {\n return this.roles.includes(\"User\");\n },\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../.generated/schemas/user.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\nimport { mediaFileSchema } from \"./mediaFile\";\nimport { policySchema } from \"./policy\";\n\nexport const userSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"user.json\",\n title: \"User\",\n type: \"object\",\n required: [\"id\", \"firstName\", \"lastName\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"user\",\n },\n firstName: {\n type: \"string\",\n },\n lastName: {\n type: \"string\",\n },\n phone: {\n type: \"string\",\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n phoneVerified: {\n type: \"boolean\",\n },\n email: {\n type: \"string\",\n format: \"email\",\n },\n emailVerified: {\n type: \"boolean\",\n },\n whatsapp: {\n type: \"string\",\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n whatsappVerified: {\n type: \"boolean\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n secretKey: {\n type: \"string\",\n },\n photo: {\n $ref: \"mediaFile.json#\",\n },\n jobTitle: {\n type: \"string\",\n },\n dob: {\n type: \"string\",\n },\n gender: {\n type: \"string\",\n enum: [\"male\", \"female\"],\n },\n nationality: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n permissions: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"organizationId\", \"propertyId\", \"role\"],\n properties: {\n organizationId: {\n type: \"string\",\n description:\n \"The ID of the organization the permission is applies to.\",\n },\n propertyId: {\n type: \"string\",\n description: \"The ID of the property the permission is applies to.\",\n },\n role: {\n type: \"string\",\n enum: [\n \"Guest\",\n \"User\",\n \"Agent\",\n \"Manager\",\n \"Administrator\",\n \"SuperAdmin\",\n ],\n },\n timeTrackingEnabled: {\n type: \"boolean\",\n description: \"Whether time tracking is enabled for this role.\",\n },\n departmentIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description: \"The ID of the department the user belongs to.\",\n },\n policyIds: {\n type: \"array\",\n items: {\n type: \"string\",\n description: \"ID of a policy that is applied to this role.\",\n },\n },\n policies: {\n type: \"array\",\n items: {\n description:\n \"A policy object populated from the policyIds array.\",\n $ref: \"policy.json\",\n },\n },\n },\n additionalProperties: false,\n },\n },\n preferences: {\n type: \"array\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"organizationId\", \"propertyId\"],\n properties: {\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n notifications: {\n type: \"array\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"discriminator\", \"enabled\"],\n properties: {\n discriminator: {\n type: \"string\",\n enum: [\"observerTicketCreated\", \"observerTicketResolved\"],\n },\n enabled: {\n type: \"boolean\",\n },\n },\n },\n },\n },\n },\n },\n notes: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n files: {\n type: \"array\",\n items: {\n $ref: \"mediaFile.json#\",\n },\n },\n location: {\n type: \"object\",\n required: [\"accuracy\", \"latitude\", \"longitude\", \"timestamp\"],\n additionalProperties: false,\n properties: {\n accuracy: {\n type: [\"number\", \"null\"],\n },\n latitude: {\n type: [\"number\", \"null\"],\n },\n longitude: {\n type: [\"number\", \"null\"],\n },\n timestamp: {\n type: [\"number\", \"null\"],\n },\n },\n },\n\n systems: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n properties: {\n systemId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n },\n required: [\"systemId\", \"propertyId\", \"driver\"],\n additionalProperties: false,\n },\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n} as const;\n\nexport type UserSchema = FromSchema<\n typeof userSchema,\n {\n references: [typeof defs, typeof mediaFileSchema, typeof policySchema];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n\nexport const getters = {\n fullName() {\n return `${this.firstName} ${this.lastName}`;\n },\n roles() {\n const roles = new Set();\n if (this.permissions) {\n for (const permission of this.permissions) {\n roles.add(permission.role);\n }\n }\n return Array.from(roles);\n },\n isSuperAdmin() {\n return this.roles.includes(\"SuperAdmin\");\n },\n isAdmin() {\n return this.roles.includes(\"Admin\") || this.roles.includes(\"Administrator\");\n },\n isManager() {\n return this.roles.includes(\"Manager\");\n },\n isUser() {\n return this.roles.includes(\"User\");\n },\n};\n"],"mappings":"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","names":[]}