from sqlalchemy.orm import Session
from app.models.categories import Category
from app.schemas.categories import CategorieCreate, CategorieUpdate
from datetime import datetime
def get_categorie(db: Session, categorie_id: int):
    return db.query(Category).filter(Category.id == categorie_id).first()

def get_categories(db: Session, skip: int = 0, limit: int = 10):
    return db.query(Category).offset(skip).limit(limit).all()



def create_categorie(db: Session, categorie_data):
    new_categorie = Category(
        category_name=categorie_data.category_name,
        category_desc=categorie_data.category_desc,
        is_active=categorie_data.is_active,
        created_at=datetime.utcnow(),  # Ajout de la date de création
    )
    db.add(new_categorie)
    db.commit()
    db.refresh(new_categorie)
    return new_categorie


def update_categorie(db: Session, categorie_id: int, categorie_data: CategorieUpdate):
    db_categorie = db.query(Category).filter(Category.id == categorie_id).first()
    if db_categorie:
        for key, value in categorie_data.dict().items():
            setattr(db_categorie, key, value)
        db.commit()
        db.refresh(db_categorie)
    return db_categorie

def delete_categorie(db: Session, categorie_id: int):
    db_categorie = db.query(Category).filter(Category.id == categorie_id).first()
    if db_categorie:
        db.delete(db_categorie)
        db.commit()
    return db_categorie
