@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
41 lines (37 loc) • 1.33 kB
JavaScript
;
var utils = require('../../../routes/journeys/my-reports/utils.js');
/**
* Unsubscribes a user to a scheduled report
*
* @param {Request} req
* @param {Response} res
* @param {Services} services
* @return {*}
*/
const unsubscribe = async (req, res, services) => {
const { dprUser } = res.locals;
if (!dprUser) {
throw new Error('No Dpr User');
}
if (!req.body) {
throw new Error('No body in request');
}
const { token, id: userId } = dprUser;
const { reportId, id } = req.params;
const { returnTo } = req.body;
// Unsubscribe API here
const subscriptionData = await services.subscriptionStoreService.getSubscription(reportId, id, userId);
if (subscriptionData) {
const { reportName, name, type } = subscriptionData;
await services.subscriptionService.unsubscribe(token, reportId, id);
await utils.removeMyReport('subscriptions', { reportId, id }, services, userId);
req.flash('DPR_UNSUBSCRIBED', JSON.stringify({
message: `<p>You have unsubscribed from <strong>${reportName} - ${name}</strong> ${type}</p><p>You will no longer recieve refreshed versions of this report</p>`,
}));
}
return {
returnTo,
};
};
exports.unsubscribe = unsubscribe;
//# sourceMappingURL=utils.js.map