Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 1x 1x 1x 1x 1x 1x | /** * @module information */ const informationRepository = require("../../repositories/information"); const cache = require("../cache"); /** * Updates an information entry that already exists in the database. * Upon success, updates the record in the cache too. * @param {Object} information a valid information object * @return {Object} updated information entry */ const updateInformation = async (information) => { const updateInformationResult = await informationRepository.update(information); const updatedRecord = updateInformationResult.rows[0]; // if successful, cache it cache.set(`information-${information.type}`, updatedRecord.content); return updatedRecord; }; /** * Gets content of an information entry matching the input information * type. Fetches from cache if possible, otherwise, fetches from * database and caches the value for future use. * @param {String} type type of information * @return {String} content of information entry */ const getInformationData = async (type) => { const cacheKey = `information-${type}`; if (cache.has(cacheKey)) { return cache.get(cacheKey); } else { const informationResult = await informationRepository.findByType(type); const informationObject = informationResult.rows[0]; // if successful, cache it cache.set(cacheKey, informationObject.content); return informationObject.content; } }; module.exports = { getInformationData, updateInformation, }; |