mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-16 16:30:15 +01:00
🔧 fix: Error handling in Firebase and Local file deletion (#10894)
Some checks failed
Docker Dev Branch Images Build / build (Dockerfile, lc-dev, node) (push) Has been cancelled
Docker Dev Branch Images Build / build (Dockerfile.multi, lc-dev-api, api-build) (push) Has been cancelled
Publish `@librechat/client` to NPM / build-and-publish (push) Has been cancelled
Publish `librechat-data-provider` to NPM / build (push) Has been cancelled
Publish `@librechat/data-schemas` to NPM / build-and-publish (push) Has been cancelled
Docker Dev Images Build / build (Dockerfile, librechat-dev, node) (push) Has been cancelled
Docker Dev Images Build / build (Dockerfile.multi, librechat-dev-api, api-build) (push) Has been cancelled
Sync Locize Translations & Create Translation PR / Sync Translation Keys with Locize (push) Has been cancelled
Publish `librechat-data-provider` to NPM / publish-npm (push) Has been cancelled
Sync Locize Translations & Create Translation PR / Create Translation PR on Version Published (push) Has been cancelled
Some checks failed
Docker Dev Branch Images Build / build (Dockerfile, lc-dev, node) (push) Has been cancelled
Docker Dev Branch Images Build / build (Dockerfile.multi, lc-dev-api, api-build) (push) Has been cancelled
Publish `@librechat/client` to NPM / build-and-publish (push) Has been cancelled
Publish `librechat-data-provider` to NPM / build (push) Has been cancelled
Publish `@librechat/data-schemas` to NPM / build-and-publish (push) Has been cancelled
Docker Dev Images Build / build (Dockerfile, librechat-dev, node) (push) Has been cancelled
Docker Dev Images Build / build (Dockerfile.multi, librechat-dev-api, api-build) (push) Has been cancelled
Sync Locize Translations & Create Translation PR / Sync Translation Keys with Locize (push) Has been cancelled
Publish `librechat-data-provider` to NPM / publish-npm (push) Has been cancelled
Sync Locize Translations & Create Translation PR / Create Translation PR on Version Published (push) Has been cancelled
- Added try-catch blocks to handle errors during document deletion from the RAG API. - Implemented logging for 404 errors indicating that the document may have already been deleted. - Improved error logging for other deletion errors in both Firebase and Local file services.
This commit is contained in:
parent
03c9d5f79f
commit
4a2de417b6
2 changed files with 36 additions and 16 deletions
|
|
@ -169,7 +169,8 @@ function extractFirebaseFilePath(urlString) {
|
||||||
const deleteFirebaseFile = async (req, file) => {
|
const deleteFirebaseFile = async (req, file) => {
|
||||||
if (file.embedded && process.env.RAG_API_URL) {
|
if (file.embedded && process.env.RAG_API_URL) {
|
||||||
const jwtToken = req.headers.authorization.split(' ')[1];
|
const jwtToken = req.headers.authorization.split(' ')[1];
|
||||||
axios.delete(`${process.env.RAG_API_URL}/documents`, {
|
try {
|
||||||
|
await axios.delete(`${process.env.RAG_API_URL}/documents`, {
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: `Bearer ${jwtToken}`,
|
Authorization: `Bearer ${jwtToken}`,
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
|
|
@ -177,6 +178,15 @@ const deleteFirebaseFile = async (req, file) => {
|
||||||
},
|
},
|
||||||
data: [file.file_id],
|
data: [file.file_id],
|
||||||
});
|
});
|
||||||
|
} catch (error) {
|
||||||
|
if (error.response?.status === 404) {
|
||||||
|
logger.warn(
|
||||||
|
`[deleteFirebaseFile] Document ${file.file_id} not found in RAG API, may have been deleted already`,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
logger.error('[deleteFirebaseFile] Error deleting document from RAG API:', error);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const fileName = extractFirebaseFilePath(file.filepath);
|
const fileName = extractFirebaseFilePath(file.filepath);
|
||||||
|
|
|
||||||
|
|
@ -210,7 +210,8 @@ const deleteLocalFile = async (req, file) => {
|
||||||
|
|
||||||
if (file.embedded && process.env.RAG_API_URL) {
|
if (file.embedded && process.env.RAG_API_URL) {
|
||||||
const jwtToken = generateShortLivedToken(req.user.id);
|
const jwtToken = generateShortLivedToken(req.user.id);
|
||||||
axios.delete(`${process.env.RAG_API_URL}/documents`, {
|
try {
|
||||||
|
await axios.delete(`${process.env.RAG_API_URL}/documents`, {
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: `Bearer ${jwtToken}`,
|
Authorization: `Bearer ${jwtToken}`,
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
|
|
@ -218,6 +219,15 @@ const deleteLocalFile = async (req, file) => {
|
||||||
},
|
},
|
||||||
data: [file.file_id],
|
data: [file.file_id],
|
||||||
});
|
});
|
||||||
|
} catch (error) {
|
||||||
|
if (error.response?.status === 404) {
|
||||||
|
logger.warn(
|
||||||
|
`[deleteLocalFile] Document ${file.file_id} not found in RAG API, may have been deleted already`,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
logger.error('[deleteLocalFile] Error deleting document from RAG API:', error);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cleanFilepath.startsWith(`/uploads/${req.user.id}`)) {
|
if (cleanFilepath.startsWith(`/uploads/${req.user.id}`)) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue