PR_IRminiSaaS / app /main.py
Corin1998's picture
Update app/main.py
0588a0e verified
from fastapi import FastAPI, Request, Depends, UploadFile, Form
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
from sqlalchemy.orm import Session
from app.database import Base, engine, get_db
from app import models
from app.routers import content, deliver, health
app = FastAPI(title="PR/IR MiniSaaS")
app.include_router(content.router)
app.include_router(deliver.router)
app.include_router(health.router)
templates = Jinja2Templates(directory="app/templates")
@app.on_event("startup")
def on_startup():
Base.metadata.create_all(bind=engine)
@app.get("/", response_class=HTMLResponse)
async def index(request: Request, db: Session = Depends(get_db)):
drafts = db.query(models.Draft).order_by(models.Draft.id.desc()).limit(20).all()
return templates.TemplateResponse("index.html", {"request": request, "drafts": drafts, "Tone": models.Tone, "ContentType": models.ContentType})
@app.get("/draft/{draft_id}", response_class=HTMLResponse)
async def detail(draft_id: int, request: Request, db: Session = Depends(get_db)):
d = db.get(models.Draft, draft_id)
return templates.TemplateResponse("detail.html", {"request": request, "d": d})