30 lines
619 B
Python
30 lines
619 B
Python
from fastapi import FastAPI, Depends
|
|
from contextlib import asynccontextmanager
|
|
import database
|
|
import models
|
|
|
|
@asynccontextmanager
|
|
async def lifespan(app: FastAPI):
|
|
database.init()
|
|
yield
|
|
database.close()
|
|
|
|
app = FastAPI(lifespan=lifespan)
|
|
|
|
|
|
@app.get("/")
|
|
async def root():
|
|
return {"message": "Hello World"}
|
|
|
|
@app.get("/me")
|
|
async def me(user: models.User = Depends(database.get_user_by_token)):
|
|
return user
|
|
|
|
@app.post("/users")
|
|
async def register(user: models.User):
|
|
database.register(user)
|
|
return user
|
|
|
|
@app.post("/login")
|
|
async def login(user: models.User):
|
|
return database.login(user) |