Newer
Older
import logging as log
from sqlalchemy.orm import Session
from typing import Optional
from pilab.events import meta
log.getLogger('sqlalchemy.engine').setLevel(log.WARNING)
class ImageBinding(object):
@staticmethod
def create(db: Session, image_id: int, user_data_id: Optional[int], pi_id: int):
db_binding = ImageBindingType(
image_id=image_id,
user_data_id=user_data_id,
pi_id=pi_id,
)
db.add(db_binding)
db.flush()
return meta.ImageBinding(**vars(db_binding))
@staticmethod
def update(db: Session):
return
@staticmethod
def delete(db: Session, pi_id: int):
db_binding = db.query(ImageBindingType).filter(
ImageBindingType.pi_id == pi_id
).first()
if db_binding:
db.delete(db_binding)
db.flush()
@staticmethod
def get(db: Session, pi_id: int):
db_binding = db.query(ImageBindingType).filter(ImageBindingType.pi_id == pi_id).first()
return meta.ImageBinding(**vars(db_binding)) if db_binding else None