summaryrefslogtreecommitdiff
path: root/__main__.py
blob: 36cbc28b9d00e232bd9436bf31691d56e66078f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from contextlib import asynccontextmanager
from typing import Annotated

from fastapi import FastAPI, Depends

from .apirouters import agents, tasks
from .modules.database import cursor, conn


@asynccontextmanager
async def lifespan(app: FastAPI):
    cursor.execute(
        "CREATE TABLE IF NOT EXISTS agents(primary_key INTEGER PRIMARY KEY, callsign TEXT NOT NULL UNIQUE, token TEXT NOT NULL)")
    cursor.execute(
        "CREATE TABLE IF NOT EXISTS ships(primary_key INTEGER PRIMARY KEY, symbol TEXT NOT NULL UNIQUE, task TEXT NOT NULL, params TEXT)")
    conn.commit()
    agents.load_agents_from_database()
    yield


app = FastAPI(lifespan=lifespan)
app.include_router(agents.router)
app.include_router(tasks.router)