feat: track imported accounts per upstream key across platforms

Add upstream_key_account_links table mapping generated keys to remote
accounts per website/platform, surface imported_accounts on key
responses, and update website sync/routers to manage the links.
This commit is contained in:
liujing
2026-07-23 17:52:58 +08:00
parent ee89cd6119
commit df7e400e7b
17 changed files with 1081 additions and 537 deletions
+15
View File
@@ -134,6 +134,20 @@ class GenerateKeysByGroupsRequest(BaseModel):
endpoint: str = "/keys"
class UpstreamKeyAccountLinkResponse(BaseModel):
id: int
upstream_key_id: int
website_id: int
target_group: str
platform: str
remote_account_id: str
status: str
created_at: Optional[datetime] = None
updated_at: Optional[datetime] = None
model_config = {"from_attributes": True}
class GeneratedUpstreamKeyResponse(BaseModel):
id: Optional[int] = None
upstream_id: int
@@ -151,6 +165,7 @@ class GeneratedUpstreamKeyResponse(BaseModel):
created_at: Optional[datetime] = None
updated_at: Optional[datetime] = None
has_key_value: bool = False
imported_accounts: list[UpstreamKeyAccountLinkResponse] = Field(default_factory=list)
class GenerateKeysByGroupsResponse(BaseModel):