작업 내용 저장
This commit is contained in:
+6
-71
@@ -51,8 +51,7 @@ class AuthTokenResponse(BaseModel):
|
||||
name: str
|
||||
token_prefix: str
|
||||
permission: Literal["read", "trade-write", "admin"]
|
||||
token_type: Literal["session", "client", "bot"]
|
||||
bot_principal_id: str | None = None
|
||||
token_type: Literal["session", "client", "service"]
|
||||
expires_at: datetime | None = None
|
||||
last_used_at: datetime | None = None
|
||||
revoked_at: datetime | None = None
|
||||
@@ -65,86 +64,22 @@ class IssuedClientTokenResponse(BaseModel):
|
||||
auth_token: AuthTokenResponse
|
||||
|
||||
|
||||
class CreateBotPrincipalRequest(BaseModel):
|
||||
name: str = Field(min_length=1)
|
||||
owner_user_id: str = Field(min_length=1)
|
||||
permission: Literal["read", "trade-write"]
|
||||
description: str | None = None
|
||||
|
||||
@field_validator("name")
|
||||
@classmethod
|
||||
def normalize_bot_name(cls, value: str) -> str:
|
||||
normalized = value.strip()
|
||||
if not normalized:
|
||||
raise ValueError("name은 비어 있을 수 없습니다")
|
||||
return normalized
|
||||
|
||||
@field_validator("owner_user_id")
|
||||
@classmethod
|
||||
def normalize_owner_user_id(cls, value: str) -> str:
|
||||
normalized = value.strip()
|
||||
if not normalized:
|
||||
raise ValueError("owner_user_id는 비어 있을 수 없습니다")
|
||||
return normalized
|
||||
|
||||
|
||||
class CreateSelfBotPrincipalRequest(BaseModel):
|
||||
name: str = Field(min_length=1)
|
||||
permission: Literal["read", "trade-write"]
|
||||
description: str | None = None
|
||||
|
||||
@field_validator("name")
|
||||
@classmethod
|
||||
def normalize_bot_name(cls, value: str) -> str:
|
||||
normalized = value.strip()
|
||||
if not normalized:
|
||||
raise ValueError("name은 비어 있을 수 없습니다")
|
||||
return normalized
|
||||
|
||||
|
||||
class BotPrincipalResponse(BaseModel):
|
||||
id: str
|
||||
name: str
|
||||
owner_user_id: str
|
||||
permission: Literal["read", "trade-write"]
|
||||
description: str | None = None
|
||||
is_active: bool
|
||||
created_at: datetime | None = None
|
||||
updated_at: datetime | None = None
|
||||
deactivated_at: datetime | None = None
|
||||
|
||||
|
||||
class CreateBotTokenRequest(BaseModel):
|
||||
name: str = Field(min_length=1)
|
||||
permission: Literal["read", "trade-write"] | None = None
|
||||
expires_in_days: int | None = Field(default=None, ge=1, le=3650)
|
||||
no_expiry: bool = False
|
||||
|
||||
@field_validator("name")
|
||||
@classmethod
|
||||
def normalize_token_name(cls, value: str) -> str:
|
||||
normalized = value.strip()
|
||||
if not normalized:
|
||||
raise ValueError("name은 비어 있을 수 없습니다")
|
||||
return normalized
|
||||
|
||||
|
||||
class IssuedBotTokenResponse(BaseModel):
|
||||
class IssuedServiceToken(BaseModel):
|
||||
token: str
|
||||
token_type: Literal["bearer"] = "bearer"
|
||||
auth_token: AuthTokenResponse
|
||||
|
||||
|
||||
class BotTokenIssueCliResponse(BaseModel):
|
||||
bot_id: str
|
||||
class ServiceTokenIssueCliResponse(BaseModel):
|
||||
token_id: str
|
||||
name: str
|
||||
expires_at: datetime | None = None
|
||||
revoked: bool
|
||||
token: str | None = None
|
||||
|
||||
|
||||
class BotTokenRevokeCliResponse(BaseModel):
|
||||
bot_id: str
|
||||
class ServiceTokenRevokeCliResponse(BaseModel):
|
||||
token_id: str
|
||||
name: str
|
||||
revoked: bool
|
||||
revoked_at: datetime | None = None
|
||||
Reference in New Issue
Block a user