Files
NodeBB/src/controllers/admin/digest.js
Julian Lam 645d647248 feat: wip, better digest handling (+ eventual digest resend logic) (#7995)
* feat: wip, better digest handling (+ eventual digest resend logic)

- await emailer.send call in digest.send method
- save send success to a new sorted set digest:{interval}:byUid

* feat: continuing work on digest tools

- Added ACP page to view digest settings and delivery times per user

* feat: added paginator and stub buttons for resending digest

* feat: wrapping up digest revamp

- New language strings in ACP digest page
- Client-side ACP script for digest ACP page
- Websocket call for ACP page to execute digests
- Broke out logic to retrieve user digest settings to getUsersInterval

* fix: minor cleanup

* fix: #8010 and some style suggestions from baris

* fix: resolve confusing comment
2019-11-02 13:11:02 -04:00

24 lines
742 B
JavaScript

'use strict';
const meta = require('../../meta');
const digest = require('../../user/digest');
const pagination = require('../../pagination');
const digestController = module.exports;
digestController.get = async function (req, res) {
const page = parseInt(req.query.page, 10) || 1;
const resultsPerPage = 50;
const start = Math.max(0, page - 1) * resultsPerPage;
const stop = start + resultsPerPage - 1;
const delivery = await digest.getDeliveryTimes(start, stop);
const pageCount = Math.ceil(delivery.count / resultsPerPage);
res.render('admin/manage/digest', {
title: '[[admin/menu:manage/digest]]',
delivery: delivery.users,
default: meta.config.dailyDigestFreq,
pagination: pagination.create(page, pageCount),
});
};