recal-sdk 0.3.2 → 1.0.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 (198) hide show
  1. package/README.md +24 -792
  2. package/dist/client/client/client.gen.d.ts +3 -0
  3. package/dist/client/client/client.gen.d.ts.map +1 -0
  4. package/dist/client/client/client.gen.js +205 -0
  5. package/dist/client/client/client.gen.js.map +1 -0
  6. package/dist/client/client/index.d.ts +9 -0
  7. package/dist/client/client/index.d.ts.map +1 -0
  8. package/dist/client/client/index.js +7 -0
  9. package/dist/client/client/index.js.map +1 -0
  10. package/dist/client/client/types.gen.d.ts +125 -0
  11. package/dist/client/client/types.gen.d.ts.map +1 -0
  12. package/dist/client/client/types.gen.js +3 -0
  13. package/dist/client/client/types.gen.js.map +1 -0
  14. package/dist/client/client/utils.gen.d.ts +34 -0
  15. package/dist/client/client/utils.gen.d.ts.map +1 -0
  16. package/dist/client/client/utils.gen.js +232 -0
  17. package/dist/client/client/utils.gen.js.map +1 -0
  18. package/dist/client/client.gen.d.ts +13 -0
  19. package/dist/client/client.gen.d.ts.map +1 -0
  20. package/dist/client/client.gen.js +6 -0
  21. package/dist/client/client.gen.js.map +1 -0
  22. package/dist/client/core/auth.gen.d.ts +19 -0
  23. package/dist/client/core/auth.gen.d.ts.map +1 -0
  24. package/dist/client/core/auth.gen.js +15 -0
  25. package/dist/client/core/auth.gen.js.map +1 -0
  26. package/dist/client/core/bodySerializer.gen.d.ts +26 -0
  27. package/dist/client/core/bodySerializer.gen.d.ts.map +1 -0
  28. package/dist/client/core/bodySerializer.gen.js +58 -0
  29. package/dist/client/core/bodySerializer.gen.js.map +1 -0
  30. package/dist/client/core/params.gen.d.ts +34 -0
  31. package/dist/client/core/params.gen.d.ts.map +1 -0
  32. package/dist/client/core/params.gen.js +89 -0
  33. package/dist/client/core/params.gen.js.map +1 -0
  34. package/dist/client/core/pathSerializer.gen.d.ts +34 -0
  35. package/dist/client/core/pathSerializer.gen.d.ts.map +1 -0
  36. package/dist/client/core/pathSerializer.gen.js +115 -0
  37. package/dist/client/core/pathSerializer.gen.js.map +1 -0
  38. package/dist/client/core/queryKeySerializer.gen.d.ts +19 -0
  39. package/dist/client/core/queryKeySerializer.gen.d.ts.map +1 -0
  40. package/dist/client/core/queryKeySerializer.gen.js +100 -0
  41. package/dist/client/core/queryKeySerializer.gen.js.map +1 -0
  42. package/dist/client/core/serverSentEvents.gen.d.ts +72 -0
  43. package/dist/client/core/serverSentEvents.gen.d.ts.map +1 -0
  44. package/dist/client/core/serverSentEvents.gen.js +136 -0
  45. package/dist/client/core/serverSentEvents.gen.js.map +1 -0
  46. package/dist/client/core/types.gen.d.ts +79 -0
  47. package/dist/client/core/types.gen.d.ts.map +1 -0
  48. package/dist/client/core/types.gen.js +3 -0
  49. package/dist/client/core/types.gen.js.map +1 -0
  50. package/dist/client/core/utils.gen.d.ts +20 -0
  51. package/dist/client/core/utils.gen.d.ts.map +1 -0
  52. package/dist/client/core/utils.gen.js +88 -0
  53. package/dist/client/core/utils.gen.js.map +1 -0
  54. package/dist/client/index.d.ts +3 -0
  55. package/dist/client/index.d.ts.map +1 -0
  56. package/dist/client/index.js +3 -0
  57. package/dist/client/index.js.map +1 -0
  58. package/dist/client/sdk.gen.d.ts +170 -0
  59. package/dist/client/sdk.gen.d.ts.map +1 -0
  60. package/dist/client/sdk.gen.js +884 -0
  61. package/dist/client/sdk.gen.js.map +1 -0
  62. package/dist/client/transformers.gen.d.ts +31 -0
  63. package/dist/client/transformers.gen.d.ts.map +1 -0
  64. package/dist/client/transformers.gen.js +263 -0
  65. package/dist/client/transformers.gen.js.map +1 -0
  66. package/dist/client/types.gen.d.ts +1765 -0
  67. package/dist/client/types.gen.d.ts.map +1 -0
  68. package/dist/client/types.gen.js +3 -0
  69. package/dist/client/types.gen.js.map +1 -0
  70. package/dist/client/zod.gen.d.ts +1457 -0
  71. package/dist/client/zod.gen.d.ts.map +1 -0
  72. package/dist/client/zod.gen.js +1214 -0
  73. package/dist/client/zod.gen.js.map +1 -0
  74. package/dist/index.d.ts +5 -33
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +8 -55
  77. package/dist/index.js.map +1 -1
  78. package/dist/recal.d.ts +64 -0
  79. package/dist/recal.d.ts.map +1 -0
  80. package/dist/recal.js +81 -0
  81. package/dist/recal.js.map +1 -0
  82. package/dist/services/calendar.service.d.ts +55 -167
  83. package/dist/services/calendar.service.d.ts.map +1 -1
  84. package/dist/services/calendar.service.js +68 -301
  85. package/dist/services/calendar.service.js.map +1 -1
  86. package/dist/services/events.service.d.ts +167 -0
  87. package/dist/services/events.service.d.ts.map +1 -0
  88. package/dist/services/events.service.js +215 -0
  89. package/dist/services/events.service.js.map +1 -0
  90. package/dist/services/oauth.service.d.ts +123 -60
  91. package/dist/services/oauth.service.d.ts.map +1 -1
  92. package/dist/services/oauth.service.js +166 -142
  93. package/dist/services/oauth.service.js.map +1 -1
  94. package/dist/services/organizations.service.d.ts +137 -36
  95. package/dist/services/organizations.service.d.ts.map +1 -1
  96. package/dist/services/organizations.service.js +164 -90
  97. package/dist/services/organizations.service.js.map +1 -1
  98. package/dist/services/scheduling.service.d.ts +121 -58
  99. package/dist/services/scheduling.service.d.ts.map +1 -1
  100. package/dist/services/scheduling.service.js +98 -140
  101. package/dist/services/scheduling.service.js.map +1 -1
  102. package/dist/services/users.service.d.ts +87 -27
  103. package/dist/services/users.service.d.ts.map +1 -1
  104. package/dist/services/users.service.js +94 -69
  105. package/dist/services/users.service.js.map +1 -1
  106. package/dist/types.d.ts +68 -0
  107. package/dist/types.d.ts.map +1 -0
  108. package/dist/types.js +8 -0
  109. package/dist/types.js.map +1 -0
  110. package/dist/utils/response.d.ts +33 -0
  111. package/dist/utils/response.d.ts.map +1 -0
  112. package/dist/utils/response.js +54 -0
  113. package/dist/utils/response.js.map +1 -0
  114. package/package.json +5 -2
  115. package/dist/entities/organization.d.ts +0 -21
  116. package/dist/entities/organization.d.ts.map +0 -1
  117. package/dist/entities/organization.js +0 -32
  118. package/dist/entities/organization.js.map +0 -1
  119. package/dist/entities/user.d.ts +0 -23
  120. package/dist/entities/user.d.ts.map +0 -1
  121. package/dist/entities/user.js +0 -45
  122. package/dist/entities/user.js.map +0 -1
  123. package/dist/errors.d.ts +0 -22
  124. package/dist/errors.d.ts.map +0 -1
  125. package/dist/errors.js +0 -36
  126. package/dist/errors.js.map +0 -1
  127. package/dist/typebox/calendar.tb.d.ts +0 -113
  128. package/dist/typebox/calendar.tb.d.ts.map +0 -1
  129. package/dist/typebox/calendar.tb.js +0 -92
  130. package/dist/typebox/calendar.tb.js.map +0 -1
  131. package/dist/typebox/oauth.tb.d.ts +0 -14
  132. package/dist/typebox/oauth.tb.d.ts.map +0 -1
  133. package/dist/typebox/oauth.tb.js +0 -16
  134. package/dist/typebox/oauth.tb.js.map +0 -1
  135. package/dist/typebox/organization.stripped.tb.d.ts +0 -6
  136. package/dist/typebox/organization.stripped.tb.d.ts.map +0 -1
  137. package/dist/typebox/organization.stripped.tb.js +0 -7
  138. package/dist/typebox/organization.stripped.tb.js.map +0 -1
  139. package/dist/typebox/organization.tb.d.ts +0 -10
  140. package/dist/typebox/organization.tb.d.ts.map +0 -1
  141. package/dist/typebox/organization.tb.js +0 -8
  142. package/dist/typebox/organization.tb.js.map +0 -1
  143. package/dist/typebox/scheduling.tb.d.ts +0 -107
  144. package/dist/typebox/scheduling.tb.d.ts.map +0 -1
  145. package/dist/typebox/scheduling.tb.js +0 -105
  146. package/dist/typebox/scheduling.tb.js.map +0 -1
  147. package/dist/typebox/timeString.tb.d.ts +0 -3
  148. package/dist/typebox/timeString.tb.d.ts.map +0 -1
  149. package/dist/typebox/timeString.tb.js +0 -7
  150. package/dist/typebox/timeString.tb.js.map +0 -1
  151. package/dist/typebox/user.stripped.tb.d.ts +0 -5
  152. package/dist/typebox/user.stripped.tb.d.ts.map +0 -1
  153. package/dist/typebox/user.stripped.tb.js +0 -6
  154. package/dist/typebox/user.stripped.tb.js.map +0 -1
  155. package/dist/typebox/user.tb.d.ts +0 -19
  156. package/dist/typebox/user.tb.d.ts.map +0 -1
  157. package/dist/typebox/user.tb.js +0 -10
  158. package/dist/typebox/user.tb.js.map +0 -1
  159. package/dist/types/calendar.types.d.ts +0 -124
  160. package/dist/types/calendar.types.d.ts.map +0 -1
  161. package/dist/types/calendar.types.js +0 -27
  162. package/dist/types/calendar.types.js.map +0 -1
  163. package/dist/types/internal.types.d.ts +0 -7
  164. package/dist/types/internal.types.d.ts.map +0 -1
  165. package/dist/types/internal.types.js +0 -2
  166. package/dist/types/internal.types.js.map +0 -1
  167. package/dist/types/oauth.types.d.ts +0 -22
  168. package/dist/types/oauth.types.d.ts.map +0 -1
  169. package/dist/types/oauth.types.js +0 -2
  170. package/dist/types/oauth.types.js.map +0 -1
  171. package/dist/types/organization.types.d.ts +0 -18
  172. package/dist/types/organization.types.d.ts.map +0 -1
  173. package/dist/types/organization.types.js +0 -2
  174. package/dist/types/organization.types.js.map +0 -1
  175. package/dist/types/scheduling.types.d.ts +0 -50
  176. package/dist/types/scheduling.types.d.ts.map +0 -1
  177. package/dist/types/scheduling.types.js +0 -2
  178. package/dist/types/scheduling.types.js.map +0 -1
  179. package/dist/types/user.types.d.ts +0 -11
  180. package/dist/types/user.types.d.ts.map +0 -1
  181. package/dist/types/user.types.js +0 -2
  182. package/dist/types/user.types.js.map +0 -1
  183. package/dist/utils/fetch.helper.d.ts +0 -62
  184. package/dist/utils/fetch.helper.d.ts.map +0 -1
  185. package/dist/utils/fetch.helper.js +0 -116
  186. package/dist/utils/fetch.helper.js.map +0 -1
  187. package/dist/utils/fetchErrorHandler.d.ts +0 -22
  188. package/dist/utils/fetchErrorHandler.d.ts.map +0 -1
  189. package/dist/utils/fetchErrorHandler.js +0 -35
  190. package/dist/utils/fetchErrorHandler.js.map +0 -1
  191. package/dist/utils/includes.helper.d.ts +0 -4
  192. package/dist/utils/includes.helper.d.ts.map +0 -1
  193. package/dist/utils/includes.helper.js +0 -10
  194. package/dist/utils/includes.helper.js.map +0 -1
  195. package/dist/utils/omit.d.ts +0 -2
  196. package/dist/utils/omit.d.ts.map +0 -1
  197. package/dist/utils/omit.js +0 -4
  198. package/dist/utils/omit.js.map +0 -1
@@ -0,0 +1,1214 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ import { z } from 'zod';
3
+ /**
4
+ * User
5
+ */
6
+ export const zUser = z.object({
7
+ createdAt: z.iso.datetime({
8
+ offset: true
9
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
10
+ id: z.string()
11
+ });
12
+ /**
13
+ * Organization
14
+ */
15
+ export const zOrganization = z.object({
16
+ createdAt: z.iso.datetime({
17
+ offset: true
18
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
19
+ name: z.union([
20
+ z.string().min(3).max(128),
21
+ z.null()
22
+ ]),
23
+ slug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/),
24
+ members: z.optional(z.array(zUser))
25
+ });
26
+ /**
27
+ * OAuth Connection
28
+ */
29
+ export const zAuthConnection = z.object({
30
+ alive: z.boolean(),
31
+ email: z.union([
32
+ z.email().regex(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/),
33
+ z.null()
34
+ ]),
35
+ expiresAt: z.union([
36
+ z.iso.datetime({
37
+ offset: true
38
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
39
+ z.null()
40
+ ]),
41
+ provider: z.enum([
42
+ 'google',
43
+ 'microsoft'
44
+ ]),
45
+ scope: z.array(z.string()),
46
+ accessToken: z.optional(z.unknown()),
47
+ refreshToken: z.optional(z.unknown())
48
+ });
49
+ /**
50
+ * Recal Normalized Time Range
51
+ */
52
+ export const zTimeRange = z.object({
53
+ end: z.iso.datetime({
54
+ offset: true
55
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
56
+ start: z.iso.datetime({
57
+ offset: true
58
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)
59
+ });
60
+ /**
61
+ * Recal Normalized Calendar
62
+ */
63
+ export const zCalendar = z.object({
64
+ id: z.string(),
65
+ original: z.unknown(),
66
+ provider: z.enum([
67
+ 'google',
68
+ 'microsoft'
69
+ ]),
70
+ accessRole: z.optional(z.enum([
71
+ 'freeBusyReader',
72
+ 'owner',
73
+ 'reader',
74
+ 'writer'
75
+ ])),
76
+ backgroundColor: z.optional(z.string()),
77
+ foregroundColor: z.optional(z.string()),
78
+ selected: z.optional(z.boolean()),
79
+ subject: z.optional(z.string()),
80
+ timeZone: z.optional(z.string().regex(/^([A-Za-z_]+(?:\/[A-Za-z_]+){1,2}|UTC)$/))
81
+ });
82
+ /**
83
+ * Recal Normalized Event
84
+ */
85
+ export const zEvent = z.object({
86
+ attendees: z.array(z.union([
87
+ z.object({
88
+ email: z.string(),
89
+ original: z.unknown(),
90
+ self: z.literal(true)
91
+ }),
92
+ z.object({
93
+ email: z.string(),
94
+ original: z.unknown(),
95
+ responseStatus: z.optional(z.enum([
96
+ 'accepted',
97
+ 'declined',
98
+ 'needsAction',
99
+ 'tentative'
100
+ ]))
101
+ })
102
+ ])),
103
+ calendarId: z.string(),
104
+ id: z.string(),
105
+ original: z.unknown(),
106
+ description: z.optional(z.string()),
107
+ end: z.optional(z.iso.datetime({
108
+ offset: true
109
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
110
+ location: z.optional(z.string()),
111
+ metaId: z.optional(z.string()),
112
+ start: z.optional(z.iso.datetime({
113
+ offset: true
114
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
115
+ subject: z.optional(z.string())
116
+ });
117
+ /**
118
+ * Recal Normalized Meta Event
119
+ */
120
+ export const zMetaEvent = z.object({
121
+ attendees: z.array(z.union([
122
+ z.object({
123
+ email: z.string(),
124
+ originals: z.array(z.unknown()),
125
+ self: z.literal(true)
126
+ }),
127
+ z.object({
128
+ email: z.string(),
129
+ originals: z.array(z.unknown()),
130
+ responseStatus: z.optional(z.enum([
131
+ 'accepted',
132
+ 'declined',
133
+ 'needsAction',
134
+ 'tentative'
135
+ ]))
136
+ })
137
+ ])),
138
+ originals: z.array(z.unknown()),
139
+ description: z.optional(z.string()),
140
+ end: z.optional(z.iso.datetime({
141
+ offset: true
142
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
143
+ location: z.optional(z.string()),
144
+ metaId: z.optional(z.string()),
145
+ start: z.optional(z.iso.datetime({
146
+ offset: true
147
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
148
+ subject: z.optional(z.string())
149
+ });
150
+ /**
151
+ * Recal Normalized Create Meta Event
152
+ */
153
+ export const zCreateMetaEvent = z.object({
154
+ attendees: z.optional(z.array(z.object({
155
+ email: z.email().regex(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/)
156
+ }))),
157
+ description: z.optional(z.string()),
158
+ end: z.optional(z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
159
+ location: z.optional(z.string()),
160
+ meeting: z.optional(z.union([
161
+ z.object({
162
+ url: z.url()
163
+ }),
164
+ z.boolean()
165
+ ])),
166
+ metaId: z.optional(z.string()),
167
+ sendNotificationsFor: z.optional(z.array(z.enum([
168
+ 'google',
169
+ 'microsoft'
170
+ ]))),
171
+ start: z.optional(z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
172
+ subject: z.optional(z.string())
173
+ });
174
+ /**
175
+ * Recal Normalized Update Meta Event
176
+ */
177
+ export const zUpdateMetaEvent = z.object({
178
+ attendees: z.optional(z.array(z.object({
179
+ email: z.email().regex(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/)
180
+ }))),
181
+ description: z.optional(z.string()),
182
+ end: z.optional(z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
183
+ location: z.optional(z.string()),
184
+ meeting: z.optional(z.union([
185
+ z.object({
186
+ url: z.url()
187
+ }),
188
+ z.boolean()
189
+ ])),
190
+ metaId: z.optional(z.string()),
191
+ sendNotificationsFor: z.optional(z.array(z.enum([
192
+ 'google',
193
+ 'microsoft'
194
+ ]))),
195
+ start: z.optional(z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
196
+ subject: z.optional(z.string())
197
+ });
198
+ /**
199
+ * Recal Normalized Create Event
200
+ */
201
+ export const zCreateEvent = z.object({
202
+ attendees: z.optional(z.array(z.object({
203
+ email: z.email().regex(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/)
204
+ }))),
205
+ description: z.optional(z.string()),
206
+ end: z.optional(z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
207
+ id: z.optional(z.string()),
208
+ location: z.optional(z.string()),
209
+ meeting: z.optional(z.union([
210
+ z.object({
211
+ url: z.url()
212
+ }),
213
+ z.boolean()
214
+ ])),
215
+ metaId: z.optional(z.string()),
216
+ sendNotifications: z.optional(z.boolean()),
217
+ start: z.optional(z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
218
+ subject: z.optional(z.string())
219
+ });
220
+ /**
221
+ * Recal Normalized Update Event
222
+ */
223
+ export const zUpdateEvent = z.object({
224
+ attendees: z.optional(z.array(z.object({
225
+ email: z.email().regex(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/)
226
+ }))),
227
+ description: z.optional(z.string()),
228
+ end: z.optional(z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
229
+ id: z.optional(z.string()),
230
+ location: z.optional(z.string()),
231
+ meeting: z.optional(z.union([
232
+ z.object({
233
+ url: z.url()
234
+ }),
235
+ z.boolean()
236
+ ])),
237
+ metaId: z.optional(z.string()),
238
+ sendNotifications: z.optional(z.boolean()),
239
+ start: z.optional(z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/)),
240
+ subject: z.optional(z.string())
241
+ });
242
+ export const zGetV1OrganizationsData = z.object({
243
+ body: z.optional(z.never()),
244
+ path: z.optional(z.never()),
245
+ query: z.optional(z.never())
246
+ });
247
+ /**
248
+ * All organizations
249
+ */
250
+ export const zGetV1OrganizationsResponse = z.object({
251
+ data: z.array(zOrganization)
252
+ });
253
+ export const zPostV1OrganizationsData = z.object({
254
+ body: z.optional(z.object({
255
+ name: z.union([
256
+ z.string().min(3).max(128),
257
+ z.null()
258
+ ]),
259
+ slug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
260
+ })),
261
+ path: z.optional(z.never()),
262
+ query: z.optional(z.never())
263
+ });
264
+ /**
265
+ * Created organization
266
+ */
267
+ export const zPostV1OrganizationsResponse = z.object({
268
+ data: zOrganization
269
+ });
270
+ export const zDeleteV1OrganizationsOrgSlugData = z.object({
271
+ body: z.optional(z.never()),
272
+ path: z.object({
273
+ orgSlug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
274
+ }),
275
+ query: z.optional(z.never())
276
+ });
277
+ /**
278
+ * Deleted organization
279
+ */
280
+ export const zDeleteV1OrganizationsOrgSlugResponse = z.object({
281
+ data: zOrganization
282
+ });
283
+ export const zGetV1OrganizationsOrgSlugData = z.object({
284
+ body: z.optional(z.never()),
285
+ path: z.object({
286
+ orgSlug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
287
+ }),
288
+ query: z.optional(z.never())
289
+ });
290
+ /**
291
+ * Organization
292
+ */
293
+ export const zGetV1OrganizationsOrgSlugResponse = z.object({
294
+ data: zOrganization
295
+ });
296
+ export const zPutV1OrganizationsOrgSlugData = z.object({
297
+ body: z.optional(z.object({
298
+ name: z.union([
299
+ z.string().min(3).max(128),
300
+ z.null()
301
+ ]),
302
+ slug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
303
+ })),
304
+ path: z.object({
305
+ orgSlug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
306
+ }),
307
+ query: z.optional(z.never())
308
+ });
309
+ /**
310
+ * Updated organization
311
+ */
312
+ export const zPutV1OrganizationsOrgSlugResponse = z.object({
313
+ data: zOrganization
314
+ });
315
+ export const zDeleteV1OrganizationsOrgSlugMembersData = z.object({
316
+ body: z.optional(z.object({
317
+ userIds: z.array(z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/))
318
+ })),
319
+ path: z.object({
320
+ orgSlug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
321
+ }),
322
+ query: z.optional(z.never())
323
+ });
324
+ export const zDeleteV1OrganizationsOrgSlugMembersResponse = z.object({
325
+ data: z.string()
326
+ });
327
+ export const zGetV1OrganizationsOrgSlugMembersData = z.object({
328
+ body: z.optional(z.never()),
329
+ path: z.object({
330
+ orgSlug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
331
+ }),
332
+ query: z.optional(z.object({
333
+ include: z.optional(z.union([
334
+ z.array(z.enum([
335
+ 'oauthConnections',
336
+ 'organizations'
337
+ ])),
338
+ z.literal('oauthConnections'),
339
+ z.literal('organizations')
340
+ ]))
341
+ }))
342
+ });
343
+ /**
344
+ * All members of an organization
345
+ */
346
+ export const zGetV1OrganizationsOrgSlugMembersResponse = z.object({
347
+ data: z.array(z.object({
348
+ createdAt: z.iso.datetime({
349
+ offset: true
350
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
351
+ id: z.string(),
352
+ oauthConnections: z.optional(z.array(zAuthConnection)),
353
+ organizations: z.optional(z.array(zOrganization))
354
+ }))
355
+ });
356
+ export const zPostV1OrganizationsOrgSlugMembersData = z.object({
357
+ body: z.optional(z.object({
358
+ userIds: z.array(z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/))
359
+ })),
360
+ path: z.object({
361
+ orgSlug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
362
+ }),
363
+ query: z.optional(z.never())
364
+ });
365
+ export const zPostV1OrganizationsOrgSlugMembersResponse = z.union([
366
+ z.object({
367
+ data: z.string()
368
+ }),
369
+ z.object({
370
+ data: z.string()
371
+ })
372
+ ]);
373
+ export const zGetV1OrganizationsOrgSlugCalendarBusyData = z.object({
374
+ body: z.optional(z.never()),
375
+ path: z.object({
376
+ orgSlug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
377
+ }),
378
+ query: z.object({
379
+ end: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
380
+ start: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
381
+ primaryOnly: z.optional(z.union([
382
+ z.literal('false'),
383
+ z.literal('true')
384
+ ])),
385
+ provider: z.optional(z.union([
386
+ z.array(z.enum([
387
+ 'google',
388
+ 'microsoft'
389
+ ])),
390
+ z.literal('google'),
391
+ z.literal('microsoft')
392
+ ]))
393
+ })
394
+ });
395
+ /**
396
+ * Busy times of all users of an organization
397
+ */
398
+ export const zGetV1OrganizationsOrgSlugCalendarBusyResponse = z.object({
399
+ data: z.array(zTimeRange)
400
+ });
401
+ export const zGetV1OrganizationsOrgSlugSchedulingData = z.object({
402
+ body: z.optional(z.never()),
403
+ path: z.object({
404
+ orgSlug: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
405
+ }),
406
+ query: z.object({
407
+ end: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
408
+ padding: z.union([
409
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
410
+ z.unknown()
411
+ ]),
412
+ slotDuration: z.union([
413
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
414
+ z.unknown()
415
+ ]),
416
+ start: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
417
+ earliestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)),
418
+ latestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)),
419
+ maxOverlaps: z.optional(z.union([
420
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
421
+ z.unknown()
422
+ ])),
423
+ provider: z.optional(z.union([
424
+ z.array(z.enum([
425
+ 'google',
426
+ 'microsoft'
427
+ ])),
428
+ z.literal('google'),
429
+ z.literal('microsoft')
430
+ ]))
431
+ })
432
+ });
433
+ /**
434
+ * Available time slots
435
+ */
436
+ export const zGetV1OrganizationsOrgSlugSchedulingResponse = z.object({
437
+ data: z.object({
438
+ availableSlots: z.array(z.object({
439
+ end: z.iso.datetime({
440
+ offset: true
441
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
442
+ start: z.iso.datetime({
443
+ offset: true
444
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
445
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
446
+ })),
447
+ options: z.object({
448
+ end: z.iso.datetime({
449
+ offset: true
450
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
451
+ maxOverlaps: z.int(),
452
+ padding: z.int(),
453
+ slotDuration: z.int(),
454
+ start: z.iso.datetime({
455
+ offset: true
456
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
457
+ earliestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)),
458
+ latestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/))
459
+ })
460
+ })
461
+ });
462
+ export const zGetV1UsersData = z.object({
463
+ body: z.optional(z.never()),
464
+ path: z.optional(z.never()),
465
+ query: z.optional(z.never())
466
+ });
467
+ /**
468
+ * List of users
469
+ */
470
+ export const zGetV1UsersResponse = z.object({
471
+ data: z.array(z.object({
472
+ createdAt: z.iso.datetime({
473
+ offset: true
474
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
475
+ id: z.string(),
476
+ oauthConnections: z.optional(z.array(zAuthConnection)),
477
+ organizations: z.optional(z.array(zOrganization))
478
+ }))
479
+ });
480
+ export const zPostV1UsersData = z.object({
481
+ body: z.optional(z.object({
482
+ id: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/),
483
+ organizationSlugs: z.optional(z.array(z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)))
484
+ })),
485
+ path: z.optional(z.never()),
486
+ query: z.optional(z.never())
487
+ });
488
+ /**
489
+ * Created user
490
+ */
491
+ export const zPostV1UsersResponse = z.object({
492
+ data: z.object({
493
+ createdAt: z.iso.datetime({
494
+ offset: true
495
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
496
+ id: z.string(),
497
+ oauthConnections: z.optional(z.array(zAuthConnection)),
498
+ organizations: z.optional(z.array(zOrganization))
499
+ })
500
+ });
501
+ export const zDeleteV1UsersUserIdData = z.object({
502
+ body: z.optional(z.never()),
503
+ path: z.object({
504
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
505
+ }),
506
+ query: z.optional(z.never())
507
+ });
508
+ /**
509
+ * User
510
+ */
511
+ export const zDeleteV1UsersUserIdResponse = z.object({
512
+ data: z.object({
513
+ createdAt: z.iso.datetime({
514
+ offset: true
515
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
516
+ id: z.string(),
517
+ oauthConnections: z.optional(z.array(zAuthConnection)),
518
+ organizations: z.optional(z.array(zOrganization))
519
+ })
520
+ });
521
+ export const zGetV1UsersUserIdData = z.object({
522
+ body: z.optional(z.never()),
523
+ path: z.object({
524
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
525
+ }),
526
+ query: z.optional(z.object({
527
+ include: z.optional(z.union([
528
+ z.array(z.enum([
529
+ 'oauthConnections',
530
+ 'organizations'
531
+ ])),
532
+ z.literal('oauthConnections'),
533
+ z.literal('organizations')
534
+ ]))
535
+ }))
536
+ });
537
+ /**
538
+ * User
539
+ */
540
+ export const zGetV1UsersUserIdResponse = z.object({
541
+ data: z.object({
542
+ createdAt: z.iso.datetime({
543
+ offset: true
544
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
545
+ id: z.string(),
546
+ oauthConnections: z.optional(z.array(zAuthConnection)),
547
+ organizations: z.optional(z.array(zOrganization))
548
+ })
549
+ });
550
+ export const zPutV1UsersUserIdData = z.object({
551
+ body: z.optional(z.object({
552
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
553
+ })),
554
+ path: z.object({
555
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
556
+ }),
557
+ query: z.optional(z.never())
558
+ });
559
+ /**
560
+ * User
561
+ */
562
+ export const zPutV1UsersUserIdResponse = z.object({
563
+ data: z.object({
564
+ createdAt: z.iso.datetime({
565
+ offset: true
566
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
567
+ id: z.string(),
568
+ oauthConnections: z.optional(z.array(zAuthConnection)),
569
+ organizations: z.optional(z.array(zOrganization))
570
+ })
571
+ });
572
+ export const zGetV1UsersUserIdOrganizationsData = z.object({
573
+ body: z.optional(z.never()),
574
+ path: z.object({
575
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
576
+ }),
577
+ query: z.optional(z.never())
578
+ });
579
+ /**
580
+ * List of organizations
581
+ */
582
+ export const zGetV1UsersUserIdOrganizationsResponse = z.object({
583
+ data: z.array(zOrganization)
584
+ });
585
+ export const zGetV1UsersUserIdCalendarData = z.object({
586
+ body: z.optional(z.never()),
587
+ path: z.object({
588
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
589
+ }),
590
+ query: z.optional(z.object({
591
+ provider: z.optional(z.union([
592
+ z.array(z.enum([
593
+ 'google',
594
+ 'microsoft'
595
+ ])),
596
+ z.literal('google'),
597
+ z.literal('microsoft')
598
+ ]))
599
+ }))
600
+ });
601
+ /**
602
+ * List of calendars
603
+ */
604
+ export const zGetV1UsersUserIdCalendarResponse = z.object({
605
+ data: z.array(zCalendar)
606
+ });
607
+ export const zGetV1UsersUserIdCalendarBusyData = z.object({
608
+ body: z.optional(z.never()),
609
+ path: z.object({
610
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
611
+ }),
612
+ query: z.object({
613
+ end: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
614
+ start: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
615
+ calendarIds: z.optional(z.array(z.string())),
616
+ provider: z.optional(z.union([
617
+ z.array(z.enum([
618
+ 'google',
619
+ 'microsoft'
620
+ ])),
621
+ z.literal('google'),
622
+ z.literal('microsoft')
623
+ ]))
624
+ })
625
+ });
626
+ /**
627
+ * List of busy intervals
628
+ */
629
+ export const zGetV1UsersUserIdCalendarBusyResponse = z.object({
630
+ data: z.array(zTimeRange)
631
+ });
632
+ export const zGetV1UsersUserIdCalendarEventsData = z.object({
633
+ body: z.optional(z.never()),
634
+ path: z.object({
635
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
636
+ }),
637
+ query: z.object({
638
+ end: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
639
+ start: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
640
+ calendarIds: z.optional(z.array(z.string())),
641
+ provider: z.optional(z.union([
642
+ z.array(z.enum([
643
+ 'google',
644
+ 'microsoft'
645
+ ])),
646
+ z.literal('google'),
647
+ z.literal('microsoft')
648
+ ]))
649
+ })
650
+ });
651
+ /**
652
+ * List of events
653
+ */
654
+ export const zGetV1UsersUserIdCalendarEventsResponse = z.object({
655
+ data: z.array(zEvent)
656
+ });
657
+ export const zPostV1UsersUserIdCalendarEventsMetaData = z.object({
658
+ body: z.optional(zCreateMetaEvent),
659
+ path: z.object({
660
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
661
+ }),
662
+ query: z.optional(z.object({
663
+ provider: z.optional(z.union([
664
+ z.array(z.enum([
665
+ 'google',
666
+ 'microsoft'
667
+ ])),
668
+ z.literal('google'),
669
+ z.literal('microsoft')
670
+ ]))
671
+ }))
672
+ });
673
+ /**
674
+ * Meta event created
675
+ */
676
+ export const zPostV1UsersUserIdCalendarEventsMetaResponse = z.object({
677
+ data: zMetaEvent
678
+ });
679
+ export const zDeleteV1UsersUserIdCalendarEventsMetaMetaIdData = z.object({
680
+ body: z.optional(z.never()),
681
+ path: z.object({
682
+ metaId: z.string(),
683
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
684
+ }),
685
+ query: z.optional(z.object({
686
+ provider: z.optional(z.union([
687
+ z.array(z.enum([
688
+ 'google',
689
+ 'microsoft'
690
+ ])),
691
+ z.literal('google'),
692
+ z.literal('microsoft')
693
+ ]))
694
+ }))
695
+ });
696
+ /**
697
+ * Meta event deleted
698
+ */
699
+ export const zDeleteV1UsersUserIdCalendarEventsMetaMetaIdResponse = z.object({
700
+ data: z.object({
701
+ success: z.literal(true)
702
+ })
703
+ });
704
+ export const zGetV1UsersUserIdCalendarEventsMetaMetaIdData = z.object({
705
+ body: z.optional(z.never()),
706
+ path: z.object({
707
+ metaId: z.string(),
708
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
709
+ }),
710
+ query: z.optional(z.object({
711
+ provider: z.optional(z.union([
712
+ z.array(z.enum([
713
+ 'google',
714
+ 'microsoft'
715
+ ])),
716
+ z.literal('google'),
717
+ z.literal('microsoft')
718
+ ]))
719
+ }))
720
+ });
721
+ /**
722
+ * Event
723
+ */
724
+ export const zGetV1UsersUserIdCalendarEventsMetaMetaIdResponse = z.object({
725
+ data: zMetaEvent
726
+ });
727
+ export const zPutV1UsersUserIdCalendarEventsMetaMetaIdData = z.object({
728
+ body: z.optional(zUpdateMetaEvent),
729
+ path: z.object({
730
+ metaId: z.string(),
731
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
732
+ }),
733
+ query: z.optional(z.object({
734
+ provider: z.optional(z.union([
735
+ z.array(z.enum([
736
+ 'google',
737
+ 'microsoft'
738
+ ])),
739
+ z.literal('google'),
740
+ z.literal('microsoft')
741
+ ]))
742
+ }))
743
+ });
744
+ /**
745
+ * Meta event updated
746
+ */
747
+ export const zPutV1UsersUserIdCalendarEventsMetaMetaIdResponse = z.object({
748
+ data: zMetaEvent
749
+ });
750
+ export const zPostV1UsersUserIdCalendarEventsProviderCalendarIdData = z.object({
751
+ body: z.optional(zCreateEvent),
752
+ path: z.object({
753
+ calendarId: z.string(),
754
+ provider: z.enum([
755
+ 'google',
756
+ 'microsoft'
757
+ ]),
758
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
759
+ }),
760
+ query: z.optional(z.never())
761
+ });
762
+ /**
763
+ * Event created
764
+ */
765
+ export const zPostV1UsersUserIdCalendarEventsProviderCalendarIdResponse = z.object({
766
+ data: zEvent
767
+ });
768
+ export const zDeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdData = z.object({
769
+ body: z.optional(z.never()),
770
+ path: z.object({
771
+ calendarId: z.string(),
772
+ eventId: z.string(),
773
+ provider: z.enum([
774
+ 'google',
775
+ 'microsoft'
776
+ ]),
777
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
778
+ }),
779
+ query: z.optional(z.never())
780
+ });
781
+ /**
782
+ * Event deleted
783
+ */
784
+ export const zDeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponse = z.object({
785
+ data: z.object({
786
+ success: z.literal(true)
787
+ })
788
+ });
789
+ export const zGetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdData = z.object({
790
+ body: z.optional(z.never()),
791
+ path: z.object({
792
+ calendarId: z.string(),
793
+ eventId: z.string(),
794
+ provider: z.enum([
795
+ 'google',
796
+ 'microsoft'
797
+ ]),
798
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
799
+ }),
800
+ query: z.optional(z.never())
801
+ });
802
+ /**
803
+ * Event found
804
+ */
805
+ export const zGetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponse = z.object({
806
+ data: zEvent
807
+ });
808
+ export const zPutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdData = z.object({
809
+ body: z.optional(zUpdateEvent),
810
+ path: z.object({
811
+ calendarId: z.string(),
812
+ eventId: z.string(),
813
+ provider: z.enum([
814
+ 'google',
815
+ 'microsoft'
816
+ ]),
817
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
818
+ }),
819
+ query: z.optional(z.never())
820
+ });
821
+ /**
822
+ * Event updated
823
+ */
824
+ export const zPutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponse = z.object({
825
+ data: zEvent
826
+ });
827
+ export const zGetV1UsersUserIdOauthData = z.object({
828
+ body: z.optional(z.never()),
829
+ path: z.object({
830
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
831
+ }),
832
+ query: z.optional(z.object({
833
+ showToken: z.optional(z.union([
834
+ z.literal('false'),
835
+ z.literal('true')
836
+ ]))
837
+ }))
838
+ });
839
+ /**
840
+ * All oauth connections of the user
841
+ */
842
+ export const zGetV1UsersUserIdOauthResponse = z.object({
843
+ data: z.array(zAuthConnection)
844
+ });
845
+ export const zGetV1UsersUserIdOauthLinksData = z.object({
846
+ body: z.optional(z.never()),
847
+ path: z.object({
848
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
849
+ }),
850
+ query: z.object({
851
+ accessType: z.union([
852
+ z.literal('offline'),
853
+ z.literal('online')
854
+ ]),
855
+ scope: z.union([
856
+ z.array(z.string()),
857
+ z.literal('edit'),
858
+ z.literal('free-busy')
859
+ ]),
860
+ provider: z.optional(z.array(z.enum([
861
+ 'google',
862
+ 'microsoft'
863
+ ])))
864
+ })
865
+ });
866
+ /**
867
+ * Auth urls for the oauth providers
868
+ */
869
+ export const zGetV1UsersUserIdOauthLinksResponse = z.object({
870
+ data: z.array(z.object({
871
+ link: z.url(),
872
+ provider: z.enum([
873
+ 'google',
874
+ 'microsoft'
875
+ ])
876
+ }))
877
+ });
878
+ export const zGetV1UsersUserIdOauthProviderLinkData = z.object({
879
+ body: z.optional(z.never()),
880
+ path: z.object({
881
+ provider: z.enum([
882
+ 'google',
883
+ 'microsoft'
884
+ ]),
885
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
886
+ }),
887
+ query: z.object({
888
+ accessType: z.union([
889
+ z.literal('offline'),
890
+ z.literal('online')
891
+ ]),
892
+ scope: z.union([
893
+ z.array(z.string()),
894
+ z.literal('edit'),
895
+ z.literal('free-busy')
896
+ ]),
897
+ redirectUrl: z.optional(z.url())
898
+ })
899
+ });
900
+ /**
901
+ * Auth url for the oauth provider
902
+ */
903
+ export const zGetV1UsersUserIdOauthProviderLinkResponse = z.object({
904
+ data: z.object({
905
+ link: z.url()
906
+ })
907
+ });
908
+ export const zPostV1UsersOauthProviderVerifyData = z.object({
909
+ body: z.optional(z.object({
910
+ code: z.string(),
911
+ scope: z.array(z.string()),
912
+ state: z.string()
913
+ })),
914
+ path: z.object({
915
+ provider: z.enum([
916
+ 'google',
917
+ 'microsoft'
918
+ ])
919
+ }),
920
+ query: z.optional(z.object({
921
+ redirectUrl: z.optional(z.url())
922
+ }))
923
+ });
924
+ export const zDeleteV1UsersUserIdOauthProviderData = z.object({
925
+ body: z.optional(z.never()),
926
+ path: z.object({
927
+ provider: z.enum([
928
+ 'google',
929
+ 'microsoft'
930
+ ]),
931
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
932
+ }),
933
+ query: z.optional(z.never())
934
+ });
935
+ export const zGetV1UsersUserIdOauthProviderData = z.object({
936
+ body: z.optional(z.never()),
937
+ path: z.object({
938
+ provider: z.enum([
939
+ 'google',
940
+ 'microsoft'
941
+ ]),
942
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
943
+ }),
944
+ query: z.optional(z.object({
945
+ showToken: z.optional(z.union([
946
+ z.literal('false'),
947
+ z.literal('true')
948
+ ]))
949
+ }))
950
+ });
951
+ /**
952
+ * OAuth connection of the user
953
+ */
954
+ export const zGetV1UsersUserIdOauthProviderResponse = z.object({
955
+ data: zAuthConnection
956
+ });
957
+ export const zPostV1UsersUserIdOauthProviderData = z.object({
958
+ body: z.optional(z.object({
959
+ accessToken: z.string(),
960
+ email: z.union([
961
+ z.email().regex(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/),
962
+ z.null()
963
+ ]),
964
+ expiresAt: z.union([
965
+ z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
966
+ z.null()
967
+ ]),
968
+ refreshToken: z.union([
969
+ z.string(),
970
+ z.unknown()
971
+ ]),
972
+ scope: z.array(z.string())
973
+ })),
974
+ path: z.object({
975
+ provider: z.enum([
976
+ 'google',
977
+ 'microsoft'
978
+ ]),
979
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
980
+ }),
981
+ query: z.optional(z.never())
982
+ });
983
+ /**
984
+ * OAuth connection created
985
+ */
986
+ export const zPostV1UsersUserIdOauthProviderResponse = z.object({
987
+ data: zAuthConnection
988
+ });
989
+ export const zGetV1UsersUserIdOauthProviderTokenData = z.object({
990
+ body: z.optional(z.never()),
991
+ path: z.object({
992
+ provider: z.enum([
993
+ 'google',
994
+ 'microsoft'
995
+ ]),
996
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
997
+ }),
998
+ query: z.optional(z.never())
999
+ });
1000
+ /**
1001
+ * Access token
1002
+ */
1003
+ export const zGetV1UsersUserIdOauthProviderTokenResponse = z.object({
1004
+ data: z.object({
1005
+ accessToken: z.string()
1006
+ })
1007
+ });
1008
+ export const zGetV1UsersUserIdSchedulingData = z.object({
1009
+ body: z.optional(z.never()),
1010
+ path: z.object({
1011
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
1012
+ }),
1013
+ query: z.object({
1014
+ end: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1015
+ padding: z.union([
1016
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
1017
+ z.unknown()
1018
+ ]),
1019
+ slotDuration: z.union([
1020
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
1021
+ z.unknown()
1022
+ ]),
1023
+ start: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1024
+ earliestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)),
1025
+ latestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)),
1026
+ maxOverlaps: z.optional(z.union([
1027
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
1028
+ z.unknown()
1029
+ ])),
1030
+ provider: z.optional(z.union([
1031
+ z.array(z.enum([
1032
+ 'google',
1033
+ 'microsoft'
1034
+ ])),
1035
+ z.literal('google'),
1036
+ z.literal('microsoft')
1037
+ ]))
1038
+ })
1039
+ });
1040
+ /**
1041
+ * Available time slots
1042
+ */
1043
+ export const zGetV1UsersUserIdSchedulingResponse = z.object({
1044
+ data: z.object({
1045
+ availableSlots: z.array(zTimeRange),
1046
+ options: z.object({
1047
+ end: z.iso.datetime({
1048
+ offset: true
1049
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1050
+ maxOverlaps: z.int(),
1051
+ padding: z.int(),
1052
+ slotDuration: z.int(),
1053
+ start: z.iso.datetime({
1054
+ offset: true
1055
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1056
+ earliestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)),
1057
+ latestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/))
1058
+ })
1059
+ })
1060
+ });
1061
+ export const zPostV1UsersUserIdSchedulingData = z.object({
1062
+ body: z.optional(z.object({
1063
+ schedules: z.array(z.object({
1064
+ days: z.array(z.enum([
1065
+ 'friday',
1066
+ 'monday',
1067
+ 'saturday',
1068
+ 'sunday',
1069
+ 'thursday',
1070
+ 'tuesday',
1071
+ 'wednesday'
1072
+ ])),
1073
+ end: z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/),
1074
+ start: z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)
1075
+ }))
1076
+ })),
1077
+ path: z.object({
1078
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
1079
+ }),
1080
+ query: z.object({
1081
+ end: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1082
+ padding: z.union([
1083
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
1084
+ z.unknown()
1085
+ ]),
1086
+ slotDuration: z.union([
1087
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
1088
+ z.unknown()
1089
+ ]),
1090
+ start: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1091
+ maxOverlaps: z.optional(z.union([
1092
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
1093
+ z.unknown()
1094
+ ])),
1095
+ provider: z.optional(z.union([
1096
+ z.array(z.enum([
1097
+ 'google',
1098
+ 'microsoft'
1099
+ ])),
1100
+ z.literal('google'),
1101
+ z.literal('microsoft')
1102
+ ]))
1103
+ })
1104
+ });
1105
+ /**
1106
+ * Available time slots
1107
+ */
1108
+ export const zPostV1UsersUserIdSchedulingResponse = z.object({
1109
+ data: z.object({
1110
+ availableSlots: z.array(zTimeRange),
1111
+ options: z.object({
1112
+ end: z.iso.datetime({
1113
+ offset: true
1114
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1115
+ maxOverlaps: z.int(),
1116
+ padding: z.int(),
1117
+ slotDuration: z.int(),
1118
+ start: z.iso.datetime({
1119
+ offset: true
1120
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1121
+ earliestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)),
1122
+ latestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/))
1123
+ })
1124
+ })
1125
+ });
1126
+ export const zPostV1UsersSchedulingData = z.object({
1127
+ body: z.optional(z.object({
1128
+ users: z.array(z.object({
1129
+ id: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/),
1130
+ calendarIds: z.optional(z.array(z.string())),
1131
+ schedules: z.optional(z.array(z.object({
1132
+ days: z.array(z.enum([
1133
+ 'friday',
1134
+ 'monday',
1135
+ 'saturday',
1136
+ 'sunday',
1137
+ 'thursday',
1138
+ 'tuesday',
1139
+ 'wednesday'
1140
+ ])),
1141
+ end: z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/),
1142
+ start: z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)
1143
+ })))
1144
+ }))
1145
+ })),
1146
+ path: z.optional(z.never()),
1147
+ query: z.object({
1148
+ end: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1149
+ padding: z.union([
1150
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
1151
+ z.unknown()
1152
+ ]),
1153
+ slotDuration: z.union([
1154
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
1155
+ z.unknown()
1156
+ ]),
1157
+ start: z.string().regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1158
+ maxOverlaps: z.optional(z.union([
1159
+ z.string().regex(/^(?:(?!^-0$)-?(?:(?:0|[1-9]\d*)))$/),
1160
+ z.unknown()
1161
+ ])),
1162
+ provider: z.optional(z.union([
1163
+ z.array(z.enum([
1164
+ 'google',
1165
+ 'microsoft'
1166
+ ])),
1167
+ z.literal('google'),
1168
+ z.literal('microsoft')
1169
+ ]))
1170
+ })
1171
+ });
1172
+ /**
1173
+ * Available time slots for each user
1174
+ */
1175
+ export const zPostV1UsersSchedulingResponse = z.object({
1176
+ data: z.array(z.union([
1177
+ z.object({
1178
+ availableSlots: z.array(zTimeRange),
1179
+ options: z.object({
1180
+ end: z.iso.datetime({
1181
+ offset: true
1182
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1183
+ maxOverlaps: z.int(),
1184
+ padding: z.int(),
1185
+ slotDuration: z.int(),
1186
+ start: z.iso.datetime({
1187
+ offset: true
1188
+ }).regex(/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/),
1189
+ earliestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)),
1190
+ latestTimeEachDay: z.optional(z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/))
1191
+ }),
1192
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/),
1193
+ calendarIds: z.optional(z.array(z.string())),
1194
+ schedules: z.optional(z.array(z.object({
1195
+ days: z.array(z.enum([
1196
+ 'friday',
1197
+ 'monday',
1198
+ 'saturday',
1199
+ 'sunday',
1200
+ 'thursday',
1201
+ 'tuesday',
1202
+ 'wednesday'
1203
+ ])),
1204
+ end: z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/),
1205
+ start: z.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/)
1206
+ })))
1207
+ }),
1208
+ z.object({
1209
+ error: z.string(),
1210
+ userId: z.string().regex(/^[a-z0-9][a-z0-9_-]{2,127}$/)
1211
+ })
1212
+ ]))
1213
+ });
1214
+ //# sourceMappingURL=zod.gen.js.map