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.
- package/README.md +24 -792
- package/dist/client/client/client.gen.d.ts +3 -0
- package/dist/client/client/client.gen.d.ts.map +1 -0
- package/dist/client/client/client.gen.js +205 -0
- package/dist/client/client/client.gen.js.map +1 -0
- package/dist/client/client/index.d.ts +9 -0
- package/dist/client/client/index.d.ts.map +1 -0
- package/dist/client/client/index.js +7 -0
- package/dist/client/client/index.js.map +1 -0
- package/dist/client/client/types.gen.d.ts +125 -0
- package/dist/client/client/types.gen.d.ts.map +1 -0
- package/dist/client/client/types.gen.js +3 -0
- package/dist/client/client/types.gen.js.map +1 -0
- package/dist/client/client/utils.gen.d.ts +34 -0
- package/dist/client/client/utils.gen.d.ts.map +1 -0
- package/dist/client/client/utils.gen.js +232 -0
- package/dist/client/client/utils.gen.js.map +1 -0
- package/dist/client/client.gen.d.ts +13 -0
- package/dist/client/client.gen.d.ts.map +1 -0
- package/dist/client/client.gen.js +6 -0
- package/dist/client/client.gen.js.map +1 -0
- package/dist/client/core/auth.gen.d.ts +19 -0
- package/dist/client/core/auth.gen.d.ts.map +1 -0
- package/dist/client/core/auth.gen.js +15 -0
- package/dist/client/core/auth.gen.js.map +1 -0
- package/dist/client/core/bodySerializer.gen.d.ts +26 -0
- package/dist/client/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/client/core/bodySerializer.gen.js +58 -0
- package/dist/client/core/bodySerializer.gen.js.map +1 -0
- package/dist/client/core/params.gen.d.ts +34 -0
- package/dist/client/core/params.gen.d.ts.map +1 -0
- package/dist/client/core/params.gen.js +89 -0
- package/dist/client/core/params.gen.js.map +1 -0
- package/dist/client/core/pathSerializer.gen.d.ts +34 -0
- package/dist/client/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/client/core/pathSerializer.gen.js +115 -0
- package/dist/client/core/pathSerializer.gen.js.map +1 -0
- package/dist/client/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/client/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/client/core/queryKeySerializer.gen.js +100 -0
- package/dist/client/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/client/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/client/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/client/core/serverSentEvents.gen.js +136 -0
- package/dist/client/core/serverSentEvents.gen.js.map +1 -0
- package/dist/client/core/types.gen.d.ts +79 -0
- package/dist/client/core/types.gen.d.ts.map +1 -0
- package/dist/client/core/types.gen.js +3 -0
- package/dist/client/core/types.gen.js.map +1 -0
- package/dist/client/core/utils.gen.d.ts +20 -0
- package/dist/client/core/utils.gen.d.ts.map +1 -0
- package/dist/client/core/utils.gen.js +88 -0
- package/dist/client/core/utils.gen.js.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/sdk.gen.d.ts +170 -0
- package/dist/client/sdk.gen.d.ts.map +1 -0
- package/dist/client/sdk.gen.js +884 -0
- package/dist/client/sdk.gen.js.map +1 -0
- package/dist/client/transformers.gen.d.ts +31 -0
- package/dist/client/transformers.gen.d.ts.map +1 -0
- package/dist/client/transformers.gen.js +263 -0
- package/dist/client/transformers.gen.js.map +1 -0
- package/dist/client/types.gen.d.ts +1765 -0
- package/dist/client/types.gen.d.ts.map +1 -0
- package/dist/client/types.gen.js +3 -0
- package/dist/client/types.gen.js.map +1 -0
- package/dist/client/zod.gen.d.ts +1457 -0
- package/dist/client/zod.gen.d.ts.map +1 -0
- package/dist/client/zod.gen.js +1214 -0
- package/dist/client/zod.gen.js.map +1 -0
- package/dist/index.d.ts +5 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -55
- package/dist/index.js.map +1 -1
- package/dist/recal.d.ts +64 -0
- package/dist/recal.d.ts.map +1 -0
- package/dist/recal.js +81 -0
- package/dist/recal.js.map +1 -0
- package/dist/services/calendar.service.d.ts +55 -167
- package/dist/services/calendar.service.d.ts.map +1 -1
- package/dist/services/calendar.service.js +68 -301
- package/dist/services/calendar.service.js.map +1 -1
- package/dist/services/events.service.d.ts +167 -0
- package/dist/services/events.service.d.ts.map +1 -0
- package/dist/services/events.service.js +215 -0
- package/dist/services/events.service.js.map +1 -0
- package/dist/services/oauth.service.d.ts +123 -60
- package/dist/services/oauth.service.d.ts.map +1 -1
- package/dist/services/oauth.service.js +166 -142
- package/dist/services/oauth.service.js.map +1 -1
- package/dist/services/organizations.service.d.ts +137 -36
- package/dist/services/organizations.service.d.ts.map +1 -1
- package/dist/services/organizations.service.js +164 -90
- package/dist/services/organizations.service.js.map +1 -1
- package/dist/services/scheduling.service.d.ts +121 -58
- package/dist/services/scheduling.service.d.ts.map +1 -1
- package/dist/services/scheduling.service.js +98 -140
- package/dist/services/scheduling.service.js.map +1 -1
- package/dist/services/users.service.d.ts +87 -27
- package/dist/services/users.service.d.ts.map +1 -1
- package/dist/services/users.service.js +94 -69
- package/dist/services/users.service.js.map +1 -1
- package/dist/types.d.ts +68 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/response.d.ts +33 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +54 -0
- package/dist/utils/response.js.map +1 -0
- package/package.json +5 -2
- package/dist/entities/organization.d.ts +0 -21
- package/dist/entities/organization.d.ts.map +0 -1
- package/dist/entities/organization.js +0 -32
- package/dist/entities/organization.js.map +0 -1
- package/dist/entities/user.d.ts +0 -23
- package/dist/entities/user.d.ts.map +0 -1
- package/dist/entities/user.js +0 -45
- package/dist/entities/user.js.map +0 -1
- package/dist/errors.d.ts +0 -22
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -36
- package/dist/errors.js.map +0 -1
- package/dist/typebox/calendar.tb.d.ts +0 -113
- package/dist/typebox/calendar.tb.d.ts.map +0 -1
- package/dist/typebox/calendar.tb.js +0 -92
- package/dist/typebox/calendar.tb.js.map +0 -1
- package/dist/typebox/oauth.tb.d.ts +0 -14
- package/dist/typebox/oauth.tb.d.ts.map +0 -1
- package/dist/typebox/oauth.tb.js +0 -16
- package/dist/typebox/oauth.tb.js.map +0 -1
- package/dist/typebox/organization.stripped.tb.d.ts +0 -6
- package/dist/typebox/organization.stripped.tb.d.ts.map +0 -1
- package/dist/typebox/organization.stripped.tb.js +0 -7
- package/dist/typebox/organization.stripped.tb.js.map +0 -1
- package/dist/typebox/organization.tb.d.ts +0 -10
- package/dist/typebox/organization.tb.d.ts.map +0 -1
- package/dist/typebox/organization.tb.js +0 -8
- package/dist/typebox/organization.tb.js.map +0 -1
- package/dist/typebox/scheduling.tb.d.ts +0 -107
- package/dist/typebox/scheduling.tb.d.ts.map +0 -1
- package/dist/typebox/scheduling.tb.js +0 -105
- package/dist/typebox/scheduling.tb.js.map +0 -1
- package/dist/typebox/timeString.tb.d.ts +0 -3
- package/dist/typebox/timeString.tb.d.ts.map +0 -1
- package/dist/typebox/timeString.tb.js +0 -7
- package/dist/typebox/timeString.tb.js.map +0 -1
- package/dist/typebox/user.stripped.tb.d.ts +0 -5
- package/dist/typebox/user.stripped.tb.d.ts.map +0 -1
- package/dist/typebox/user.stripped.tb.js +0 -6
- package/dist/typebox/user.stripped.tb.js.map +0 -1
- package/dist/typebox/user.tb.d.ts +0 -19
- package/dist/typebox/user.tb.d.ts.map +0 -1
- package/dist/typebox/user.tb.js +0 -10
- package/dist/typebox/user.tb.js.map +0 -1
- package/dist/types/calendar.types.d.ts +0 -124
- package/dist/types/calendar.types.d.ts.map +0 -1
- package/dist/types/calendar.types.js +0 -27
- package/dist/types/calendar.types.js.map +0 -1
- package/dist/types/internal.types.d.ts +0 -7
- package/dist/types/internal.types.d.ts.map +0 -1
- package/dist/types/internal.types.js +0 -2
- package/dist/types/internal.types.js.map +0 -1
- package/dist/types/oauth.types.d.ts +0 -22
- package/dist/types/oauth.types.d.ts.map +0 -1
- package/dist/types/oauth.types.js +0 -2
- package/dist/types/oauth.types.js.map +0 -1
- package/dist/types/organization.types.d.ts +0 -18
- package/dist/types/organization.types.d.ts.map +0 -1
- package/dist/types/organization.types.js +0 -2
- package/dist/types/organization.types.js.map +0 -1
- package/dist/types/scheduling.types.d.ts +0 -50
- package/dist/types/scheduling.types.d.ts.map +0 -1
- package/dist/types/scheduling.types.js +0 -2
- package/dist/types/scheduling.types.js.map +0 -1
- package/dist/types/user.types.d.ts +0 -11
- package/dist/types/user.types.d.ts.map +0 -1
- package/dist/types/user.types.js +0 -2
- package/dist/types/user.types.js.map +0 -1
- package/dist/utils/fetch.helper.d.ts +0 -62
- package/dist/utils/fetch.helper.d.ts.map +0 -1
- package/dist/utils/fetch.helper.js +0 -116
- package/dist/utils/fetch.helper.js.map +0 -1
- package/dist/utils/fetchErrorHandler.d.ts +0 -22
- package/dist/utils/fetchErrorHandler.d.ts.map +0 -1
- package/dist/utils/fetchErrorHandler.js +0 -35
- package/dist/utils/fetchErrorHandler.js.map +0 -1
- package/dist/utils/includes.helper.d.ts +0 -4
- package/dist/utils/includes.helper.d.ts.map +0 -1
- package/dist/utils/includes.helper.js +0 -10
- package/dist/utils/includes.helper.js.map +0 -1
- package/dist/utils/omit.d.ts +0 -2
- package/dist/utils/omit.d.ts.map +0 -1
- package/dist/utils/omit.js +0 -4
- package/dist/utils/omit.js.map +0 -1
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import * as sdk from '../client/sdk.gen';
|
|
2
|
+
import { unwrapResponse } from '../utils/response';
|
|
3
|
+
/**
|
|
4
|
+
* Events Service
|
|
5
|
+
*
|
|
6
|
+
* Provides methods for managing calendar events
|
|
7
|
+
*/
|
|
8
|
+
export class EventsService {
|
|
9
|
+
client;
|
|
10
|
+
constructor(client) {
|
|
11
|
+
this.client = client;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create an event across all calendars by metaId
|
|
15
|
+
*
|
|
16
|
+
* @param userId - The user ID
|
|
17
|
+
* @param event - Event data
|
|
18
|
+
* @param options - Query options
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const event = await recal.events.createMetaEvent('user-123', {
|
|
23
|
+
* subject: 'Team Meeting',
|
|
24
|
+
* start: '2024-01-15T10:00:00Z',
|
|
25
|
+
* end: '2024-01-15T11:00:00Z',
|
|
26
|
+
* attendees: [{ email: 'team@example.com' }],
|
|
27
|
+
* meeting: true
|
|
28
|
+
* }, { provider: ['google'] })
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
async createMetaEvent(userId, event, options) {
|
|
32
|
+
const response = await sdk.postV1UsersUserIdCalendarEventsMeta({
|
|
33
|
+
path: { userId },
|
|
34
|
+
body: event,
|
|
35
|
+
query: options,
|
|
36
|
+
client: this.client,
|
|
37
|
+
});
|
|
38
|
+
return unwrapResponse(response);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get an event by metaId
|
|
42
|
+
*
|
|
43
|
+
* @param userId - The user ID
|
|
44
|
+
* @param metaId - The event metaId
|
|
45
|
+
* @param options - Query options
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const event = await recal.events.getMetaEvent('user-123', 'meta-456')
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
async getMetaEvent(userId, metaId, options) {
|
|
53
|
+
const response = await sdk.getV1UsersUserIdCalendarEventsMetaMetaId({
|
|
54
|
+
path: { userId, metaId },
|
|
55
|
+
query: options,
|
|
56
|
+
client: this.client,
|
|
57
|
+
});
|
|
58
|
+
return unwrapResponse(response);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Update an event by metaId
|
|
62
|
+
*
|
|
63
|
+
* @param userId - The user ID
|
|
64
|
+
* @param metaId - The event metaId
|
|
65
|
+
* @param event - Updated event data
|
|
66
|
+
* @param options - Query options
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const updated = await recal.events.updateMetaEvent('user-123', 'meta-456', {
|
|
71
|
+
* subject: 'Updated Meeting',
|
|
72
|
+
* sendNotifications: true
|
|
73
|
+
* })
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
async updateMetaEvent(userId, metaId, event, options) {
|
|
77
|
+
const response = await sdk.putV1UsersUserIdCalendarEventsMetaMetaId({
|
|
78
|
+
path: { userId, metaId },
|
|
79
|
+
body: event,
|
|
80
|
+
query: options,
|
|
81
|
+
client: this.client,
|
|
82
|
+
});
|
|
83
|
+
return unwrapResponse(response);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Delete an event by metaId
|
|
87
|
+
*
|
|
88
|
+
* @param userId - The user ID
|
|
89
|
+
* @param metaId - The event metaId
|
|
90
|
+
* @param options - Query options
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* await recal.events.deleteMetaEvent('user-123', 'meta-456')
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
async deleteMetaEvent(userId, metaId, options) {
|
|
98
|
+
const response = await sdk.deleteV1UsersUserIdCalendarEventsMetaMetaId({
|
|
99
|
+
path: { userId, metaId },
|
|
100
|
+
query: options,
|
|
101
|
+
client: this.client,
|
|
102
|
+
});
|
|
103
|
+
return unwrapResponse(response);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Create an event in a specific calendar
|
|
107
|
+
*
|
|
108
|
+
* @param userId - The user ID
|
|
109
|
+
* @param provider - The calendar provider
|
|
110
|
+
* @param calendarId - The calendar ID
|
|
111
|
+
* @param event - Event data
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const event = await recal.events.createEvent(
|
|
116
|
+
* 'user-123',
|
|
117
|
+
* 'google',
|
|
118
|
+
* 'primary',
|
|
119
|
+
* {
|
|
120
|
+
* subject: 'Meeting',
|
|
121
|
+
* start: '2024-01-16T14:00:00Z',
|
|
122
|
+
* end: '2024-01-16T15:00:00Z',
|
|
123
|
+
* attendees: [{ email: 'team@example.com' }]
|
|
124
|
+
* }
|
|
125
|
+
* )
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
async createEvent(userId, provider, calendarId, event) {
|
|
129
|
+
const response = await sdk.postV1UsersUserIdCalendarEventsProviderCalendarId({
|
|
130
|
+
path: { userId, provider, calendarId },
|
|
131
|
+
body: event,
|
|
132
|
+
client: this.client,
|
|
133
|
+
});
|
|
134
|
+
return unwrapResponse(response);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get an event from a specific calendar
|
|
138
|
+
*
|
|
139
|
+
* @param userId - The user ID
|
|
140
|
+
* @param provider - The calendar provider
|
|
141
|
+
* @param calendarId - The calendar ID
|
|
142
|
+
* @param eventId - The event ID
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```typescript
|
|
146
|
+
* const event = await recal.events.getEvent(
|
|
147
|
+
* 'user-123',
|
|
148
|
+
* 'google',
|
|
149
|
+
* 'primary',
|
|
150
|
+
* 'event-id'
|
|
151
|
+
* )
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
async getEvent(userId, provider, calendarId, eventId) {
|
|
155
|
+
const response = await sdk.getV1UsersUserIdCalendarEventsProviderCalendarIdEventId({
|
|
156
|
+
path: { userId, provider, calendarId, eventId },
|
|
157
|
+
client: this.client,
|
|
158
|
+
});
|
|
159
|
+
return unwrapResponse(response);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Update an event in a specific calendar
|
|
163
|
+
*
|
|
164
|
+
* @param userId - The user ID
|
|
165
|
+
* @param provider - The calendar provider
|
|
166
|
+
* @param calendarId - The calendar ID
|
|
167
|
+
* @param eventId - The event ID
|
|
168
|
+
* @param event - Updated event data
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const updated = await recal.events.updateEvent(
|
|
173
|
+
* 'user-123',
|
|
174
|
+
* 'google',
|
|
175
|
+
* 'primary',
|
|
176
|
+
* 'event-id',
|
|
177
|
+
* { subject: 'Updated Title' }
|
|
178
|
+
* )
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
async updateEvent(userId, provider, calendarId, eventId, event) {
|
|
182
|
+
const response = await sdk.putV1UsersUserIdCalendarEventsProviderCalendarIdEventId({
|
|
183
|
+
path: { userId, provider, calendarId, eventId },
|
|
184
|
+
body: event,
|
|
185
|
+
client: this.client,
|
|
186
|
+
});
|
|
187
|
+
return unwrapResponse(response);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Delete an event from a specific calendar
|
|
191
|
+
*
|
|
192
|
+
* @param userId - The user ID
|
|
193
|
+
* @param provider - The calendar provider
|
|
194
|
+
* @param calendarId - The calendar ID
|
|
195
|
+
* @param eventId - The event ID
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```typescript
|
|
199
|
+
* await recal.events.deleteEvent(
|
|
200
|
+
* 'user-123',
|
|
201
|
+
* 'google',
|
|
202
|
+
* 'primary',
|
|
203
|
+
* 'event-id'
|
|
204
|
+
* )
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
async deleteEvent(userId, provider, calendarId, eventId) {
|
|
208
|
+
const response = await sdk.deleteV1UsersUserIdCalendarEventsProviderCalendarIdEventId({
|
|
209
|
+
path: { userId, provider, calendarId, eventId },
|
|
210
|
+
client: this.client,
|
|
211
|
+
});
|
|
212
|
+
return unwrapResponse(response);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=events.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.service.js","sourceRoot":"","sources":["../../src/services/events.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,79 +1,142 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
1
|
+
import type { Client } from '../client/client';
|
|
2
|
+
import type { GetV1UsersUserIdOauthData, GetV1UsersUserIdOauthLinksData, GetV1UsersUserIdOauthProviderData, GetV1UsersUserIdOauthProviderLinkData, PostV1UsersOauthProviderVerifyData, PostV1UsersUserIdOauthProviderData } from '../client/types.gen';
|
|
3
|
+
/**
|
|
4
|
+
* OAuth Service
|
|
5
|
+
*
|
|
6
|
+
* Provides methods for managing OAuth connections
|
|
7
|
+
*/
|
|
4
8
|
export declare class OAuthService {
|
|
5
|
-
private
|
|
6
|
-
constructor(
|
|
9
|
+
private client;
|
|
10
|
+
constructor(client: Client);
|
|
7
11
|
/**
|
|
8
12
|
* Get all OAuth connections for a user
|
|
9
|
-
*
|
|
10
|
-
* @param
|
|
11
|
-
* @
|
|
13
|
+
*
|
|
14
|
+
* @param userId - The user ID
|
|
15
|
+
* @param options - Query options
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const connections = await recal.oauth.list('user-123', {
|
|
20
|
+
* showToken: 'true'
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
12
23
|
*/
|
|
13
|
-
|
|
24
|
+
list(userId: string, options?: GetV1UsersUserIdOauthData['query']): Promise<import("..").AuthConnection[]>;
|
|
14
25
|
/**
|
|
15
|
-
* Get
|
|
16
|
-
*
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @
|
|
26
|
+
* Get a specific OAuth connection
|
|
27
|
+
*
|
|
28
|
+
* @param userId - The user ID
|
|
29
|
+
* @param provider - The OAuth provider
|
|
30
|
+
* @param options - Query options
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const connection = await recal.oauth.get('user-123', 'google')
|
|
35
|
+
* ```
|
|
20
36
|
*/
|
|
21
|
-
|
|
37
|
+
get(userId: string, provider: 'google' | 'microsoft', options?: GetV1UsersUserIdOauthProviderData['query']): Promise<import("..").AuthConnection>;
|
|
22
38
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @param
|
|
26
|
-
* @
|
|
39
|
+
* Create a new OAuth connection
|
|
40
|
+
*
|
|
41
|
+
* @param userId - The user ID
|
|
42
|
+
* @param provider - The OAuth provider
|
|
43
|
+
* @param data - OAuth connection data
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const connection = await recal.oauth.create('user-123', 'google', {
|
|
48
|
+
* accessToken: 'token',
|
|
49
|
+
* refreshToken: 'refresh',
|
|
50
|
+
* email: 'user@gmail.com',
|
|
51
|
+
* expiresAt: '2024-12-31T23:59:59Z',
|
|
52
|
+
* scope: ['calendar.readonly']
|
|
53
|
+
* })
|
|
54
|
+
* ```
|
|
27
55
|
*/
|
|
28
|
-
|
|
29
|
-
provider?: Provider | Provider[];
|
|
30
|
-
scope?: ('edit' | 'free-busy')[];
|
|
31
|
-
accessType?: 'offline' | 'online';
|
|
32
|
-
}): Promise<OAuthLink[]>;
|
|
56
|
+
create(userId: string, provider: 'google' | 'microsoft', data: NonNullable<PostV1UsersUserIdOauthProviderData['body']>): Promise<import("..").AuthConnection>;
|
|
33
57
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* @param
|
|
37
|
-
* @param
|
|
38
|
-
*
|
|
58
|
+
* Delete an OAuth connection
|
|
59
|
+
*
|
|
60
|
+
* @param userId - The user ID
|
|
61
|
+
* @param provider - The OAuth provider
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* await recal.oauth.delete('user-123', 'google')
|
|
66
|
+
* ```
|
|
39
67
|
*/
|
|
40
|
-
|
|
41
|
-
scope?: ('edit' | 'free-busy')[];
|
|
42
|
-
accessType?: 'offline' | 'online';
|
|
43
|
-
redirectUrl?: string;
|
|
44
|
-
}): Promise<OAuthLink>;
|
|
68
|
+
delete(userId: string, provider: 'google' | 'microsoft'): Promise<unknown>;
|
|
45
69
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* @param
|
|
49
|
-
* @param
|
|
50
|
-
*
|
|
70
|
+
* Get OAuth authorization URLs for all providers
|
|
71
|
+
*
|
|
72
|
+
* @param userId - The user ID
|
|
73
|
+
* @param options - OAuth options
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* const links = await recal.oauth.getAuthLinks('user-123', {
|
|
78
|
+
* provider: 'google',
|
|
79
|
+
* accessType: 'offline',
|
|
80
|
+
* scope: 'edit'
|
|
81
|
+
* })
|
|
82
|
+
* ```
|
|
51
83
|
*/
|
|
52
|
-
|
|
84
|
+
getAuthLinks(userId: string, options: GetV1UsersUserIdOauthLinksData['query']): Promise<{
|
|
85
|
+
link: string;
|
|
86
|
+
provider: "google" | "microsoft";
|
|
87
|
+
}[]>;
|
|
88
|
+
/**
|
|
89
|
+
* Get OAuth authorization URL for a specific provider
|
|
90
|
+
*
|
|
91
|
+
* @param userId - The user ID
|
|
92
|
+
* @param provider - The OAuth provider
|
|
93
|
+
* @param options - OAuth options
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* const link = await recal.oauth.getAuthLink('user-123', 'google', {
|
|
98
|
+
* provider: 'google',
|
|
99
|
+
* accessType: 'offline',
|
|
100
|
+
* scope: 'edit',
|
|
101
|
+
* redirectUrl: 'https://app.com/callback'
|
|
102
|
+
* })
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
getAuthLink(userId: string, provider: 'google' | 'microsoft', options: GetV1UsersUserIdOauthProviderLinkData['query']): Promise<{
|
|
106
|
+
link: string;
|
|
107
|
+
}>;
|
|
53
108
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* @param provider The
|
|
57
|
-
* @
|
|
109
|
+
* Verify an OAuth authorization code
|
|
110
|
+
*
|
|
111
|
+
* @param provider - The OAuth provider
|
|
112
|
+
* @param data - Verification data
|
|
113
|
+
* @param options - Query options
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* await recal.oauth.verifyCode('google', {
|
|
118
|
+
* code: 'auth-code',
|
|
119
|
+
* state: 'state-token',
|
|
120
|
+
* scope: ['calendar.edit']
|
|
121
|
+
* }, {
|
|
122
|
+
* redirectUrl: 'https://app.com/callback'
|
|
123
|
+
* })
|
|
124
|
+
* ```
|
|
58
125
|
*/
|
|
59
|
-
|
|
126
|
+
verifyCode(provider: 'google' | 'microsoft', data: NonNullable<PostV1UsersOauthProviderVerifyData['body']>, options?: PostV1UsersOauthProviderVerifyData['query']): Promise<unknown>;
|
|
60
127
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* @param
|
|
64
|
-
* @param
|
|
65
|
-
*
|
|
66
|
-
* @
|
|
67
|
-
*
|
|
128
|
+
* Get a fresh access token for a user
|
|
129
|
+
*
|
|
130
|
+
* @param userId - The user ID
|
|
131
|
+
* @param provider - The OAuth provider
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* const token = await recal.oauth.getFreshAccessToken('user-123', 'google')
|
|
136
|
+
* ```
|
|
68
137
|
*/
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
code: string;
|
|
72
|
-
scope: ('edit' | 'free-busy')[];
|
|
73
|
-
state: string;
|
|
74
|
-
redirectUrl?: string;
|
|
75
|
-
}): Promise<{
|
|
76
|
-
success: boolean;
|
|
138
|
+
getFreshAccessToken(userId: string, provider: 'google' | 'microsoft'): Promise<{
|
|
139
|
+
accessToken: string;
|
|
77
140
|
}>;
|
|
78
141
|
}
|
|
79
142
|
//# sourceMappingURL=oauth.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,EACR,yBAAyB,EACzB,8BAA8B,EAC9B,iCAAiC,EACjC,qCAAqC,EACrC,kCAAkC,EAClC,kCAAkC,EACrC,MAAM,qBAAqB,CAAA;AAG5B;;;;GAIG;AACH,qBAAa,YAAY;IACT,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC;IASvE;;;;;;;;;;;OAWG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,iCAAiC,CAAC,OAAO,CAAC;IAShH;;;;;;;;;;;;;;;;;OAiBG;IACG,MAAM,CACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAChC,IAAI,EAAE,WAAW,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAUjE;;;;;;;;;;OAUG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW;IAQ7D;;;;;;;;;;;;;;OAcG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,CAAC,OAAO,CAAC;;;;IASnF;;;;;;;;;;;;;;;;OAgBG;IACG,WAAW,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAChC,OAAO,EAAE,qCAAqC,CAAC,OAAO,CAAC;;;IAU3D;;;;;;;;;;;;;;;;;OAiBG;IACG,UAAU,CACZ,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAChC,IAAI,EAAE,WAAW,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC,EAC7D,OAAO,CAAC,EAAE,kCAAkC,CAAC,OAAO,CAAC;IAWzD;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW;;;CAO7E"}
|