diff --git a/app/utils/servers.ts b/app/utils/servers.ts index e9a3c22f..2402bea7 100644 --- a/app/utils/servers.ts +++ b/app/utils/servers.ts @@ -13,7 +13,7 @@ export async function startFastApiServer( // Start FastAPI server const startCommand = isDev ? [ ".venv/bin/python", - ["server.py", "--port", port.toString()], + ["server_autoreload.py", "--port", port.toString()], ] : [ "./fastapi", ["--port", port.toString()], ]; diff --git a/servers/fastapi/api/routers/presentation/handlers/generate_image.py b/servers/fastapi/api/routers/presentation/handlers/generate_image.py index 8e91a7bf..513116b5 100644 --- a/servers/fastapi/api/routers/presentation/handlers/generate_image.py +++ b/servers/fastapi/api/routers/presentation/handlers/generate_image.py @@ -1,3 +1,4 @@ +import os import uuid from api.models import LogMetadata from api.routers.presentation.models import ( @@ -27,7 +28,7 @@ class GenerateImageHandler: extra=log_metadata.model_dump(), ) - image_path = temp_file_service.create_temp_file_path( + image_path = os.path.join( self.presentation_dir, "generated_images", str(uuid.uuid4()) + ".jpg" ) await generate_image(self.data.prompt, image_path) diff --git a/servers/fastapi/api/routers/presentation/router.py b/servers/fastapi/api/routers/presentation/router.py index 53a1d7bc..90c92935 100644 --- a/servers/fastapi/api/routers/presentation/router.py +++ b/servers/fastapi/api/routers/presentation/router.py @@ -57,6 +57,7 @@ from api.routers.presentation.models import ( GeneratePresentationRequirementsRequest, GenerateResearchReportRequest, PresentationAndPath, + PresentationAndPaths, PresentationAndSlides, GenerateTitleRequest, PresentationAndUrl, @@ -254,7 +255,7 @@ async def update_slide_models(data: PresentationUpdateRequest): ) -@presentation_router.post("/image/generate", response_model=PresentationAndUrls) +@presentation_router.post("/image/generate", response_model=PresentationAndPaths) async def generate_image(data: GenerateImageRequest): request_utils = RequestUtils("/ppt/image/generate") logging_service, log_metadata = await request_utils.initialize_logger( @@ -276,7 +277,7 @@ async def search_image(data: SearchImageRequest): ) -@presentation_router.post("/icon/search", response_model=PresentationAndUrls) +@presentation_router.post("/icon/search", response_model=PresentationAndPaths) async def search_icon(data: SearchIconRequest): request_utils = RequestUtils("/ppt/icon/search") logging_service, log_metadata = await request_utils.initialize_logger( diff --git a/servers/fastapi/image_processor/icons_finder.py b/servers/fastapi/image_processor/icons_finder.py index 82cc0c1b..4b147395 100644 --- a/servers/fastapi/image_processor/icons_finder.py +++ b/servers/fastapi/image_processor/icons_finder.py @@ -43,9 +43,7 @@ async def get_icons( icon_names = [result.page_content for result in results] - icon_paths = [ - get_resource(f"assets/icons/bold/{each}-bold.png") for each in icon_names - ] + icon_paths = [get_resource(f"assets/icons/bold/{each}.png") for each in icon_names] icon_temp_paths = [] diff --git a/servers/fastapi/server_autoreload.py b/servers/fastapi/server_autoreload.py new file mode 100644 index 00000000..4d5c00de --- /dev/null +++ b/servers/fastapi/server_autoreload.py @@ -0,0 +1,14 @@ +import uvicorn +import argparse + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Run the FastAPI server") + parser.add_argument( + "--port", type=int, required=True, help="Port number to run the server on" + ) + args = parser.parse_args() + + uvicorn.run( + "api.main:app", host="0.0.0.0", port=args.port, log_level="info", reload=True + ) diff --git a/servers/nextjs/app/(presentation-generator)/components/IconsEditor.tsx b/servers/nextjs/app/(presentation-generator)/components/IconsEditor.tsx index cd2a6c6e..5f6d30a0 100644 --- a/servers/nextjs/app/(presentation-generator)/components/IconsEditor.tsx +++ b/servers/nextjs/app/(presentation-generator)/components/IconsEditor.tsx @@ -76,7 +76,7 @@ const IconsEditor = ({ page: 1, limit: 40, }); - setIcons(data.urls); + setIcons(data.paths); } catch (error) { console.error("Error fetching icons:", error); setIcons([]); @@ -195,7 +195,7 @@ const IconsEditor = ({ className="w-12 h-12 cursor-pointer group relative rounded-lg overflow-hidden hover:bg-gray-100 p-2" > {`Icon diff --git a/servers/nextjs/app/(presentation-generator)/components/ImageEditor.tsx b/servers/nextjs/app/(presentation-generator)/components/ImageEditor.tsx index 1a7cb5d5..062eb78f 100644 --- a/servers/nextjs/app/(presentation-generator)/components/ImageEditor.tsx +++ b/servers/nextjs/app/(presentation-generator)/components/ImageEditor.tsx @@ -221,7 +221,7 @@ const ImageEditor = ({ }, }); - setPreviewImages(response.urls); + setPreviewImages(response.paths); } catch (err) { setError("Failed to generate image. Please try again."); } finally {