diff --git a/src/controller/messageController.ts b/src/controller/messageController.ts index 8c55b4cc4..60c081485 100644 --- a/src/controller/messageController.ts +++ b/src/controller/messageController.ts @@ -93,6 +93,53 @@ export async function sendMessage(req: Request, res: Response) { } } +export async function editMessage(req: Request, res: Response) { + /** + * #swagger.tags = ["Messages"] + #swagger.autoBody=false + #swagger.security = [{ + "bearerAuth": [] + }] + #swagger.parameters["session"] = { + schema: 'NERDWHATS_AMERICA' + } + #swagger.requestBody = { + required: true, + "@content": { + "application/json": { + schema: { + type: "object", + properties: { + id: { type: "string" }, + newText: { type: "string" }, + options: { type: "object" }, + } + }, + examples: { + "Edit a message": { + value: { + id: 'true_5521999999999@c.us_3EB04FCAA1527EB6D9DEC8', + newText: 'New text for message' + } + }, + } + } + } + } + */ + const { id, newText } = req.body; + + const options = req.body.options || {}; + try { + const edited = await (req.client as any).editMessage(id, newText, options); + + req.io.emit('edited-message', edited); + returnSucess(res, edited); + } catch (error) { + returnError(req, res, error); + } +} + export async function sendFile(req: Request, res: Response) { /** * #swagger.tags = ["Messages"] diff --git a/src/routes/index.ts b/src/routes/index.ts index 4517b8abb..d738619ce 100644 --- a/src/routes/index.ts +++ b/src/routes/index.ts @@ -108,6 +108,12 @@ routes.post( statusConnection, MessageController.sendMessage ); +routes.post( + '/api/:session/edit-message', + verifyToken, + statusConnection, + MessageController.editMessage +); routes.post( '/api/:session/send-image', upload.single('file'), diff --git a/src/swagger.json b/src/swagger.json index a06c4312a..4806b25ce 100644 --- a/src/swagger.json +++ b/src/swagger.json @@ -628,6 +628,62 @@ } } }, + "/api/{session}/edit-message": { + "post": { + "tags": ["Messages"], + "description": "", + "parameters": [ + { + "name": "session", + "in": "path", + "required": true, + "schema": { + "type": "string", + "example": "NERDWHATS_AMERICA" + } + } + ], + "responses": { + "400": { + "description": "Bad Request" + } + }, + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "newText": { + "type": "string" + }, + "options": { + "type": "object" + } + } + }, + "examples": { + "Edit a message": { + "value": { + "id": "7787877872655655ad@ads858598.c.us", + "newText": "New text for message" + } + } + } + } + } + } + } + }, "/api/{session}/send-image": { "post": { "tags": ["Messages"],