basic profile
This commit is contained in:
37
packages/backend/app/crud.py
Normal file
37
packages/backend/app/crud.py
Normal file
@@ -0,0 +1,37 @@
|
||||
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
|
||||
Reference in New Issue
Block a user