add crud for forms, templates, shipment, users and auth with keycloak
This commit is contained in:
42
backend/src/forms/service.py
Normal file
42
backend/src/forms/service.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from sqlmodel import Session, select
|
||||
import src.models as models
|
||||
|
||||
def get_all(session: Session) -> list[models.FormPublic]:
|
||||
statement = select(models.Form)
|
||||
return session.exec(statement).all()
|
||||
|
||||
def get_one(session: Session, form_id: int) -> models.FormPublic:
|
||||
return session.get(models.Form, form_id)
|
||||
|
||||
def create_one(session: Session, form: models.FormCreate) -> models.FormPublic:
|
||||
form_create = form.model_dump(exclude_unset=True)
|
||||
new_form = models.Form(**form_create)
|
||||
session.add(new_form)
|
||||
session.commit()
|
||||
session.refresh(new_form)
|
||||
return new_form
|
||||
|
||||
def update_one(session: Session, id: int, form: models.FormUpdate) -> models.FormPublic:
|
||||
statement = select(models.Form).where(models.Form.id == id)
|
||||
result = session.exec(statement)
|
||||
new_form = result.first()
|
||||
if not new_form:
|
||||
return None
|
||||
form_updates = form.model_dump(exclude_unset=True)
|
||||
for key, value in form_updates.items():
|
||||
setattr(new_form, key, value)
|
||||
session.add(new_form)
|
||||
session.commit()
|
||||
session.refresh(new_form)
|
||||
return new_form
|
||||
|
||||
def delete_one(session: Session, id: int) -> models.FormPublic:
|
||||
statement = select(models.Form).where(models.Form.id == id)
|
||||
result = session.exec(statement)
|
||||
form = result.first()
|
||||
if not form:
|
||||
return None
|
||||
result = models.FormPublic.model_validate(form)
|
||||
session.delete(form)
|
||||
session.commit()
|
||||
return result
|
||||
Reference in New Issue
Block a user