# -*- coding:utf-8 -*- """ @Created on : 2023/5/24 13:59 @Author: hxl @Des: 定位板规格 """ from fastapi import APIRouter from pydantic import BaseModel from helper import respond_to from models import Board router = APIRouter(prefix='/board') class CreateBoard(BaseModel): name: str holable: int standard: int matrix: str chip_dict: dict class UpdateBoard(BaseModel): name: str holable: int standard: int matrix: str chip_dict: dict @router.get('/test', summary='数据测试') async def create(): """ 创建定位板规格 :param post: CreateBoard :return: """ return respond_to(data=[1, 2, 3, 4, 5, 6]) @router.post('', summary='创建定位板规格') async def create(post: CreateBoard): """ 创建定位板规格 :param post: CreateBoard :return: """ result = await Board.create(**post.dict()) if not result: return respond_to(desc="创建失败!") return respond_to(desc="创建成功!") @router.delete('/{board_id}', summary='删除定位板规格') async def destroy(board_id: str): """ 删除定位板规格 :param board_id: str :return: """ board = await Board.get_or_none(pk=board_id) if not board or board.reserved: return respond_to(code=400, desc='删除失败') result = await Board.filter(id=board_id).delete() if not result: return respond_to(code=400, desc='删除失败') return respond_to(desc='删除成功') @router.put('/{board_id}', summary='修改定位板规格') async def update(board_id: str, post: UpdateBoard): """ 编辑定位板规格 :param board_id: str :param post: UpdateBoard :return: """ board = await Board.get_or_none(pk=board_id) result = await Board.filter(id=board_id).update(**post.dict()) if not result: return respond_to(code=400, desc='更新失败') return respond_to(desc='更新成功') @router.get('', summary='定位板规格列表') async def index(): """ 获取定位板规格列表 :return: """ query = Board.all() count = await query.count() drawers = await query.order_by("created_at").values() return respond_to(data=dict(count=count, drawers=drawers))