main
py 38 lines 1.1 KB
Raw
1 from enum import StrEnum
2 from typing import Any
3 from uuid import UUID
4
5 from pydantic import BaseModel, Field
6
7
8 class ConnectorState(StrEnum):
9 STARTING = "STARTING"
10 AUTHENTICATION_REQUIRED = "AUTHENTICATION_REQUIRED"
11 AUTHENTICATING = "AUTHENTICATING"
12 CONNECTED = "CONNECTED"
13 SESSION_EXPIRED = "SESSION_EXPIRED"
14 DEGRADED = "DEGRADED"
15 STOPPING = "STOPPING"
16 STOPPED = "STOPPED"
17 ERROR = "ERROR"
18
19
20 class CreateConnectorRequest(BaseModel):
21 connector_id: UUID = Field(alias="connectorId")
22 user_id: UUID = Field(alias="userId")
23
24
25 class ConnectorStatusResponse(BaseModel):
26 connector_id: UUID = Field(alias="connectorId")
27 user_id: UUID = Field(alias="userId")
28 runtime_status: ConnectorState = Field(alias="runtimeStatus")
29 auth_status: ConnectorState = Field(alias="authStatus")
30 heartbeat_at: str | None = Field(default=None, alias="heartbeatAt")
31 authenticated_at: str | None = Field(default=None, alias="authenticatedAt")
32 login_url: str | None = Field(default=None, alias="loginUrl")
33 code: str
34 message: str
35
36
37 class GatewayPayload(BaseModel):
38 data: Any