2025-06-09 08:10:19 +00:00

27 lines
986 B
Python

from typing import Optional
from sqlalchemy.orm import Session
from app.crud.base import CRUDBase
from app.models.customer import Customer
from app.schemas.customer import CustomerCreate, CustomerUpdate
class CRUDCustomer(CRUDBase[Customer, CustomerCreate, CustomerUpdate]):
def get_by_email(self, db: Session, *, email: str) -> Optional[Customer]:
return db.query(Customer).filter(Customer.email == email).first()
def create(self, db: Session, *, obj_in: CustomerCreate) -> Customer:
# Create a dict without policies (which are handled separately)
db_obj = Customer(
first_name=obj_in.first_name,
last_name=obj_in.last_name,
email=obj_in.email,
phone_number=obj_in.phone_number,
address=obj_in.address,
date_of_birth=obj_in.date_of_birth
)
db.add(db_obj)
db.commit()
db.refresh(db_obj)
return db_obj
customer = CRUDCustomer(Customer)