44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding:utf-8 -*-
|
|
|
|
from fastapi import APIRouter, Depends, HTTPException
|
|
from sqlalchemy.orm import Session
|
|
|
|
from app.db.base import get_db
|
|
from app.crud import form_crud
|
|
from app.schemas import Form, FormCreate, FormUpdate
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.put("/{item_id}", response_model=Form)
|
|
def update_form(item_id: int, form_in: FormUpdate, db: Session = Depends(get_db)):
|
|
form_db = form_crud.form.get(db, item_id)
|
|
if not form_db:
|
|
raise HTTPException(status_code=404, detail="Form not found")
|
|
return form_crud.form.update(db=db, db_obj=form_db, obj_in=form_in)
|
|
|
|
|
|
@router.delete("/{item_id}")
|
|
def delete_form(item_id: int, db: Session = Depends(get_db)):
|
|
form_db = form_crud.form.get(db, item_id)
|
|
if not form_db:
|
|
raise HTTPException(status_code=404, detail="Form not found")
|
|
return form_crud.form.remove(db=db, id=item_id)
|
|
|
|
|
|
@router.get("/{item_id}", response_model=Form)
|
|
def read_form(item_id: int, db: Session = Depends(get_db)):
|
|
return form_crud.form.get(db, item_id)
|
|
|
|
|
|
@router.post("/", response_model=Form)
|
|
def create_form(form_in: FormCreate, db: Session = Depends(get_db)):
|
|
form_db = form_crud.form.create(db=db, obj_in=form_in)
|
|
return form_db
|
|
|
|
|
|
@router.get("/", response_model=list[Form])
|
|
def read_forms(db: Session = Depends(get_db), skip: int = 0, limit: int = 100):
|
|
return form_crud.form.get_multi(db, skip=skip, limit=limit)
|