Files
evo-ai/src/services/client_service.py
2025-04-25 15:30:54 -03:00

35 lines
1.2 KiB
Python

from sqlalchemy.orm import Session
from src.models.models import Client
from src.schemas.schemas import ClientCreate
from typing import List
import uuid
def get_client(db: Session, client_id: uuid.UUID) -> Client:
return db.query(Client).filter(Client.id == client_id).first()
def get_clients(db: Session, skip: int = 0, limit: int = 100) -> List[Client]:
return db.query(Client).offset(skip).limit(limit).all()
def create_client(db: Session, client: ClientCreate) -> Client:
db_client = Client(**client.model_dump())
db.add(db_client)
db.commit()
db.refresh(db_client)
return db_client
def update_client(db: Session, client_id: uuid.UUID, client: ClientCreate) -> Client:
db_client = db.query(Client).filter(Client.id == client_id).first()
if db_client:
for key, value in client.model_dump().items():
setattr(db_client, key, value)
db.commit()
db.refresh(db_client)
return db_client
def delete_client(db: Session, client_id: uuid.UUID) -> bool:
db_client = db.query(Client).filter(Client.id == client_id).first()
if db_client:
db.delete(db_client)
db.commit()
return True
return False