mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-08-27 00:55:33 +02:00
feat: api token migration, new ACP tokens list, token creation
This commit is contained in:
@@ -111,14 +111,6 @@ settingsController.social = async function (req, res) {
|
||||
};
|
||||
|
||||
settingsController.api = async (req, res) => {
|
||||
const { tokens } = await meta.settings.get('core.api');
|
||||
const scores = await api.utils.tokens.getLastSeen(tokens.map(t => t.token));
|
||||
|
||||
const [lastSeen, lastSeenISO] = tokens.reduce((memo, cur, idx) => {
|
||||
memo[0][cur.token] = scores[idx];
|
||||
memo[1][cur.token] = new Date(scores[idx]).toISOString();
|
||||
return memo;
|
||||
}, [{}, {}]);
|
||||
|
||||
res.render('admin/settings/api', { lastSeen, lastSeenISO });
|
||||
const tokens = await api.utils.tokens.list();
|
||||
res.render('admin/settings/api', { tokens });
|
||||
};
|
||||
|
||||
@@ -28,3 +28,21 @@ Admin.getAnalyticsData = async (req, res) => {
|
||||
units: req.query.units,
|
||||
}));
|
||||
};
|
||||
|
||||
Admin.generateToken = async (req, res) => {
|
||||
const { uid, description } = req.body;
|
||||
helpers.formatApiResponse(200, res, await api.utils.tokens.generate({ uid, description }));
|
||||
};
|
||||
|
||||
Admin.updateToken = async (req, res) => {
|
||||
// todo: token rolling via req.body
|
||||
const { uid, description } = req.body;
|
||||
const { token } = req.params;
|
||||
|
||||
helpers.formatApiResponse(200, res, await api.utils.tokens.update(token, { uid, description }));
|
||||
};
|
||||
|
||||
Admin.deleteToken = async (req, res) => {
|
||||
const { token } = req.params;
|
||||
helpers.formatApiResponse(200, res, await api.utils.tokens.delete(token));
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user