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
|
@@ -1,168 +1,192 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import * as sdk from '../client/sdk.gen';
|
|
2
|
+
import { unwrapResponse } from '../utils/response';
|
|
3
|
+
/**
|
|
4
|
+
* OAuth Service
|
|
5
|
+
*
|
|
6
|
+
* Provides methods for managing OAuth connections
|
|
7
|
+
*/
|
|
5
8
|
export class OAuthService {
|
|
6
|
-
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
9
|
+
client;
|
|
10
|
+
constructor(client) {
|
|
11
|
+
this.client = client;
|
|
9
12
|
}
|
|
10
13
|
/**
|
|
11
14
|
* Get all OAuth connections for a user
|
|
12
|
-
*
|
|
13
|
-
* @param
|
|
14
|
-
* @
|
|
15
|
+
*
|
|
16
|
+
* @param userId - The user ID
|
|
17
|
+
* @param options - Query options
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const connections = await recal.oauth.list('user-123', {
|
|
22
|
+
* showToken: 'true'
|
|
23
|
+
* })
|
|
24
|
+
* ```
|
|
15
25
|
*/
|
|
16
|
-
async
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
})
|
|
22
|
-
|
|
26
|
+
async list(userId, options) {
|
|
27
|
+
const response = await sdk.getV1UsersUserIdOauth({
|
|
28
|
+
path: { userId },
|
|
29
|
+
query: options,
|
|
30
|
+
client: this.client,
|
|
31
|
+
});
|
|
32
|
+
return unwrapResponse(response);
|
|
23
33
|
}
|
|
24
34
|
/**
|
|
25
|
-
* Get
|
|
26
|
-
*
|
|
27
|
-
* @param
|
|
28
|
-
* @param
|
|
29
|
-
* @
|
|
35
|
+
* Get a specific OAuth connection
|
|
36
|
+
*
|
|
37
|
+
* @param userId - The user ID
|
|
38
|
+
* @param provider - The OAuth provider
|
|
39
|
+
* @param options - Query options
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const connection = await recal.oauth.get('user-123', 'google')
|
|
44
|
+
* ```
|
|
30
45
|
*/
|
|
31
|
-
async
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
{
|
|
39
|
-
code: 404,
|
|
40
|
-
errorInclFilter: 'OAuth connection not found',
|
|
41
|
-
error: new OAuthConnectionNotFoundError(userId, provider),
|
|
42
|
-
},
|
|
43
|
-
{ code: 404, error: new UserNotFoundError(userId) },
|
|
44
|
-
]));
|
|
46
|
+
async get(userId, provider, options) {
|
|
47
|
+
const response = await sdk.getV1UsersUserIdOauthProvider({
|
|
48
|
+
path: { userId, provider },
|
|
49
|
+
query: options,
|
|
50
|
+
client: this.client,
|
|
51
|
+
});
|
|
52
|
+
return unwrapResponse(response);
|
|
45
53
|
}
|
|
46
54
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* @param
|
|
50
|
-
* @
|
|
55
|
+
* Create a new OAuth connection
|
|
56
|
+
*
|
|
57
|
+
* @param userId - The user ID
|
|
58
|
+
* @param provider - The OAuth provider
|
|
59
|
+
* @param data - OAuth connection data
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const connection = await recal.oauth.create('user-123', 'google', {
|
|
64
|
+
* accessToken: 'token',
|
|
65
|
+
* refreshToken: 'refresh',
|
|
66
|
+
* email: 'user@gmail.com',
|
|
67
|
+
* expiresAt: '2024-12-31T23:59:59Z',
|
|
68
|
+
* scope: ['calendar.readonly']
|
|
69
|
+
* })
|
|
70
|
+
* ```
|
|
51
71
|
*/
|
|
52
|
-
async
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
accessType: options?.accessType,
|
|
60
|
-
},
|
|
61
|
-
})
|
|
62
|
-
.catch(errorHandler([{ code: 404, error: new UserNotFoundError(userId) }]));
|
|
72
|
+
async create(userId, provider, data) {
|
|
73
|
+
const response = await sdk.postV1UsersUserIdOauthProvider({
|
|
74
|
+
path: { userId, provider },
|
|
75
|
+
body: data,
|
|
76
|
+
client: this.client,
|
|
77
|
+
});
|
|
78
|
+
return unwrapResponse(response);
|
|
63
79
|
}
|
|
64
80
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* @param
|
|
68
|
-
* @param
|
|
69
|
-
*
|
|
81
|
+
* Delete an OAuth connection
|
|
82
|
+
*
|
|
83
|
+
* @param userId - The user ID
|
|
84
|
+
* @param provider - The OAuth provider
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* await recal.oauth.delete('user-123', 'google')
|
|
89
|
+
* ```
|
|
70
90
|
*/
|
|
71
|
-
async
|
|
72
|
-
const response = await
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
accessType: options?.accessType,
|
|
78
|
-
redirectUrl: options?.redirectUrl,
|
|
79
|
-
},
|
|
80
|
-
})
|
|
81
|
-
.catch(errorHandler([
|
|
82
|
-
{
|
|
83
|
-
code: 404,
|
|
84
|
-
errorInclFilter: 'OAuth credentials not found',
|
|
85
|
-
error: new ProviderCredentialsNotSetError(provider),
|
|
86
|
-
},
|
|
87
|
-
{ code: 404, error: new UserNotFoundError(userId) },
|
|
88
|
-
]));
|
|
89
|
-
return { provider, url: response.url };
|
|
91
|
+
async delete(userId, provider) {
|
|
92
|
+
const response = await sdk.deleteV1UsersUserIdOauthProvider({
|
|
93
|
+
path: { userId, provider },
|
|
94
|
+
client: this.client,
|
|
95
|
+
});
|
|
96
|
+
return unwrapResponse(response);
|
|
90
97
|
}
|
|
91
98
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
* @param
|
|
95
|
-
* @param
|
|
96
|
-
*
|
|
99
|
+
* Get OAuth authorization URLs for all providers
|
|
100
|
+
*
|
|
101
|
+
* @param userId - The user ID
|
|
102
|
+
* @param options - OAuth options
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const links = await recal.oauth.getAuthLinks('user-123', {
|
|
107
|
+
* provider: 'google',
|
|
108
|
+
* accessType: 'offline',
|
|
109
|
+
* scope: 'edit'
|
|
110
|
+
* })
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
async getAuthLinks(userId, options) {
|
|
114
|
+
const response = await sdk.getV1UsersUserIdOauthLinks({
|
|
115
|
+
path: { userId },
|
|
116
|
+
query: options,
|
|
117
|
+
client: this.client,
|
|
118
|
+
});
|
|
119
|
+
return unwrapResponse(response);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get OAuth authorization URL for a specific provider
|
|
123
|
+
*
|
|
124
|
+
* @param userId - The user ID
|
|
125
|
+
* @param provider - The OAuth provider
|
|
126
|
+
* @param options - OAuth options
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* const link = await recal.oauth.getAuthLink('user-123', 'google', {
|
|
131
|
+
* provider: 'google',
|
|
132
|
+
* accessType: 'offline',
|
|
133
|
+
* scope: 'edit',
|
|
134
|
+
* redirectUrl: 'https://app.com/callback'
|
|
135
|
+
* })
|
|
136
|
+
* ```
|
|
97
137
|
*/
|
|
98
|
-
async
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
{
|
|
106
|
-
code: 404,
|
|
107
|
-
errorInclFilter: 'OAuth connection not found',
|
|
108
|
-
error: new OAuthConnectionNotFoundError(userId, provider),
|
|
109
|
-
},
|
|
110
|
-
{ code: 404, error: new UserNotFoundError(userId) },
|
|
111
|
-
]));
|
|
138
|
+
async getAuthLink(userId, provider, options) {
|
|
139
|
+
const response = await sdk.getV1UsersUserIdOauthProviderLink({
|
|
140
|
+
path: { userId, provider },
|
|
141
|
+
query: options,
|
|
142
|
+
client: this.client,
|
|
143
|
+
});
|
|
144
|
+
return unwrapResponse(response);
|
|
112
145
|
}
|
|
113
146
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
* @param provider The
|
|
117
|
-
* @
|
|
147
|
+
* Verify an OAuth authorization code
|
|
148
|
+
*
|
|
149
|
+
* @param provider - The OAuth provider
|
|
150
|
+
* @param data - Verification data
|
|
151
|
+
* @param options - Query options
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* await recal.oauth.verifyCode('google', {
|
|
156
|
+
* code: 'auth-code',
|
|
157
|
+
* state: 'state-token',
|
|
158
|
+
* scope: ['calendar.edit']
|
|
159
|
+
* }, {
|
|
160
|
+
* redirectUrl: 'https://app.com/callback'
|
|
161
|
+
* })
|
|
162
|
+
* ```
|
|
118
163
|
*/
|
|
119
|
-
async
|
|
120
|
-
await
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
.
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
errorInclFilter: 'OAuth connection not found',
|
|
128
|
-
error: new OAuthConnectionNotFoundError(userId, provider),
|
|
129
|
-
},
|
|
130
|
-
{ code: 404, error: new UserNotFoundError(userId) },
|
|
131
|
-
]));
|
|
164
|
+
async verifyCode(provider, data, options) {
|
|
165
|
+
const response = await sdk.postV1UsersOauthProviderVerify({
|
|
166
|
+
path: { provider },
|
|
167
|
+
body: data,
|
|
168
|
+
query: options,
|
|
169
|
+
client: this.client,
|
|
170
|
+
});
|
|
171
|
+
return unwrapResponse(response);
|
|
132
172
|
}
|
|
133
173
|
/**
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
* @param
|
|
137
|
-
* @param
|
|
138
|
-
*
|
|
139
|
-
* @
|
|
140
|
-
*
|
|
174
|
+
* Get a fresh access token for a user
|
|
175
|
+
*
|
|
176
|
+
* @param userId - The user ID
|
|
177
|
+
* @param provider - The OAuth provider
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```typescript
|
|
181
|
+
* const token = await recal.oauth.getFreshAccessToken('user-123', 'google')
|
|
182
|
+
* ```
|
|
141
183
|
*/
|
|
142
|
-
async
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
})
|
|
149
|
-
.catch(errorHandler([
|
|
150
|
-
{
|
|
151
|
-
code: 404,
|
|
152
|
-
errorInclFilter: 'OAuth authorization provider not found',
|
|
153
|
-
error: new ProviderCredentialsNotSetError(provider),
|
|
154
|
-
},
|
|
155
|
-
{ code: 404, error: new UserNotFoundError('User not found in state parameter') },
|
|
156
|
-
{
|
|
157
|
-
code: 400,
|
|
158
|
-
errorInclFilter: 'OAuth credentials not configured',
|
|
159
|
-
error: new ProviderCredentialsNotSetError(provider),
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
code: 400,
|
|
163
|
-
error: new Error('Invalid OAuth verification request'),
|
|
164
|
-
},
|
|
165
|
-
]));
|
|
184
|
+
async getFreshAccessToken(userId, provider) {
|
|
185
|
+
const response = await sdk.getV1UsersUserIdOauthProviderToken({
|
|
186
|
+
path: { userId, provider },
|
|
187
|
+
client: this.client,
|
|
188
|
+
});
|
|
189
|
+
return unwrapResponse(response);
|
|
166
190
|
}
|
|
167
191
|
}
|
|
168
192
|
//# sourceMappingURL=oauth.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.service.js","sourceRoot":"","sources":["../../src/services/oauth.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.service.js","sourceRoot":"","sources":["../../src/services/oauth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,63 +1,164 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type { Client } from '../client/client';
|
|
2
|
+
import type { GetV1OrganizationsOrgSlugCalendarBusyData, GetV1OrganizationsOrgSlugMembersData, GetV1OrganizationsOrgSlugSchedulingData } from '../client/types.gen';
|
|
3
|
+
/**
|
|
4
|
+
* Organizations Service
|
|
5
|
+
*
|
|
6
|
+
* Provides methods for managing organizations
|
|
7
|
+
*/
|
|
4
8
|
export declare class OrganizationsService {
|
|
5
|
-
private
|
|
6
|
-
constructor(
|
|
9
|
+
private client;
|
|
10
|
+
constructor(client: Client);
|
|
7
11
|
/**
|
|
8
12
|
* List all organizations
|
|
9
|
-
*
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const orgs = await recal.organizations.list()
|
|
17
|
+
* ```
|
|
10
18
|
*/
|
|
11
|
-
|
|
12
|
-
listAllFromUser(userId: string): Promise<Organization[] | null>;
|
|
19
|
+
list(): Promise<import("..").Organization[]>;
|
|
13
20
|
/**
|
|
14
21
|
* Get an organization by slug
|
|
15
|
-
*
|
|
16
|
-
* @
|
|
22
|
+
*
|
|
23
|
+
* @param slug - The organization slug
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const org = await recal.organizations.get('acme-corp')
|
|
28
|
+
* ```
|
|
17
29
|
*/
|
|
18
|
-
get(slug: string): Promise<Organization>;
|
|
30
|
+
get(slug: string): Promise<import("..").Organization>;
|
|
19
31
|
/**
|
|
20
|
-
* Create
|
|
21
|
-
*
|
|
22
|
-
* @param
|
|
23
|
-
* @
|
|
32
|
+
* Create a new organization
|
|
33
|
+
*
|
|
34
|
+
* @param slug - The organization slug
|
|
35
|
+
* @param name - The organization name
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const org = await recal.organizations.create('acme-corp', 'Acme Corporation')
|
|
40
|
+
* ```
|
|
24
41
|
*/
|
|
25
|
-
create(slug: string, name: string): Promise<Organization>;
|
|
42
|
+
create(slug: string, name: string | null): Promise<import("..").Organization>;
|
|
26
43
|
/**
|
|
27
44
|
* Update an organization
|
|
28
|
-
*
|
|
29
|
-
* @param
|
|
30
|
-
* @
|
|
45
|
+
*
|
|
46
|
+
* @param slug - The organization slug
|
|
47
|
+
* @param data - Updated organization data
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const org = await recal.organizations.update('acme-corp', {
|
|
52
|
+
* slug: 'acme-corp',
|
|
53
|
+
* name: 'Acme Corp (Updated)'
|
|
54
|
+
* })
|
|
55
|
+
* ```
|
|
31
56
|
*/
|
|
32
|
-
update(slug: string,
|
|
57
|
+
update(slug: string, data: {
|
|
33
58
|
slug: string;
|
|
34
|
-
name: string;
|
|
35
|
-
}): Promise<Organization>;
|
|
59
|
+
name: string | null;
|
|
60
|
+
}): Promise<import("..").Organization>;
|
|
36
61
|
/**
|
|
37
62
|
* Delete an organization
|
|
38
|
-
*
|
|
39
|
-
* @
|
|
63
|
+
*
|
|
64
|
+
* @param slug - The organization slug
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* await recal.organizations.delete('acme-corp')
|
|
69
|
+
* ```
|
|
40
70
|
*/
|
|
41
|
-
delete(slug: string): Promise<Organization>;
|
|
71
|
+
delete(slug: string): Promise<import("..").Organization>;
|
|
42
72
|
/**
|
|
43
|
-
* Get
|
|
44
|
-
*
|
|
45
|
-
* @
|
|
73
|
+
* Get all members of an organization
|
|
74
|
+
*
|
|
75
|
+
* @param slug - The organization slug
|
|
76
|
+
* @param options - Query options
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const members = await recal.organizations.getMembers('acme-corp', {
|
|
81
|
+
* include: ['oauthConnections']
|
|
82
|
+
* })
|
|
83
|
+
* ```
|
|
46
84
|
*/
|
|
47
|
-
getMembers(slug: string): Promise<
|
|
85
|
+
getMembers(slug: string, options?: GetV1OrganizationsOrgSlugMembersData['query']): Promise<{
|
|
86
|
+
createdAt: Date;
|
|
87
|
+
id: string;
|
|
88
|
+
oauthConnections?: Array<import("..").AuthConnection>;
|
|
89
|
+
organizations?: Array<import("..").Organization>;
|
|
90
|
+
}[]>;
|
|
48
91
|
/**
|
|
49
92
|
* Add members to an organization
|
|
50
|
-
*
|
|
51
|
-
* @param
|
|
52
|
-
* @
|
|
93
|
+
*
|
|
94
|
+
* @param slug - The organization slug
|
|
95
|
+
* @param userIds - Array of user IDs to add
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* await recal.organizations.addMembers('acme-corp', ['user-1', 'user-2'])
|
|
100
|
+
* ```
|
|
53
101
|
*/
|
|
54
|
-
addMembers(slug: string, userIds: string[]): Promise<
|
|
102
|
+
addMembers(slug: string, userIds: string[]): Promise<string>;
|
|
55
103
|
/**
|
|
56
104
|
* Remove members from an organization
|
|
57
|
-
*
|
|
58
|
-
* @param
|
|
59
|
-
* @
|
|
105
|
+
*
|
|
106
|
+
* @param slug - The organization slug
|
|
107
|
+
* @param userIds - Array of user IDs to remove
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* await recal.organizations.removeMembers('acme-corp', ['user-1'])
|
|
112
|
+
* ```
|
|
60
113
|
*/
|
|
61
114
|
removeMembers(slug: string, userIds: string[]): Promise<string>;
|
|
115
|
+
/**
|
|
116
|
+
* Get consolidated busy times for all users in an organization
|
|
117
|
+
*
|
|
118
|
+
* @param slug - The organization slug
|
|
119
|
+
* @param options - Query options with time range
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const busy = await recal.organizations.getBusyTimes('acme-corp', {
|
|
124
|
+
* start: '2024-01-01T00:00:00Z',
|
|
125
|
+
* end: '2024-01-31T23:59:59Z',
|
|
126
|
+
* provider: 'google'
|
|
127
|
+
* })
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
getBusyTimes(slug: string, options: GetV1OrganizationsOrgSlugCalendarBusyData['query']): Promise<import("..").TimeRange[]>;
|
|
131
|
+
/**
|
|
132
|
+
* Get available time slots for all users in an organization
|
|
133
|
+
*
|
|
134
|
+
* @param slug - The organization slug
|
|
135
|
+
* @param options - Scheduling options
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const slots = await recal.organizations.getScheduling('acme-corp', {
|
|
140
|
+
* start: '2024-01-15T00:00:00Z',
|
|
141
|
+
* end: '2024-01-19T23:59:59Z',
|
|
142
|
+
* slotDuration: '30',
|
|
143
|
+
* padding: '15'
|
|
144
|
+
* })
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
getScheduling(slug: string, options: GetV1OrganizationsOrgSlugSchedulingData['query']): Promise<{
|
|
148
|
+
availableSlots: Array<{
|
|
149
|
+
end: Date;
|
|
150
|
+
start: Date;
|
|
151
|
+
userId: string;
|
|
152
|
+
}>;
|
|
153
|
+
options: {
|
|
154
|
+
end: Date;
|
|
155
|
+
maxOverlaps: number;
|
|
156
|
+
padding: number;
|
|
157
|
+
slotDuration: number;
|
|
158
|
+
start: Date;
|
|
159
|
+
earliestTimeEachDay?: string;
|
|
160
|
+
latestTimeEachDay?: string;
|
|
161
|
+
};
|
|
162
|
+
}>;
|
|
62
163
|
}
|
|
63
164
|
//# sourceMappingURL=organizations.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizations.service.d.ts","sourceRoot":"","sources":["../../src/services/organizations.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"organizations.service.d.ts","sourceRoot":"","sources":["../../src/services/organizations.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,EACR,yCAAyC,EACzC,oCAAoC,EACpC,uCAAuC,EAC1C,MAAM,qBAAqB,CAAA;AAG5B;;;;GAIG;AACH,qBAAa,oBAAoB;IACjB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;;OAOG;IACG,IAAI;IAKV;;;;;;;;;OASG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM;IAQtB;;;;;;;;;;OAUG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ9C;;;;;;;;;;;;;OAaG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAStE;;;;;;;;;OASG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM;IAQzB;;;;;;;;;;;;OAYG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oCAAoC,CAAC,OAAO,CAAC;;;;;;IAStF;;;;;;;;;;OAUG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;IAShD;;;;;;;;;;OAUG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;IASnD;;;;;;;;;;;;;;OAcG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,yCAAyC,CAAC,OAAO,CAAC;IAS5F;;;;;;;;;;;;;;;OAeG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uCAAuC,CAAC,OAAO,CAAC;;;;;;;;;;;;+BASmzO,CAAC;6BAA0K,CAAC;;;CAD7jP"}
|