Files
proc-rota/web/crud.py
T
2023-05-23 14:48:12 +01:00

59 lines
1.6 KiB
Python

from sqlalchemy.orm import Session
import models, schemas
def get_shift(db: Session, shift_id: int):
return (
db.query(models.SingleShift).filter(models.SingleShift.id == shift_id).first()
)
def get_shift_by_name(db: Session, name: str):
return db.query(models.SingleShift).filter(models.SingleShift.name == name).first()
def get_shifts(db: Session, skip: int = 0, limit: int = 100):
return db.query(models.SingleShift).offset(skip).limit(limit).all()
def create_shift(db: Session, shift: schemas.SingleShiftCreate):
shift = models.SingleShift(**shift.dict())
db.add(shift)
db.commit()
db.refresh(shift)
return shift
def create_worker(db: Session, worker: schemas.WorkerCreate):
worker = models.Worker(**worker.dict())
db.add(worker)
db.commit()
db.refresh(worker)
return worker
def get_worker(db: Session, worker_id: int):
return (
db.query(models.Worker).filter(models.Worker.id == worker_id).first()
)
def get_worker_by_name(db: Session, name: str):
return db.query(models.Worker).filter(models.Worker.name == name).first()
def get_workers(db: Session, skip: int = 0, limit: int = 100):
return db.query(models.Worker).offset(skip).limit(limit).all()
#def get_shift_constraints(db: Session, skip: int = 0, limit: int = 100):
# return db.query(models.ShiftConstraint).offset(skip).limit(limit).all()
#
#
#def create_shift_constraints(
# db: Session, item: schemas.ShiftConstraintCreate, constraint_id: int
#):
# db_item = models.ShiftConstraint(**item.dict(), constraint_id=constraint_id)
# db.add(db_item)
# db.commit()
# db.refresh(db_item)
# return db_item