30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
"""
|
|
Modele comune pentru toate aplicațiile ROA2WEB
|
|
"""
|
|
from pydantic import BaseModel, Field
|
|
from typing import List, Optional, Dict
|
|
from datetime import datetime
|
|
|
|
class Company(BaseModel):
|
|
"""Model pentru firma/schema Oracle"""
|
|
code: str = Field(description="Codul firmei (schema Oracle)")
|
|
name: str = Field(description="Numele firmei")
|
|
fiscal_code: Optional[str] = Field(description="Codul fiscal")
|
|
is_active: bool = Field(default=True, description="Firma activă")
|
|
|
|
class User(BaseModel):
|
|
"""Model pentru utilizator"""
|
|
username: str = Field(description="Numele utilizatorului")
|
|
email: Optional[str] = Field(description="Email utilizator")
|
|
companies: List[str] = Field(description="Lista codurilor firmelor la care are acces")
|
|
is_active: bool = Field(default=True, description="Utilizator activ")
|
|
last_login: Optional[datetime] = Field(description="Ultima autentificare")
|
|
|
|
class DatabaseConfig(BaseModel):
|
|
"""Configurare conexiune bază de date"""
|
|
user: str
|
|
password: str
|
|
dsn: str
|
|
min_connections: int = 2
|
|
max_connections: int = 10
|
|
increment: int = 1 |