Files
talk/plugins/talk-plugin-notifications/server/util.js
T
2018-03-06 16:20:15 -07:00

33 lines
971 B
JavaScript

const getOrganizationName = async ctx => {
// Grab some useful tools.
const { loaders: { Settings } } = ctx;
// Get the settings.
const { organizationName = null } = await Settings.load('organizationName');
return organizationName;
};
/**
* getNotificationBody will return the body for the notification payload.
*
* @param {Object} ctx the graph context
* @param {Object} handler the notification handler
* @param {Mixed} context the notification context
*/
const getNotificationBody = async (ctx, handler, context) => {
const { connectors: { services: { I18n: { t } } } } = ctx;
const { category, hydrate = () => [] } = handler;
// Get the body replacement variables for the translation key.
const replacements = await hydrate(ctx, category, context);
// Generate the body.
return t(
`talk-plugin-notifications.categories.${category}.body`,
...replacements
);
};
module.exports = { getNotificationBody, getOrganizationName };