File size: 1,200 Bytes
78f0fc0
0588a0e
78f0fc0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0588a0e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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})