♻️ (monitor.py): change POST to DELETE for delete_messages endpoint
♻️ (schemas.py): remove unused MessageIds schema ♻️ (api.tsx): add missing commas in ApiInterceptor function 🐛 (api.tsx): fix duplicate request check to include method "get" ♻️ (index.ts): change deleteMessagesFn to use DELETE method instead of POST ♻️ (use-remove-messages.tsx): clean up comments and improve error handling
This commit is contained in:
parent
57c38acace
commit
21a8545ddb
5 changed files with 19 additions and 24 deletions
|
|
@ -1,8 +1,7 @@
|
|||
from typing import List, Optional
|
||||
|
||||
from uuid import UUID
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
|
||||
from langflow.api.v1.schemas import MessageIds
|
||||
from langflow.services.deps import get_monitor_service
|
||||
from langflow.services.monitor.schema import (
|
||||
MessageModelRequest,
|
||||
|
|
@ -68,13 +67,13 @@ async def get_messages(
|
|||
raise HTTPException(status_code=500, detail=str(e))
|
||||
|
||||
|
||||
@router.post("/messages", status_code=204)
|
||||
@router.delete("/messages", status_code=204)
|
||||
async def delete_messages(
|
||||
message_ids: MessageIds,
|
||||
message_ids: List[int],
|
||||
monitor_service: MonitorService = Depends(get_monitor_service),
|
||||
):
|
||||
try:
|
||||
monitor_service.delete_messages(message_ids=message_ids.ids)
|
||||
monitor_service.delete_messages(message_ids=message_ids)
|
||||
except Exception as e:
|
||||
raise HTTPException(status_code=500, detail=str(e))
|
||||
|
||||
|
|
|
|||
|
|
@ -322,5 +322,3 @@ class FlowDataRequest(BaseModel):
|
|||
class ConfigResponse(BaseModel):
|
||||
frontend_timeout: int
|
||||
|
||||
class MessageIds(BaseModel):
|
||||
ids: List[int]
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ function ApiInterceptor() {
|
|||
}
|
||||
await clearBuildVerticesState(error);
|
||||
return Promise.reject(error);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
const isAuthorizedURL = (url) => {
|
||||
|
|
@ -65,10 +65,10 @@ function ApiInterceptor() {
|
|||
const parsedURL = new URL(url);
|
||||
|
||||
const isDomainAllowed = authorizedDomains.some(
|
||||
(domain) => parsedURL.origin === new URL(domain).origin
|
||||
(domain) => parsedURL.origin === new URL(domain).origin,
|
||||
);
|
||||
const isEndpointAllowed = authorizedEndpoints.some((endpoint) =>
|
||||
parsedURL.pathname.includes(endpoint)
|
||||
parsedURL.pathname.includes(endpoint),
|
||||
);
|
||||
|
||||
return isDomainAllowed || isEndpointAllowed;
|
||||
|
|
@ -91,7 +91,8 @@ function ApiInterceptor() {
|
|||
if (
|
||||
config?.url === lastUrl &&
|
||||
!isContained &&
|
||||
lastMethodCalled === config.method
|
||||
lastMethodCalled === config.method &&
|
||||
lastMethodCalled === "get"
|
||||
) {
|
||||
return Promise.reject("Duplicate request");
|
||||
}
|
||||
|
|
@ -112,7 +113,7 @@ function ApiInterceptor() {
|
|||
},
|
||||
(error) => {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
return () => {
|
||||
|
|
@ -144,7 +145,7 @@ function ApiInterceptor() {
|
|||
if (error?.config?.headers) {
|
||||
delete error.config.headers["Authorization"];
|
||||
error.config.headers["Authorization"] = `Bearer ${cookies.get(
|
||||
"access_token_lf"
|
||||
"access_token_lf",
|
||||
)}`;
|
||||
const response = await axios.request(error.config);
|
||||
return response;
|
||||
|
|
|
|||
|
|
@ -1040,7 +1040,12 @@ export async function getMessagesTable(
|
|||
}
|
||||
|
||||
export async function deleteMessagesFn(ids: number[]) {
|
||||
return await api.post(`${BASE_URL_API}monitor/messages`, {
|
||||
ids,
|
||||
});
|
||||
try {
|
||||
return await api.delete(`${BASE_URL_API}monitor/messages`, {
|
||||
data: ids,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Error deleting flows:", error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,22 +12,14 @@ const useRemoveMessages = (
|
|||
|
||||
const handleRemoveMessages = async () => {
|
||||
try {
|
||||
// Call the deleteMessagesFn to perform the deletion
|
||||
await deleteMessagesFn(selectedRows);
|
||||
|
||||
// Assuming deleteMessages is a separate function that updates state after deletion
|
||||
const res = await deleteMessages(selectedRows);
|
||||
setRows(res);
|
||||
|
||||
// Clear the selected rows
|
||||
setSelectedRows([]);
|
||||
|
||||
// Set success message
|
||||
setSuccessData({
|
||||
title: "Messages deleted successfully.",
|
||||
});
|
||||
} catch (error) {
|
||||
// Set error message
|
||||
setErrorData({
|
||||
title: "Error deleting messages.",
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue