From 8fd7bc342d142ff673e96bdf6bc87e43f591c0b8 Mon Sep 17 00:00:00 2001
From: "Timothy J. Baek" <timothyjrbeck@gmail.com>
Date: Tue, 5 Mar 2024 01:07:59 -0800
Subject: [PATCH] refac: error message

---
 backend/apps/ollama/main.py              | 12 ++++++------
 backend/constants.py                     |  2 ++
 src/routes/(app)/modelfiles/+page.svelte |  5 ++++-
 3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/backend/apps/ollama/main.py b/backend/apps/ollama/main.py
index 5b3589e08..5bd48462a 100644
--- a/backend/apps/ollama/main.py
+++ b/backend/apps/ollama/main.py
@@ -267,7 +267,7 @@ async def push_model(
         else:
             raise HTTPException(
                 status_code=400,
-                detail="error_detail",
+                detail=ERROR_MESSAGES.MODEL_NOT_FOUND(form_data.name),
             )
 
     url = app.state.OLLAMA_BASE_URLS[url_idx]
@@ -399,7 +399,7 @@ async def copy_model(
         else:
             raise HTTPException(
                 status_code=400,
-                detail="error_detail",
+                detail=ERROR_MESSAGES.MODEL_NOT_FOUND(form_data.source),
             )
 
     url = app.state.OLLAMA_BASE_URLS[url_idx]
@@ -445,7 +445,7 @@ async def delete_model(
         else:
             raise HTTPException(
                 status_code=400,
-                detail="error_detail",
+                detail=ERROR_MESSAGES.MODEL_NOT_FOUND(form_data.name),
             )
 
     url = app.state.OLLAMA_BASE_URLS[url_idx]
@@ -483,7 +483,7 @@ async def show_model_info(form_data: ModelNameForm, user=Depends(get_current_use
     if form_data.name not in app.state.MODELS:
         raise HTTPException(
             status_code=400,
-            detail="error_detail",
+            detail=ERROR_MESSAGES.MODEL_NOT_FOUND(form_data.name),
         )
 
     url_idx = random.choice(app.state.MODELS[form_data.name]["urls"])
@@ -535,7 +535,7 @@ async def generate_embeddings(
         else:
             raise HTTPException(
                 status_code=400,
-                detail="error_detail",
+                detail=ERROR_MESSAGES.MODEL_NOT_FOUND(form_data.model),
             )
 
     url = app.state.OLLAMA_BASE_URLS[url_idx]
@@ -691,7 +691,7 @@ async def generate_completion(
         else:
             raise HTTPException(
                 status_code=400,
-                detail="error_detail",
+                detail=ERROR_MESSAGES.MODEL_NOT_FOUND(form_data.model),
             )
 
     url = app.state.OLLAMA_BASE_URLS[url_idx]
diff --git a/backend/constants.py b/backend/constants.py
index 006fa7bbe..b2bbe9aae 100644
--- a/backend/constants.py
+++ b/backend/constants.py
@@ -48,3 +48,5 @@ class ERROR_MESSAGES(str, Enum):
         lambda err="": f"Invalid format. Please use the correct format{err if err else ''}"
     )
     RATE_LIMIT_EXCEEDED = "API rate limit exceeded"
+
+    MODEL_NOT_FOUND = lambda name="": f"Model '{name}' was not found"
diff --git a/src/routes/(app)/modelfiles/+page.svelte b/src/routes/(app)/modelfiles/+page.svelte
index e3ee91a9b..a80b6014a 100644
--- a/src/routes/(app)/modelfiles/+page.svelte
+++ b/src/routes/(app)/modelfiles/+page.svelte
@@ -20,7 +20,10 @@
 	const deleteModelHandler = async (tagName) => {
 		let success = null;
 
-		success = await deleteModel(localStorage.token, tagName);
+		success = await deleteModel(localStorage.token, tagName).catch((err) => {
+			toast.error(err);
+			return null;
+		});
 
 		if (success) {
 			toast.success(`Deleted ${tagName}`);