from pydantic import BaseModel from typing import Optional, List from datetime import datetime from decimal import Decimal class UserBase(BaseModel): email: str name: str department_id: Optional[str] = None role_id: Optional[str] = None skills: Optional[List[str]] = None capacity: Optional[Decimal] = Decimal("40.00") class UserCreate(UserBase): pass class UserUpdate(BaseModel): name: Optional[str] = None department_id: Optional[str] = None role_id: Optional[str] = None skills: Optional[List[str]] = None capacity: Optional[Decimal] = None is_active: Optional[bool] = None class UserResponse(UserBase): id: str is_active: bool is_system_admin: bool created_at: datetime updated_at: datetime class Config: from_attributes = True class UserInDB(UserResponse): pass