Spaces:
Running
Running
| from pydantic import BaseModel, EmailStr, Field | |
| from typing import Optional, List | |
| from datetime import datetime | |
| class UserBase(BaseModel): | |
| first_name: str = Field(..., min_length=1, max_length=50) | |
| last_name: str = Field(..., min_length=1, max_length=50) | |
| email: EmailStr | |
| age: Optional[int] = Field(None, ge=0, le=120) | |
| preferences: Optional[List[str]] = None | |
| class UserCreate(UserBase): | |
| password: str = Field(..., min_length=8) | |
| class UserUpdate(BaseModel): | |
| first_name: Optional[str] = Field(None, min_length=1, max_length=50) | |
| last_name: Optional[str] = Field(None, min_length=1, max_length=50) | |
| email: Optional[EmailStr] = None | |
| age: Optional[int] = Field(None, ge=0, le=120) | |
| preferences: Optional[List[str]] = None | |
| password: Optional[str] = Field(None, min_length=8) | |
| class User(UserBase): | |
| id: int | |
| is_active: bool | |
| is_admin: bool | |
| created_at: datetime | |
| updated_at: datetime | |
| class Config: | |
| orm_mode = True | |
| class UserEmbeddingsBase(BaseModel): | |
| embeddings: List[float] | |
| class UserEmbeddingsCreate(UserEmbeddingsBase): | |
| pass | |
| class UserEmbeddings(UserEmbeddingsBase): | |
| id: int | |
| user_id: int | |
| class Config: | |
| orm_mode = True | |