feat: 初始化工程
This commit is contained in:
42
routers/record.py
Normal file
42
routers/record.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from config.database import get_db
|
||||
from schemas.patch import RecordResponse, RecordCreate, RecordUpdate
|
||||
from service import record_service
|
||||
|
||||
router = APIRouter(prefix="/records", tags=["records"])
|
||||
|
||||
|
||||
@router.post("", response_model=bool)
|
||||
def create(data: RecordCreate, db: Session = Depends(get_db)):
|
||||
return record_service.create_record(db, data)
|
||||
|
||||
|
||||
@router.get("/{record_id}", response_model=RecordResponse)
|
||||
def get_one(record_id: int, db: Session = Depends(get_db)):
|
||||
record = record_service.get_record(db, record_id)
|
||||
if not record:
|
||||
raise HTTPException(404, "Record not found")
|
||||
return record
|
||||
|
||||
|
||||
@router.get("/crop/{crop_id}", response_model=list[RecordResponse])
|
||||
def list_by_crop(crop_id: int, db: Session = Depends(get_db)):
|
||||
return record_service.get_records_by_crop(db, crop_id)
|
||||
|
||||
|
||||
@router.put("/{record_id}", response_model=bool)
|
||||
def update(record_id: int, data: RecordUpdate, db: Session = Depends(get_db)):
|
||||
record = record_service.update_record(db, record_id, data)
|
||||
if not record:
|
||||
raise HTTPException(404, "Record not found")
|
||||
return record
|
||||
|
||||
|
||||
@router.delete("/{record_id}", response_model=bool)
|
||||
def delete(record_id: int, db: Session = Depends(get_db)):
|
||||
record = record_service.delete_record(db, record_id)
|
||||
if not record:
|
||||
raise HTTPException(404, "Record not found")
|
||||
return record
|
||||
Reference in New Issue
Block a user