132 lines
3.7 KiB
Python
132 lines
3.7 KiB
Python
# import uuid
|
|
#
|
|
# from typing import List
|
|
#
|
|
# import barker.schemas.printer as schemas
|
|
#
|
|
# from fastapi import APIRouter, Depends, HTTPException, Security, status
|
|
# from sqlalchemy.exc import SQLAlchemyError
|
|
# from sqlalchemy.orm import Session
|
|
#
|
|
# from ..core.security import get_current_active_user as get_user
|
|
# from ..db.session import SessionLocal
|
|
# from ..models.master import Printer
|
|
# from ..schemas.user_token import UserToken
|
|
#
|
|
#
|
|
# router = APIRouter()
|
|
#
|
|
#
|
|
# # Dependency
|
|
# def get_db():
|
|
# try:
|
|
# db = SessionLocal()
|
|
# yield db
|
|
# finally:
|
|
# db.close()
|
|
#
|
|
#
|
|
# @router.post("", response_model=schemas.Printer)
|
|
# def save(
|
|
# data: schemas.PrinterIn,
|
|
# db: Session = Depends(get_db),
|
|
# user: UserToken = Security(get_user, scopes=["printers"]),
|
|
# ) -> schemas.Printer:
|
|
# try:
|
|
# item = Printer(name=data.name, address=data.address, cut_code=data.cut_code)
|
|
# db.add(item)
|
|
# db.commit()
|
|
# return printer_info(item)
|
|
# except SQLAlchemyError as e:
|
|
# db.rollback()
|
|
# raise HTTPException(
|
|
# status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
|
# detail=str(e),
|
|
# )
|
|
# except Exception:
|
|
# db.rollback()
|
|
# raise
|
|
#
|
|
#
|
|
# @router.put("/{id_}", response_model=schemas.Printer)
|
|
# def update(
|
|
# id_: uuid.UUID,
|
|
# data: schemas.PrinterIn,
|
|
# db: Session = Depends(get_db),
|
|
# user: UserToken = Security(get_user, scopes=["printers"]),
|
|
# ) -> schemas.Printer:
|
|
# try:
|
|
# item: Printer = db.query(Printer).filter(Printer.id == id_).first()
|
|
# item.name = data.name
|
|
# item.address = data.address
|
|
# item.cut_code = data.cut_code
|
|
# db.commit()
|
|
# return printer_info(item)
|
|
# except SQLAlchemyError as e:
|
|
# db.rollback()
|
|
# raise HTTPException(
|
|
# status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
|
# detail=str(e),
|
|
# )
|
|
# except Exception:
|
|
# db.rollback()
|
|
# raise
|
|
#
|
|
#
|
|
# @router.delete("/{id_}", response_model=schemas.PrinterBlank)
|
|
# def delete(
|
|
# id_: uuid.UUID,
|
|
# db: Session = Depends(get_db),
|
|
# user: UserToken = Security(get_user, scopes=["printers"]),
|
|
# ) -> schemas.PrinterBlank:
|
|
# try:
|
|
# item: Printer = db.query(Printer).filter(Printer.id == id_).first()
|
|
# db.delete(item)
|
|
# db.commit()
|
|
# return printer_blank()
|
|
# except SQLAlchemyError as e:
|
|
# db.rollback()
|
|
# raise HTTPException(
|
|
# status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
|
# detail=str(e),
|
|
# )
|
|
# except Exception:
|
|
# db.rollback()
|
|
# raise
|
|
#
|
|
#
|
|
# @router.get("", response_model=schemas.PrinterBlank)
|
|
# def show_blank(
|
|
# db: Session = Depends(get_db),
|
|
# user: UserToken = Security(get_user, scopes=["printers"]),
|
|
# ) -> schemas.PrinterBlank:
|
|
# return printer_blank()
|
|
#
|
|
#
|
|
# @router.get("/list", response_model=List[schemas.Printer])
|
|
# def show_list(db: Session = Depends(get_db), user: UserToken = Depends(get_user)):
|
|
# return [printer_info(item) for item in db.query(Printer).order_by(Printer.name).all()]
|
|
#
|
|
#
|
|
# @router.get("/{id_}", response_model=schemas.Printer)
|
|
# def show_id(
|
|
# id_: uuid.UUID,
|
|
# db: Session = Depends(get_db),
|
|
# user: UserToken = Security(get_user, scopes=["printers"]),
|
|
# ) -> schemas.Printer:
|
|
# item: Printer = db.query(Printer).filter(Printer.id == id_).first()
|
|
# return printer_info(item)
|
|
#
|
|
#
|
|
# def printer_info(item: Printer) -> schemas.Printer:
|
|
# return schemas.Printer(
|
|
# id=item.id,
|
|
# name=item.name,
|
|
# address=item.address,
|
|
# cutCode=item.cut_code,
|
|
# )
|
|
#
|
|
#
|
|
# def printer_blank() -> schemas.PrinterBlank:
|
|
# return schemas.PrinterBlank(name="", address="", cutCode="")
|