diff --git a/api/models/Message.js b/api/models/Message.js index 89dde7b128..5c07af4970 100644 --- a/api/models/Message.js +++ b/api/models/Message.js @@ -1,7 +1,9 @@ const Message = require('./schema/messageSchema'); + module.exports = { Message, - saveMessage: async ({ + + async saveMessage({ messageId, newMessageId, conversationId, @@ -12,7 +14,7 @@ module.exports = { error, unfinished, cancelled - }) => { + }) { try { // may also need to update the conversation here await Message.findOneAndUpdate( @@ -30,39 +32,55 @@ module.exports = { }, { upsert: true, new: true } ); - return { messageId, conversationId, parentMessageId, sender, text, isCreatedByUser }; - } catch (error) { - console.error(error); - return { message: 'Error saving message' }; + + return { + messageId, + conversationId, + parentMessageId, + sender, + text, + isCreatedByUser + }; + + } catch (err) { + console.error(`Error saving message: ${err}`); + throw new Error('Failed to save message.'); } }, - deleteMessagesSince: async ({ messageId, conversationId }) => { + + async deleteMessagesSince({ messageId, conversationId }) { try { const message = await Message.findOne({ messageId }).exec(); - if (message) + if (message) { return await Message.find({ conversationId }) .deleteMany({ createdAt: { $gt: message.createdAt } }) .exec(); - } catch (error) { - console.error(error); - return { message: 'Error deleting messages' }; + } + + } catch (err) { + console.error(`Error deleting messages: ${err}`); + throw new Error('Failed to delete messages.'); } }, - getMessages: async (filter) => { + + async getMessages(filter) { try { return await Message.find(filter).sort({ createdAt: 1 }).exec(); - } catch (error) { - console.error(error); - return { message: 'Error getting messages' }; + + } catch (err) { + console.error(`Error getting messages: ${err}`); + throw new Error('Failed to get messages.'); } }, - deleteMessages: async (filter) => { + + async deleteMessages(filter) { try { return await Message.deleteMany(filter).exec(); - } catch (error) { - console.error(error); - return { message: 'Error deleting messages' }; + + } catch (err) { + console.error(`Error deleting messages: ${err}`); + throw new Error('Failed to delete messages.'); } } };