auth.py 853 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from pydantic import BaseModel
  2. class LoginRequest(BaseModel):
  3. username: str
  4. password: str
  5. class LoginResponse(BaseModel):
  6. access_token: str
  7. token_type: str = "bearer"
  8. user: "UserResponse"
  9. class UserCreate(BaseModel):
  10. username: str
  11. password: str
  12. role: str = "user"
  13. class UserUpdate(BaseModel):
  14. username: str | None = None
  15. password: str | None = None
  16. role: str | None = None
  17. is_active: bool | None = None
  18. class UserResponse(BaseModel):
  19. id: int
  20. username: str
  21. role: str
  22. is_active: bool
  23. created_at: str
  24. class Config:
  25. from_attributes = True
  26. class SetupRequest(BaseModel):
  27. auth_enabled: bool
  28. admin_username: str | None = None
  29. admin_password: str | None = None
  30. class SetupResponse(BaseModel):
  31. auth_enabled: bool
  32. admin_created: bool | None = None