Refactor API
This commit is contained in:
parent
9c813cdfbe
commit
8aa4828239
21 changed files with 731 additions and 363 deletions
20
API/schemas/config.py
Normal file
20
API/schemas/config.py
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
from datetime import datetime
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
class ConfigCreate(BaseModel):
|
||||
name: str = Field(..., max_length=64)
|
||||
|
||||
class ConfigResponse(BaseModel):
|
||||
name: str
|
||||
config: str
|
||||
created_at: datetime
|
||||
bytes_used: int = 0
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
class ConfigDelete(BaseModel):
|
||||
name: str
|
||||
|
||||
class ConfigListResponse(BaseModel):
|
||||
configs: list[ConfigResponse]
|
||||
21
API/schemas/server.py
Normal file
21
API/schemas/server.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
from datetime import datetime
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
class ServerBase(BaseModel):
|
||||
name: str = Field(max_length=64)
|
||||
user: str = Field(max_length=64)
|
||||
password: str = Field(max_length=64)
|
||||
|
||||
class ServerAdd(ServerBase):
|
||||
port: int = Field(ge=1, le=65536)
|
||||
code: str = Field(max_length=128)
|
||||
inbound_id: int
|
||||
|
||||
class ServerDel(ServerBase):
|
||||
pass
|
||||
|
||||
class ServerInfo(BaseModel):
|
||||
id: int
|
||||
name: str = Field(max_length=64)
|
||||
code: str
|
||||
created_at: datetime
|
||||
21
API/schemas/user.py
Normal file
21
API/schemas/user.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
from datetime import datetime
|
||||
from pydantic import BaseModel, EmailStr, Field
|
||||
|
||||
class UserCreate(BaseModel):
|
||||
email: EmailStr = Field(max_length=256)
|
||||
password: str = Field(min_length=6, max_length=128)
|
||||
promo_code: str | None = Field(default="", max_length=128)
|
||||
|
||||
class UserLogin(BaseModel):
|
||||
email: EmailStr
|
||||
password: str
|
||||
|
||||
class UserTokenRevoke(BaseModel):
|
||||
token_to_revoke: str
|
||||
|
||||
class UserResponse(BaseModel):
|
||||
id: int
|
||||
email: EmailStr
|
||||
created_at: datetime
|
||||
access_token: str
|
||||
token_type: str = "bearer"
|
||||
Loading…
Add table
Add a link
Reference in a new issue