You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.6 KiB
52 lines
1.6 KiB
from fastapi import FastAPI, Depends |
|
from sqlalchemy.orm import Session |
|
|
|
import crud |
|
import schemas |
|
from database import SessionLocal |
|
|
|
app = FastAPI(description="Equipment and Device Management API") |
|
|
|
|
|
def get_db(): |
|
db = SessionLocal() |
|
try: |
|
yield db |
|
finally: |
|
db.close() |
|
|
|
|
|
# @app.post("/equipment", response_model=schemas.Equipment) |
|
# def create_equipment(equipment: schemas.EquipmentCreate, db: Session = Depends(get_db)): |
|
# db_equipment = crud.create_equipment(db=db, equipment=equipment) |
|
# return db_equipment |
|
# |
|
# |
|
# @app.get("/equipments", response_model=list[schemas.Equipment]) |
|
# def get_equipments(skip: int = 0, limit: int = 10, db: Session = Depends(get_db)): |
|
# equipments = crud.get_equipments(db, skip=skip, limit=limit) |
|
# return equipments |
|
# |
|
# |
|
# @app.get("/equipments/{equipment_id}", response_model=schemas.Equipment) |
|
# def get_equipment(equipment_id: int, db: Session = Depends(get_db)): |
|
# equipment = crud.get_equipment(db=db, equipment_id=equipment_id) |
|
# return equipment |
|
|
|
|
|
@app.get("/devices", response_model=list[schemas.Device]) |
|
def get_devices(skip: int = 0, limit: int = 10, db: Session = Depends(get_db)): |
|
devices = crud.get_devices(db, skip=skip, limit=limit) |
|
return devices |
|
|
|
|
|
@app.get("/devices/{device_id}", response_model=schemas.Device) |
|
def get_device(device_id: int, db: Session = Depends(get_db)): |
|
device = crud.get_device(db=db, device_id=device_id) |
|
return device |
|
|
|
|
|
@app.post("/devices", response_model=schemas.Device) |
|
def create_device(device: schemas.DeviceCreate, db: Session = Depends(get_db)): |
|
db_device = crud.create_device(db=db, device=device) |
|
return db_device
|
|
|