34 lines
907 B
Python
34 lines
907 B
Python
from contextlib import asynccontextmanager
|
|
|
|
from fastapi import FastAPI, HTTPException, Response, Depends, APIRouter
|
|
from typing import Optional, Annotated
|
|
from datetime import datetime, timedelta
|
|
from jose import JWTError, jwt
|
|
|
|
from sqlmodel import Session, select
|
|
|
|
from database import create_db_and_tables, engine
|
|
from models import Tenant, User, Project
|
|
from dependencies import *
|
|
from api import login_reg, manage_project, manage_tanant, manage_user
|
|
|
|
# 用于生成和验证JWT的密钥
|
|
SECRET_KEY = "your_secret_key"
|
|
ALGORITHM = "HS256"
|
|
|
|
|
|
# @app.on_event("startup")
|
|
# def on_startup():
|
|
# create_db_and_tables()
|
|
@asynccontextmanager
|
|
async def lifespan(app: FastAPI):
|
|
create_db_and_tables()
|
|
yield
|
|
|
|
|
|
app = FastAPI(lifespan=lifespan)
|
|
app.include_router(login_reg.router)
|
|
app.include_router(manage_tanant.router)
|
|
app.include_router(manage_user.router)
|
|
app.include_router(manage_project.router)
|