46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
import os
|
|
from contextlib import asynccontextmanager
|
|
from fastapi import FastAPI
|
|
|
|
from app.routers import (
|
|
apiaries,
|
|
colonies,
|
|
inspections,
|
|
varroa,
|
|
harvests,
|
|
actions,
|
|
queens,
|
|
checklists,
|
|
lists,
|
|
)
|
|
|
|
|
|
@asynccontextmanager
|
|
async def lifespan(app: FastAPI):
|
|
from app.database import init_db
|
|
init_db()
|
|
yield
|
|
|
|
|
|
app = FastAPI(
|
|
title="Beekeeper API",
|
|
version="1.0.0",
|
|
root_path=os.getenv("ROOT_PATH", ""),
|
|
lifespan=lifespan,
|
|
)
|
|
|
|
app.include_router(apiaries.router, prefix="/v1/apiaries", tags=["apiaries"])
|
|
app.include_router(colonies.router, prefix="/v1/colonies", tags=["colonies"])
|
|
app.include_router(inspections.router, prefix="/v1/inspections", tags=["inspections"])
|
|
app.include_router(varroa.router, prefix="/v1/varroa", tags=["varroa"])
|
|
app.include_router(harvests.router, prefix="/v1/harvests", tags=["harvests"])
|
|
app.include_router(actions.router, prefix="/v1/actions", tags=["actions"])
|
|
app.include_router(queens.router, prefix="/v1/queens", tags=["queens"])
|
|
app.include_router(checklists.router, prefix="/v1/checklists", tags=["checklists"])
|
|
app.include_router(lists.router, prefix="/v1/lists", tags=["lists"])
|
|
|
|
|
|
@app.get("/health")
|
|
def health():
|
|
return {"status": "ok"}
|