Add API Endpoint for Deleting Documents in system (#1623)

* fix: "remove document system api"

* fix: "update text system system "

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
This commit is contained in:
yonathan suarez 2024-06-07 18:22:03 +02:00 committed by GitHub
parent 1b8386b079
commit bb0a4b0531
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 141 additions and 0 deletions

View File

@ -206,6 +206,69 @@ function apiSystemEndpoints(app) {
}
}
);
app.delete(
"/v1/system/remove-documents",
[validApiKey],
async (request, response) => {
/*
#swagger.tags = ['System Settings']
#swagger.description = 'Permanently remove documents from the system.'
#swagger.requestBody = {
description: 'Array of document names to be removed permanently.',
required: true,
content: {
"application/json": {
schema: {
type: 'object',
properties: {
names: {
type: 'array',
items: {
type: 'string'
},
example: [
"custom-documents/file.txt-fc4beeeb-e436-454d-8bb4-e5b8979cb48f.json"
]
}
}
}
}
}
}
#swagger.responses[200] = {
description: 'Documents removed successfully.',
content: {
"application/json": {
schema: {
type: 'object',
example: {
success: true,
message: 'Documents removed successfully'
}
}
}
}
}
#swagger.responses[403] = {
description: 'Forbidden',
schema: {
"$ref": "#/definitions/InvalidAPIKey"
}
}
#swagger.responses[500] = {
description: 'Internal Server Error'
}
*/
try {
const { names } = reqBody(request);
for await (const name of names) await purgeDocument(name);
response.status(200).json({ success: true, message: 'Documents removed successfully' }).end();
} catch (e) {
console.log(e.message, e);
response.sendStatus(500).end();
}
}
);
}
module.exports = { apiSystemEndpoints };

View File

@ -2241,6 +2241,84 @@
}
}
}
},
"/v1/system/remove-documents": {
"delete": {
"tags": [
"System Settings"
],
"description": "Permanently remove documents from the system.",
"parameters": [],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"success": true,
"message": "Documents removed successfully"
}
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InvalidAPIKey"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/InvalidAPIKey"
}
}
}
},
"500": {
"description": "Internal Server Error"
}
},
"requestBody": {
"description": "Array of document names to be removed permanently.",
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"names": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"custom-documents/file.txt-fc4beeeb-e436-454d-8bb4-e5b8979cb48f.json"
]
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"InvalidAPIKey": {
"type": "object",
"properties": {
"error": {
"type": "string",
"example": "Invalid API Key"
}
}
}
}
}
},
"components": {