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
@@ -1,314 +1,81 @@
1
- import { Type as T } from '@sinclair/typebox';
2
- import { EventNotFoundError, OAuthConnectionNotFoundError, OrganizationNotFoundError, ProviderCredentialsNotSetError, UserNotFoundError, } from '../errors.js';
3
- import { busySchema, calendarSchema, eventSchema, timeRangeSchema } from '../typebox/calendar.tb.js';
4
- import { errorHandler } from '../utils/fetch.helper.js';
1
+ import * as sdk from '../client/sdk.gen';
2
+ import { unwrapResponse } from '../utils/response';
3
+ /**
4
+ * Calendar Service
5
+ *
6
+ * Provides methods for managing calendars
7
+ */
5
8
  export class CalendarService {
6
- fetchHelper;
7
- constructor(fetchHelper) {
8
- this.fetchHelper = fetchHelper;
9
+ client;
10
+ constructor(client) {
11
+ this.client = client;
9
12
  }
10
- // ==========================================
11
- // MARK: Calendar -
12
- // ==========================================
13
13
  /**
14
- * @param userId The ID of the user
15
- * @param provider The provider of the calendar
16
- * @returns The calendars of the user
14
+ * List all calendars for a user
15
+ *
16
+ * @param userId - The user ID
17
+ * @param options - Query options
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const calendars = await recal.calendar.list('user-123', {
22
+ * provider: 'google'
23
+ * })
24
+ * ```
17
25
  */
18
- async listCalendars(userId, provider) {
19
- return this.fetchHelper
20
- .get(`/v1/users/${userId}/calendar/`, {
21
- schema: T.Array(calendarSchema),
22
- searchParams: { provider },
23
- })
24
- .catch(errorHandler([
25
- {
26
- code: 400,
27
- error: new OAuthConnectionNotFoundError(userId, Array.isArray(provider) ? provider.join(',') : provider || 'all'),
28
- },
29
- { code: 404, error: new UserNotFoundError(userId) },
30
- ]));
26
+ async list(userId, options) {
27
+ const response = await sdk.getV1UsersUserIdCalendar({
28
+ path: { userId },
29
+ query: options,
30
+ client: this.client,
31
+ });
32
+ return unwrapResponse(response);
31
33
  }
32
- // ==========================================
33
- // MARK: User Calendar - Busy & Events
34
- // ==========================================
35
34
  /**
36
- * @param userId The ID of the user
37
- * @param startDate The start date of the free/busy period
38
- * @param endDate The end date of the free/busy period
39
- * @param options The options for the free/busy query (optional)
40
- * @returns The free/busy period
35
+ * Get busy times for a user across all calendars
36
+ *
37
+ * @param userId - The user ID
38
+ * @param options - Query options with time range
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const busy = await recal.calendar.getBusyTimes('user-123', {
43
+ * start: '2024-01-01T00:00:00Z',
44
+ * end: '2024-01-31T23:59:59Z',
45
+ * provider: ['google', 'microsoft']
46
+ * })
47
+ * ```
41
48
  */
42
- async getBusy(userId, startDate, endDate, options) {
43
- const { provider, calendarIds, timeZone } = options || {};
44
- return this.fetchHelper
45
- .get(`/v1/users/${userId}/calendar/busy`, {
46
- schema: busySchema,
47
- searchParams: { startDate, endDate, provider, calendarIds },
48
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
49
- })
50
- .catch(errorHandler([
51
- {
52
- code: 400,
53
- error: new OAuthConnectionNotFoundError(userId, Array.isArray(provider) ? provider.join(',') : provider || 'all'),
54
- },
55
- { code: 404, error: new UserNotFoundError(userId) },
56
- ]));
49
+ async getBusyTimes(userId, options) {
50
+ const response = await sdk.getV1UsersUserIdCalendarBusy({
51
+ path: { userId },
52
+ query: options,
53
+ client: this.client,
54
+ });
55
+ return unwrapResponse(response);
57
56
  }
58
57
  /**
59
- * @param userId The ID of the user
60
- * @param startDate The start date of the events
61
- * @param endDate The end date of the events
62
- * @param options The options for the events query (optional)
63
- * @returns The events
58
+ * List events for a user across all calendars
59
+ *
60
+ * @param userId - The user ID
61
+ * @param options - Query options with time range
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * const events = await recal.calendar.listEvents('user-123', {
66
+ * start: '2024-01-01T00:00:00Z',
67
+ * end: '2024-01-31T23:59:59Z',
68
+ * provider: 'google'
69
+ * })
70
+ * ```
64
71
  */
65
- async getEvents(userId, startDate, endDate, options) {
66
- const { provider, calendarIds, timeZone } = options || {};
67
- return this.fetchHelper
68
- .get(`/v1/users/${userId}/calendar/events`, {
69
- schema: T.Array(eventSchema),
70
- searchParams: { startDate, endDate, provider, calendarIds },
71
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
72
- })
73
- .catch(errorHandler([
74
- {
75
- code: 400,
76
- error: new OAuthConnectionNotFoundError(userId, Array.isArray(provider) ? provider.join(',') : provider || 'unknown'),
77
- errorInclFilter: 'User has not the needed calendars connected',
78
- },
79
- { code: 404, error: new UserNotFoundError(userId) },
80
- ]));
81
- }
82
- // ==========================================
83
- // MARK: Meta Event Operations (Cross-Calendar)
84
- // ==========================================
85
- /**
86
- * @param userId The ID of the user
87
- * @param metaId The meta ID of the event
88
- * @param options The options for the event query (optional)
89
- * @returns The event
90
- */
91
- async getEventByMetaId(userId, metaId, options) {
92
- const { provider, timeZone } = options || {};
93
- return this.fetchHelper
94
- .get(`/v1/users/${userId}/calendar/events/meta/${metaId}`, {
95
- schema: eventSchema,
96
- searchParams: { provider },
97
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
98
- })
99
- .catch(errorHandler([
100
- {
101
- code: 400,
102
- error: new OAuthConnectionNotFoundError(userId, Array.isArray(provider) ? provider.join(',') : provider || 'unknown'),
103
- },
104
- { code: 404, error: new UserNotFoundError(userId), errorInclFilter: 'User not found' },
105
- { code: 404, error: new EventNotFoundError(metaId) },
106
- ]));
107
- }
108
- /**
109
- * @param userId The ID of the user
110
- * @param newEvent The event to create
111
- * @param options The options for the event creation (optional)
112
- * @returns The created event
113
- */
114
- async createEventByMetaId(userId, newEvent, options) {
115
- const { provider, timeZone } = options || {};
116
- return this.fetchHelper
117
- .post(`/v1/users/${userId}/calendar/events/meta`, {
118
- schema: eventSchema,
119
- searchParams: { provider },
120
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
121
- body: newEvent,
122
- })
123
- .catch(errorHandler([
124
- {
125
- code: 400,
126
- error: new OAuthConnectionNotFoundError(userId, Array.isArray(provider) ? provider.join(',') : provider || 'unknown'),
127
- },
128
- { code: 404, error: new UserNotFoundError(userId) },
129
- ]));
130
- }
131
- /**
132
- * @param userId The ID of the user
133
- * @param metaId The meta ID of the event
134
- * @param updateEvent The updated event data
135
- * @param options The options for the event update (optional)
136
- * @returns The updated event
137
- */
138
- async updateEventByMetaId(userId, metaId, updateEvent, options) {
139
- const { provider, timeZone } = options || {};
140
- return this.fetchHelper
141
- .put(`/v1/users/${userId}/calendar/events/meta/${metaId}`, {
142
- schema: eventSchema,
143
- searchParams: { provider },
144
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
145
- body: updateEvent,
146
- })
147
- .catch(errorHandler([
148
- {
149
- code: 400,
150
- error: new OAuthConnectionNotFoundError(userId, Array.isArray(provider) ? provider.join(',') : provider || 'unknown'),
151
- },
152
- { code: 404, error: new UserNotFoundError(userId), errorInclFilter: 'User not found' },
153
- { code: 404, error: new EventNotFoundError(metaId) },
154
- ]));
155
- }
156
- /**
157
- * @param userId The ID of the user
158
- * @param metaId The meta ID of the event
159
- * @param options The options for the event deletion (optional)
160
- * @returns void
161
- */
162
- async deleteEventByMetaId(userId, metaId, options) {
163
- const { provider, timeZone } = options || {};
164
- return this.fetchHelper
165
- .delete(`/v1/users/${userId}/calendar/events/meta/${metaId}`, {
166
- searchParams: { provider },
167
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
168
- schema: T.Void(),
169
- })
170
- .catch(errorHandler([
171
- {
172
- code: 400,
173
- error: new OAuthConnectionNotFoundError(userId, Array.isArray(provider) ? provider.join(',') : provider || 'unknown'),
174
- },
175
- { code: 404, error: new UserNotFoundError(userId) },
176
- ]));
177
- }
178
- // ==========================================
179
- // MARK: Provider-Specific Event Operations
180
- // ==========================================
181
- /**
182
- * @param userId The ID of the user
183
- * @param provider The provider of the calendar
184
- * @param calendarId The ID of the calendar
185
- * @param eventId The ID of the event
186
- * @param options The options for the event query (optional)
187
- * @returns The event
188
- */
189
- async getEvent({ userId, provider, calendarId = 'primary', eventId, options, }) {
190
- const { timeZone } = options || {};
191
- return this.fetchHelper
192
- .get(`/v1/users/${userId}/calendar/events/${provider}/${calendarId}/${eventId}`, {
193
- schema: eventSchema,
194
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
195
- })
196
- .catch(errorHandler([
197
- {
198
- code: 400,
199
- error: new OAuthConnectionNotFoundError(userId, provider),
200
- errorInclFilter: 'User has not connected this calendar provider',
201
- },
202
- { code: 404, error: new UserNotFoundError(userId), errorInclFilter: 'User not found' },
203
- { code: 404, error: new EventNotFoundError(eventId), errorInclFilter: 'Event not found' },
204
- { code: 404, error: new ProviderCredentialsNotSetError(provider) },
205
- ]));
206
- }
207
- /**
208
- * @param userId The ID of the user
209
- * @param provider The provider of the calendar
210
- * @param calendarId The ID of the calendar
211
- * @param newEvent The event data to create
212
- * @param options The options for the event creation (optional)
213
- * @returns The created event
214
- */
215
- async createEvent({ userId, provider, calendarId = 'primary', newEvent: newEventData, options, }) {
216
- const { timeZone } = options || {};
217
- return this.fetchHelper
218
- .post(`/v1/users/${userId}/calendar/events/${provider}/${calendarId}`, {
219
- schema: eventSchema,
220
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
221
- body: newEventData,
222
- })
223
- .catch(errorHandler([
224
- {
225
- code: 400,
226
- error: new OAuthConnectionNotFoundError(userId, provider),
227
- errorInclFilter: 'User has not connected this calendar provider',
228
- },
229
- { code: 404, error: new UserNotFoundError(userId), errorInclFilter: 'User not found' },
230
- { code: 404, error: new ProviderCredentialsNotSetError(provider) },
231
- ]));
232
- }
233
- /**
234
- * @param userId The ID of the user
235
- * @param provider The provider of the calendar
236
- * @param calendarId The ID of the calendar
237
- * @param eventId The ID of the event
238
- * @param updateEvent The updated event data
239
- * @param options The options for the event update (optional)
240
- * @returns The updated event
241
- */
242
- async updateEvent({ userId, provider, calendarId = 'primary', eventId, updateEvent: updateEventData, options, }) {
243
- const { timeZone } = options || {};
244
- return this.fetchHelper
245
- .put(`/v1/users/${userId}/calendar/events/${provider}/${calendarId}/${eventId}`, {
246
- schema: eventSchema,
247
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
248
- body: updateEventData,
249
- })
250
- .catch(errorHandler([
251
- {
252
- code: 400,
253
- error: new OAuthConnectionNotFoundError(userId, provider),
254
- errorInclFilter: 'User has not connected this calendar provider',
255
- },
256
- { code: 404, error: new UserNotFoundError(userId), errorInclFilter: 'User not found' },
257
- { code: 404, error: new ProviderCredentialsNotSetError(provider) },
258
- ]));
259
- }
260
- /**
261
- * @param userId The ID of the user
262
- * @param provider The provider of the calendar
263
- * @param calendarId The ID of the calendar
264
- * @param eventId The ID of the event
265
- * @param options The options for the event deletion (optional)
266
- * @returns void
267
- */
268
- async deleteEvent({ userId, provider, calendarId = 'primary', eventId, options, }) {
269
- const { timeZone } = options || {};
270
- return this.fetchHelper
271
- .delete(`/v1/users/${userId}/calendar/events/${provider}/${calendarId}/${eventId}`, {
272
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
273
- schema: T.Void(),
274
- })
275
- .catch(errorHandler([
276
- {
277
- code: 400,
278
- error: new OAuthConnectionNotFoundError(userId, provider),
279
- errorInclFilter: 'User has not connected this calendar provider',
280
- },
281
- { code: 404, error: new UserNotFoundError(userId) },
282
- { code: 404, error: new EventNotFoundError(eventId) },
283
- ]));
284
- }
285
- // ==========================================
286
- // MARK: Organization-Wide Operations
287
- // ==========================================
288
- /**
289
- * Get the org-wide busy period
290
- * @param slug The slug of the organization
291
- * @param startDate The minimum date
292
- * @param endDate The maximum date
293
- * @param primaryOnly Whether to only include the primary calendar (default: true)
294
- * @param options The options for the org-wide free/busy query (optional)
295
- * @returns The org-wide free/busy period
296
- */
297
- async getOrgWideBusy(slug, startDate, endDate, primaryOnly, options) {
298
- const { provider, timeZone } = options || {};
299
- return this.fetchHelper
300
- .get(`/v1/organizations/${slug}/calendar/busy`, {
301
- schema: T.Array(timeRangeSchema),
302
- searchParams: { startDate, endDate, primaryOnly, provider },
303
- headers: timeZone ? { 'x-timezone': timeZone } : undefined,
304
- })
305
- .catch(errorHandler([
306
- {
307
- code: 400,
308
- error: new Error(`OAuth credentials for provider ${provider} not found for the user`),
309
- },
310
- { code: 404, error: new OrganizationNotFoundError(slug) },
311
- ]));
72
+ async listEvents(userId, options) {
73
+ const response = await sdk.getV1UsersUserIdCalendarEvents({
74
+ path: { userId },
75
+ query: options,
76
+ client: this.client,
77
+ });
78
+ return unwrapResponse(response);
312
79
  }
313
80
  }
314
81
  //# sourceMappingURL=calendar.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.service.js","sourceRoot":"","sources":["../../src/services/calendar.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.service.js","sourceRoot":"","sources":["../../src/services/calendar.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAA;AAMxC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;;GAIG;AACH,MAAM,OAAO,eAAe;IACJ;IAApB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEtC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,OAA+C;QACtE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC;YAChD,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;QACF,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAAkD;QACjF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,4BAA4B,CAAC;YACpD,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;QACF,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,OAAoD;QACjF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,8BAA8B,CAAC;YACtD,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;QACF,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ"}
@@ -0,0 +1,167 @@
1
+ import type { Client } from '../client/client';
2
+ import type { CreateEvent, CreateMetaEvent, PostV1UsersUserIdCalendarEventsMetaData, UpdateEvent } from '../client/types.gen';
3
+ /**
4
+ * Events Service
5
+ *
6
+ * Provides methods for managing calendar events
7
+ */
8
+ export declare class EventsService {
9
+ private client;
10
+ constructor(client: Client);
11
+ /**
12
+ * Create an event across all calendars by metaId
13
+ *
14
+ * @param userId - The user ID
15
+ * @param event - Event data
16
+ * @param options - Query options
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const event = await recal.events.createMetaEvent('user-123', {
21
+ * subject: 'Team Meeting',
22
+ * start: '2024-01-15T10:00:00Z',
23
+ * end: '2024-01-15T11:00:00Z',
24
+ * attendees: [{ email: 'team@example.com' }],
25
+ * meeting: true
26
+ * }, { provider: ['google'] })
27
+ * ```
28
+ */
29
+ createMetaEvent(userId: string, event: CreateMetaEvent, options?: PostV1UsersUserIdCalendarEventsMetaData['query']): Promise<import("../client").MetaEvent>;
30
+ /**
31
+ * Get an event by metaId
32
+ *
33
+ * @param userId - The user ID
34
+ * @param metaId - The event metaId
35
+ * @param options - Query options
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const event = await recal.events.getMetaEvent('user-123', 'meta-456')
40
+ * ```
41
+ */
42
+ getMetaEvent(userId: string, metaId: string, options?: {
43
+ provider?: Array<'google' | 'microsoft'> | 'google' | 'microsoft';
44
+ }): Promise<import("../client").MetaEvent>;
45
+ /**
46
+ * Update an event by metaId
47
+ *
48
+ * @param userId - The user ID
49
+ * @param metaId - The event metaId
50
+ * @param event - Updated event data
51
+ * @param options - Query options
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const updated = await recal.events.updateMetaEvent('user-123', 'meta-456', {
56
+ * subject: 'Updated Meeting',
57
+ * sendNotifications: true
58
+ * })
59
+ * ```
60
+ */
61
+ updateMetaEvent(userId: string, metaId: string, event: UpdateEvent, options?: {
62
+ provider?: Array<'google' | 'microsoft'> | 'google' | 'microsoft';
63
+ }): Promise<import("../client").MetaEvent>;
64
+ /**
65
+ * Delete an event by metaId
66
+ *
67
+ * @param userId - The user ID
68
+ * @param metaId - The event metaId
69
+ * @param options - Query options
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * await recal.events.deleteMetaEvent('user-123', 'meta-456')
74
+ * ```
75
+ */
76
+ deleteMetaEvent(userId: string, metaId: string, options?: {
77
+ provider?: Array<'google' | 'microsoft'> | 'google' | 'microsoft';
78
+ }): Promise<{
79
+ success: true;
80
+ }>;
81
+ /**
82
+ * Create an event in a specific calendar
83
+ *
84
+ * @param userId - The user ID
85
+ * @param provider - The calendar provider
86
+ * @param calendarId - The calendar ID
87
+ * @param event - Event data
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const event = await recal.events.createEvent(
92
+ * 'user-123',
93
+ * 'google',
94
+ * 'primary',
95
+ * {
96
+ * subject: 'Meeting',
97
+ * start: '2024-01-16T14:00:00Z',
98
+ * end: '2024-01-16T15:00:00Z',
99
+ * attendees: [{ email: 'team@example.com' }]
100
+ * }
101
+ * )
102
+ * ```
103
+ */
104
+ createEvent(userId: string, provider: 'google' | 'microsoft', calendarId: string, event: CreateEvent): Promise<import("..").Event>;
105
+ /**
106
+ * Get an event from a specific calendar
107
+ *
108
+ * @param userId - The user ID
109
+ * @param provider - The calendar provider
110
+ * @param calendarId - The calendar ID
111
+ * @param eventId - The event ID
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * const event = await recal.events.getEvent(
116
+ * 'user-123',
117
+ * 'google',
118
+ * 'primary',
119
+ * 'event-id'
120
+ * )
121
+ * ```
122
+ */
123
+ getEvent(userId: string, provider: 'google' | 'microsoft', calendarId: string, eventId: string): Promise<import("..").Event>;
124
+ /**
125
+ * Update an event in a specific calendar
126
+ *
127
+ * @param userId - The user ID
128
+ * @param provider - The calendar provider
129
+ * @param calendarId - The calendar ID
130
+ * @param eventId - The event ID
131
+ * @param event - Updated event data
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * const updated = await recal.events.updateEvent(
136
+ * 'user-123',
137
+ * 'google',
138
+ * 'primary',
139
+ * 'event-id',
140
+ * { subject: 'Updated Title' }
141
+ * )
142
+ * ```
143
+ */
144
+ updateEvent(userId: string, provider: 'google' | 'microsoft', calendarId: string, eventId: string, event: UpdateEvent): Promise<import("..").Event>;
145
+ /**
146
+ * Delete an event from a specific calendar
147
+ *
148
+ * @param userId - The user ID
149
+ * @param provider - The calendar provider
150
+ * @param calendarId - The calendar ID
151
+ * @param eventId - The event ID
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * await recal.events.deleteEvent(
156
+ * 'user-123',
157
+ * 'google',
158
+ * 'primary',
159
+ * 'event-id'
160
+ * )
161
+ * ```
162
+ */
163
+ deleteEvent(userId: string, provider: 'google' | 'microsoft', calendarId: string, eventId: string): Promise<{
164
+ success: true;
165
+ }>;
166
+ }
167
+ //# sourceMappingURL=events.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.service.d.ts","sourceRoot":"","sources":["../../src/services/events.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,EACR,WAAW,EACX,eAAe,EACf,uCAAuC,EACvC,WAAW,EACd,MAAM,qBAAqB,CAAA;AAG5B;;;;GAIG;AACH,qBAAa,aAAa;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;;;;;;;;;;;;OAiBG;IACG,eAAe,CACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,uCAAuC,CAAC,OAAO,CAAC;IAW9D;;;;;;;;;;;OAWG;IACG,YAAY,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,QAAQ,GAAG,WAAW,CAAA;KAAE;IAUnF;;;;;;;;;;;;;;;OAeG;IACG,eAAe,CACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,QAAQ,GAAG,WAAW,CAAA;KAAE;IAWnF;;;;;;;;;;;OAWG;IACG,eAAe,CACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,QAAQ,GAAG,WAAW,CAAA;KAAE;;;IAUnF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW;IAS1G;;;;;;;;;;;;;;;;;OAiBG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQpG;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW;IAUtB;;;;;;;;;;;;;;;;;OAiBG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;CAO1G"}