isatdatapro-microservices
Version:
A library for creating microservices to access Inmarsat's IsatData Pro satellite IoT system
30 lines (26 loc) • 1.06 kB
JavaScript
;
//const logger = require('../../logging').loggerProxy(__filename);
const { Mobile, MessageForward } = require('../models');
const getMobileMailbox = require('./getMobileMailbox');
/**
* Returns the Mailbox entity for a given Forward Message
* @param {DatabaseContext} database The database context/connection
* @param {number} messageId The Mobile ID
* @returns {Object} the Mailbox entity
* @throws {Error} if messageId or mobileId not found in database
*/
async function getStatusMailbox(database, messageId) {
let filterMessage = { messageId: messageId };
const findMessage =
await database.find(MessageForward.prototype.category, filterMessage);
if (findMessage.length > 0) {
const message = findMessage[0];
if (message.mobileId) {
const mailbox = await getMobileMailbox(database, message.mobileId);
return mailbox;
}
throw new Error(`Forward status ${messageId} mobileId unknown`);
}
throw new Error(`Message/status ${messageId} not found in database`);
}
module.exports = getStatusMailbox;