from sqlalchemy.orm import Session from . import models, schemas def get_celebrity(db: Session, celebrity_id: int): return db.query(models.Celebrity).filter(models.Celebrity.id == celebrity_id).first() def get_celebrities(db: Session, skip: int = 0, limit: int = 100): return db.query(models.Celebrity).offset(skip).limit(limit).all() def create_celebrity(db: Session, celebrity: schemas.CelebrityCreate): db_celebrity = models.Celebrity(**celebrity.model_dump()) db.add(db_celebrity) db.commit() db.refresh(db_celebrity) return db_celebrity def update_celebrity(db: Session, celebrity_id: int, celebrity_update: schemas.CelebrityUpdate): db_celebrity = get_celebrity(db, celebrity_id) if not db_celebrity: return None update_data = celebrity_update.model_dump(exclude_unset=True) for key, value in update_data.items(): setattr(db_celebrity, key, value) db.commit() db.refresh(db_celebrity) return db_celebrity def delete_celebrity(db: Session, celebrity_id: int): db_celebrity = get_celebrity(db, celebrity_id) if not db_celebrity: return None db.delete(db_celebrity) db.commit() return db_celebrity