@@ -213,8 +213,32 @@ class StartLinkUserOptions(BaseModel):
213213 authorization_params : Optional [dict [str , Any ]] = None
214214 app_state : Optional [Any ] = None
215215
216- class ConnectParams (BaseModel ):
217- ticket : str
216+ # BASE & SHARED
217+ class ConnectedAccountBase (BaseModel ):
218+ id : str
219+ connection : str
220+ access_type : str
221+ scopes : list [str ]
222+ created_at : str
223+ expires_at : Optional [str ] = None
224+
225+ # ENTITIES (What exists)
226+ class ConnectedAccount (ConnectedAccountBase ):
227+ id : str
228+ connection : str
229+ access_type : str
230+ scopes : list [str ]
231+ created_at : str
232+ expires_at : Optional [str ] = None
233+
234+
235+ class ConnectedAccountConnection (BaseModel ):
236+ name : str
237+ strategy : str
238+ scopes : Optional [list [str ]] = None
239+
240+
241+ # Connect Operations (How to connect)
218242
219243class ConnectAccountOptions (BaseModel ):
220244 connection : str
@@ -232,6 +256,9 @@ class ConnectAccountRequest(BaseModel):
232256 code_challenge_method : Optional [str ] = 'S256'
233257 authorization_params : Optional [dict [str , Any ]] = None
234258
259+ class ConnectParams (BaseModel ):
260+ ticket : str
261+
235262class ConnectAccountResponse (BaseModel ):
236263 auth_session : str
237264 connect_uri : str
@@ -244,32 +271,15 @@ class CompleteConnectAccountRequest(BaseModel):
244271 redirect_uri : str
245272 code_verifier : Optional [str ] = None
246273
247- class CompleteConnectAccountResponse (BaseModel ):
248- id : str
249- connection : str
250- access_type : str
251- scopes : list [str ]
252- created_at : str
253- expires_at : Optional [str ] = None
274+ class CompleteConnectAccountResponse (ConnectedAccountBase ):
254275 app_state : Optional [Any ] = None
255276
256- class ConnectedAccount (BaseModel ):
257- id : str
258- connection : str
259- access_type : str
260- scopes : list [str ]
261- created_at : str
262- expires_at : Optional [str ] = None
263-
277+ # Manage operations
264278class ListConnectedAccountsResponse (BaseModel ):
265279 accounts : list [ConnectedAccount ]
266280 next : Optional [str ] = None
267281
268- class ConnectedAccountConnection (BaseModel ):
269- name : str
270- strategy : str
271- scopes : Optional [list [str ]] = None
272-
273282class ListConnectedAccountConnectionsResponse (BaseModel ):
274283 connections : list [ConnectedAccountConnection ]
275284 next : Optional [str ] = None
285+
0 commit comments