59 lines
1.6 KiB
Python
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
|