56 行
974 B
Python
56 行
974 B
Python
from __future__ import annotations
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class LoginRequest(BaseModel):
|
|
username: str
|
|
password: str
|
|
|
|
|
|
class LoginResponse(BaseModel):
|
|
access_token: str
|
|
token_type: str = "bearer"
|
|
|
|
|
|
class UserInfo(BaseModel):
|
|
id: int
|
|
username: str
|
|
display_name: str | None
|
|
role: str
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class ChangePasswordRequest(BaseModel):
|
|
old_password: str
|
|
new_password: str
|
|
|
|
|
|
class CreateUserRequest(BaseModel):
|
|
username: str
|
|
password: str
|
|
display_name: str | None = None
|
|
role: str = "editor"
|
|
|
|
|
|
class UpdateUserRequest(BaseModel):
|
|
display_name: str | None = None
|
|
role: str | None = None
|
|
is_active: bool | None = None
|
|
|
|
|
|
class ResetPasswordRequest(BaseModel):
|
|
new_password: str
|
|
|
|
|
|
class UserListResponse(BaseModel):
|
|
id: int
|
|
username: str
|
|
display_name: str | None
|
|
role: str
|
|
is_active: bool
|
|
|
|
class Config:
|
|
from_attributes = True
|