UNPKG

isatdatapro-microservices

Version:

A library for creating microservices to access Inmarsat's IsatData Pro satellite IoT system

34 lines (30 loc) 1.14 kB
'use strict'; const { logger } = require('../../logging'); const { Mobile, Mailbox } = require('../models'); /** * Returns the Mailbox entity for a given Mobile * @param {DatabaseContext} database The database context/connection * @param {string} mobileId The Mobile ID * @returns {Mailbox} */ async function getMobileMailbox(database, mobileId) { let filterMobile = { mobileId: mobileId }; let category = Mobile.prototype.category; const findMobile = await database.find(category, filterMobile); if (findMobile.length === 1) { const mobile = findMobile[0]; let filterMailbox = { mailboxId: mobile.mailboxId }; category = Mailbox.prototype.category; const findMailbox = await database.find(category, filterMailbox); if (findMailbox.length > 0) { if (findMailbox.length > 1) { logger.warning(`${findMailbox.length} entries found` + ` for ${mobile.mailboxId}`); } return findMailbox[0]; } throw new Error(`Mailbox ${mobile.mailboxId} not found in database`); } throw new Error(`Mobile ${mobileId} not found in database`); } module.exports = getMobileMailbox;