esta todo ok

This commit is contained in:
2025-11-19 11:33:57 -03:00
parent 4670366ffc
commit 57ad12754f
7 changed files with 550 additions and 8 deletions

View File

@@ -2,12 +2,46 @@ from pydantic import BaseModel, EmailStr, Field
from typing import Optional, List
from datetime import datetime
# Role Schemas
class RoleBase(BaseModel):
name: str
display_name: str
description: Optional[str] = None
can_manage_users: bool = False
can_manage_roles: bool = False
can_manage_checklists: bool = False
can_create_inspections: bool = False
can_view_all_inspections: bool = False
can_view_reports: bool = False
can_deactivate_inspections: bool = False
class RoleCreate(RoleBase):
pass
class RoleUpdate(BaseModel):
display_name: Optional[str] = None
description: Optional[str] = None
can_manage_users: Optional[bool] = None
can_manage_roles: Optional[bool] = None
can_manage_checklists: Optional[bool] = None
can_create_inspections: Optional[bool] = None
can_view_all_inspections: Optional[bool] = None
can_view_reports: Optional[bool] = None
can_deactivate_inspections: Optional[bool] = None
class Role(RoleBase):
id: int
created_at: datetime
class Config:
from_attributes = True
# User Schemas
class UserBase(BaseModel):
username: str
email: Optional[EmailStr] = None
full_name: Optional[str] = None
role: str = "mechanic"
role_id: int = 3 # Default: mecanico
class UserCreate(UserBase):
password: str
@@ -16,7 +50,7 @@ class UserUpdate(BaseModel):
username: Optional[str] = None
email: Optional[EmailStr] = None
full_name: Optional[str] = None
role: Optional[str] = None
role_id: Optional[int] = None
class UserPasswordUpdate(BaseModel):
current_password: str
@@ -29,8 +63,13 @@ class UserLogin(BaseModel):
username: str
password: str
class User(UserBase):
class User(BaseModel):
id: int
username: str
email: Optional[str] = None
full_name: Optional[str] = None
role_id: int
role: Role # Role object
is_active: bool
created_at: datetime