File size: 688 Bytes
a38b4f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7006220
a38b4f9
 
 
 
 
 
 
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
# app/api/v1/ppt.py
from fastapi import APIRouter, HTTPException, Query, Depends, Request
from pydantic import BaseModel
from typing import List
from app.services.ppt_service import generate_ppt_file
from app.auth.auth import verify_token

router = APIRouter()

class Slide(BaseModel):
    title: str
    content: str

class PPTInput(BaseModel):
    slides: List[Slide]

@router.post("/generate")
def generate_ppt(payload: PPTInput):
    filename = generate_ppt_file([slide.dict() for slide in payload.slides])
    return {
        "message": "PPT generated successfully",
        "filename": filename,
        "download_url": f"/api/v1/download?file_path=generated/ppt/{filename}"
    }