Files
railway_cloud/app/schemas/account.py
2025-09-27 11:42:26 +08:00

47 lines
1.2 KiB
Python

from pydantic import BaseModel, Field
from typing import Optional
from datetime import datetime
class AccountBase(BaseModel):
username: str
password: str
status: Optional[int] = 1
today_updated: Optional[int] = 0
project_name: Optional[str] = None
class AccountCreate(AccountBase):
pass
class AccountUpdate(BaseModel):
username: Optional[str] = None
password: Optional[str] = None
status: Optional[int] = None
today_updated: Optional[int] = None
project_name: Optional[str] = None
class AccountResponse(AccountBase):
account_id: int = Field(alias="id")
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
populate_by_name = True
class AccountListRequest(BaseModel):
skip: Optional[int] = 0
limit: Optional[int] = 100
class AccountGetRequest(BaseModel):
account_id: Optional[int] = None
username: Optional[str] = None
project_name: Optional[str] = None
status: Optional[int] = None
today_updated: Optional[int] = None
class AccountUpdateRequest(BaseModel):
account_id: int
account_data: AccountUpdate
class AccountDeleteRequest(BaseModel):
account_id: int