feat: `GET /chats/:roomId/:mid`

isekai-main
Julian Lam 3 years ago
parent f48ed3658a
commit b292960594

@ -66,6 +66,11 @@ Chats.kick = async (req, res) => {
};
Chats.messages = {};
Chats.messages.get = async (req, res) => {
const messages = await messaging.getMessagesData([req.params.mid], req.uid, req.params.roomId, false);
helpers.formatApiResponse(200, res, messages.pop());
};
Chats.messages.edit = async (req, res) => {
await messaging.canEdit(req.params.mid, req.uid);
await messaging.editMessage(req.uid, req.params.mid, req.params.roomId, req.body.message);

@ -23,7 +23,7 @@ module.exports = function () {
// setupApiRoute(router, 'put', '/:roomId/users', [...middlewares, middleware.assert.room, middleware.checkRequired.bind(null, ['uids'])], controllers.write.chats.invite);
// setupApiRoute(router, 'delete', '/:roomId/users', [...middlewares, middleware.assert.room, middleware.checkRequired.bind(null, ['uids'])], controllers.write.chats.kick);
// setupApiRoute(router, 'get', '/:roomId/:mid', [...middlewares, middleware.assert.room], controllers.write.chats.messages.get);
setupApiRoute(router, 'get', '/:roomId/:mid', [...middlewares, middleware.assert.room], controllers.write.chats.messages.get);
setupApiRoute(router, 'put', '/:roomId/:mid', [...middlewares, middleware.assert.room], controllers.write.chats.messages.edit);
// setupApiRoute(router, 'delete', '/:roomId/:mid', [...middlewares, middleware.assert.room], controllers.write.chats.messages.delete);

@ -657,7 +657,11 @@ describe('Messaging Library', () => {
});
it('should edit message', async () => {
const { statusCode, body } = await callv3API('put', `/chats/${roomId}/${mid}`, { message: 'message edited' }, 'foo');
let { statusCode, body } = await callv3API('put', `/chats/${roomId}/${mid}`, { message: 'message edited' }, 'foo');
assert.strictEqual(statusCode, 200);
assert.strictEqual(body.response.content, 'message edited');
({ statusCode, body } = await callv3API('get', `/chats/${roomId}/${mid}`, {}, 'foo'));
assert.strictEqual(statusCode, 200);
assert.strictEqual(body.response.content, 'message edited');
});

Loading…
Cancel
Save