diff --git a/schemas/user.py b/schemas/user.py index 637083d..390d373 100644 --- a/schemas/user.py +++ b/schemas/user.py @@ -1,38 +1,32 @@ -from pydantic import BaseModel, Field, EmailStr +from pydantic import BaseModel, Field from typing import Optional from datetime import datetime class UserBase(BaseModel): - username: str = Field(..., min_length=3, max_length=50) - email: EmailStr = Field(...) + session_token: Optional[str] = Field(None, unique=True) + is_logged_in: bool = Field(default=False) + last_logout: Optional[datetime] = None + last_login: Optional[datetime] = None class UserCreate(UserBase): - password: str = Field(..., min_length=8, max_length=100) - class Config: schema_extra = { "example": { - "username": "johndoe", - "email": "john@example.com", - "password": "securepass123" + "session_token": "abc123xyz789", + "is_logged_in": False, + "last_logout": "2023-01-01T12:00:00", + "last_login": "2023-01-01T10:00:00" } } -class UserResponse(UserBase): - is_active: bool = True - is_logged_in: bool = False - last_logout: Optional[datetime] = None - session_token: Optional[str] = None - +class User(UserBase): class Config: orm_mode = True schema_extra = { "example": { - "username": "johndoe", - "email": "john@example.com", - "is_active": True, - "is_logged_in": False, - "last_logout": "2023-01-01T00:00:00", - "session_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9" + "session_token": "abc123xyz789", + "is_logged_in": True, + "last_logout": "2023-01-01T18:00:00", + "last_login": "2023-01-01T09:00:00" } } \ No newline at end of file