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,168 +1,192 @@
1
- import { Type as T } from '@sinclair/typebox';
2
- import { OAuthConnectionNotFoundError, ProviderCredentialsNotSetError, UserNotFoundError } from '../errors.js';
3
- import { oauthConnectionSchema, oauthLinkSchema } from '../typebox/oauth.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
+ * OAuth Service
5
+ *
6
+ * Provides methods for managing OAuth connections
7
+ */
5
8
  export class OAuthService {
6
- fetchHelper;
7
- constructor(fetchHelper) {
8
- this.fetchHelper = fetchHelper;
9
+ client;
10
+ constructor(client) {
11
+ this.client = client;
9
12
  }
10
13
  /**
11
14
  * Get all OAuth connections for a user
12
- * @param userId The ID of the user
13
- * @param redacted Whether to redact the OAuth connections
14
- * @returns An array of OAuth connections
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 getAllConnections(userId, redacted = true) {
17
- return this.fetchHelper
18
- .get(`/v1/users/${userId}/oauth`, {
19
- schema: T.Array(oauthConnectionSchema),
20
- searchParams: { redacted },
21
- })
22
- .catch(errorHandler([{ code: 404, error: new UserNotFoundError(userId) }]));
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 OAuth connection for a specific provider
26
- * @param userId The ID of the user
27
- * @param provider The provider of the OAuth connection
28
- * @param redacted Whether to redact the OAuth connection
29
- * @returns The OAuth connection
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 getConnection(userId, provider, redacted = true) {
32
- return this.fetchHelper
33
- .get(`/v1/users/${userId}/oauth/${provider}`, {
34
- schema: oauthConnectionSchema,
35
- searchParams: { redacted },
36
- })
37
- .catch(errorHandler([
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
- * Get OAuth authorization URLs for all providers
48
- * @param userId The ID of the user
49
- * @param options Options for the OAuth authorization URLs
50
- * @returns An array of OAuth authorization URLs
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 getBulkLinks(userId, options) {
53
- return this.fetchHelper
54
- .get(`/v1/users/${userId}/oauth/links`, {
55
- schema: T.Array(oauthLinkSchema),
56
- searchParams: {
57
- provider: options?.provider,
58
- scope: options?.scope,
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
- * Get OAuth authorization URL for a specific provider
66
- * @param userId The ID of the user
67
- * @param provider The provider of the OAuth connection
68
- * @param options Options for the OAuth authorization URL
69
- * @returns The OAuth authorization URL
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 getLink(userId, provider, options) {
72
- const response = await this.fetchHelper
73
- .get(`/v1/users/${userId}/oauth/${provider}/link`, {
74
- schema: T.Object({ url: T.String() }),
75
- searchParams: {
76
- scope: options?.scope,
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
- * Set OAuth tokens for a provider
93
- * @param userId The ID of the user
94
- * @param provider The provider of the OAuth connection
95
- * @param connection The OAuth connection to set
96
- * @returns The OAuth connection
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 setConnection(userId, provider, connection) {
99
- return this.fetchHelper
100
- .post(`/v1/users/${userId}/oauth/${provider}`, {
101
- schema: oauthConnectionSchema,
102
- body: connection,
103
- })
104
- .catch(errorHandler([
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
- * Delete OAuth connection for a provider
115
- * @param userId The ID of the user
116
- * @param provider The provider of the OAuth connection
117
- * @returns Promise that resolves when the connection is deleted
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 disconnect(userId, provider) {
120
- await this.fetchHelper
121
- .delete(`/v1/users/${userId}/oauth/${provider}`, {
122
- schema: T.Object({ success: T.Boolean() }),
123
- })
124
- .catch(errorHandler([
125
- {
126
- code: 404,
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
- * Verify OAuth code (used in OAuth callback flow)
135
- * @param provider The provider of the OAuth connection
136
- * @param code The OAuth code
137
- * @param scope The OAuth scope (free-busy or edit)
138
- * @param state The OAuth state
139
- * @param redirectUrl The redirect URL
140
- * @returns The OAuth verification result
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 verify({ provider, code, scope, state, redirectUrl, }) {
143
- return this.fetchHelper
144
- .post(`/v1/users/oauth/${provider}/verify`, {
145
- body: { code, scope, state },
146
- schema: T.Object({ success: T.Boolean() }),
147
- searchParams: { redirectUrl },
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":"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"}
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 { Organization } from '../entities/organization.js';
2
- import { User } from '../entities/user.js';
3
- import { type FetchHelper } from '../utils/fetch.helper.js';
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 fetchHelper;
6
- constructor(fetchHelper: FetchHelper);
9
+ private client;
10
+ constructor(client: Client);
7
11
  /**
8
12
  * List all organizations
9
- * @returns An array of organizations
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const orgs = await recal.organizations.list()
17
+ * ```
10
18
  */
11
- listAll(): Promise<Organization[]>;
12
- listAllFromUser(userId: string): Promise<Organization[] | null>;
19
+ list(): Promise<import("..").Organization[]>;
13
20
  /**
14
21
  * Get an organization by slug
15
- * @param slug The slug of the organization
16
- * @returns The organization
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 an organization
21
- * @param slug The slug of the organization
22
- * @param name The name of the organization
23
- * @returns The created organization
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
- * @param slug The slug of the organization
29
- * @param updatedOrganizationData The updated organization data
30
- * @returns The updated organization
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, updatedOrganizationData: {
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
- * @param slug The slug of the organization
39
- * @returns The deleted organization
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 the members of an organization
44
- * @param slug The slug of the organization
45
- * @returns The members of the organization
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<User[]>;
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
- * @param slug The slug of the organization
51
- * @param userIds The IDs of the users to add
52
- * @returns The added users
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<unknown>;
102
+ addMembers(slug: string, userIds: string[]): Promise<string>;
55
103
  /**
56
104
  * Remove members from an organization
57
- * @param slug The slug of the organization
58
- * @param userIds The IDs of the users to remove
59
- * @returns Success message
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":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAIzC,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAExE,qBAAa,oBAAoB;IACjB,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE5C;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQlC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;IAS5E;;;;OAIG;IACU,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IASrD;;;;;OAKG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAUtE;;;;;OAKG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,uBAAuB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAejH;;;;OAIG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IASxD;;;;OAIG;IACU,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAStD;;;;;OAKG;IACU,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;IAQvD;;;;;OAKG;IACU,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ/E"}
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"}