UNPKG

@moartube/moartube-client

Version:

A free, open-source, self-hosted, anonymous, decentralized video/live stream platform. Scalable via Cloudflare, works in the cloud or from home WiFi.

135 lines (102 loc) 3.98 kB
const express = require('express'); const { all_GET, archiveAll_GET, archive_POST, delete_POST, archiveDelete_POST } = require('../controllers/reports-comments'); const { node_isAuthenticated, node_doSignout } = require('../utils/node-communications'); const { logDebugMessageToConsole } = require('../utils/helpers'); const router = express.Router(); router.get('/', async (req, res) => { try { const jwtToken = req.session.jwtToken; const response = await node_isAuthenticated(jwtToken); if (response.isError) { logDebugMessageToConsole(response.message, null, new Error().stack); node_doSignout(req, res); } else if (response.isAuthenticated) { const { node_GET } = require('../controllers/settings'); const { newContentCounts_GET } = require('../controllers/node'); const { all_GET, archiveAll_GET } = require('../controllers/reports-comments'); const nodeSettings = await node_GET(jwtToken); const newContentCounts = (await newContentCounts_GET(jwtToken)).newContentCounts; const commentReports = (await all_GET(jwtToken)).reports; const commentReportsArchive = (await archiveAll_GET(jwtToken)).reports; res.render('reports-comments', { nodeSettings: nodeSettings, newContentCounts: newContentCounts, commentReports: commentReports, commentReportsArchive: commentReportsArchive, }); } else { res.redirect('/account/signin'); } } catch (error) { logDebugMessageToConsole(null, error, new Error().stack); node_doSignout(req, res); } }); router.get('/all', async (req, res) => { try { const jwtToken = req.session.jwtToken; const data = await all_GET(jwtToken); res.send(data); } catch (error) { logDebugMessageToConsole(null, error, new Error().stack); res.send({ isError: true, message: 'error communicating with the MoarTube node' }); } }); router.get('/archive/all', async (req, res) => { try { const jwtToken = req.session.jwtToken; const data = await archiveAll_GET(jwtToken); res.send(data); } catch (error) { logDebugMessageToConsole(null, error, new Error().stack); res.send({ isError: true, message: 'error communicating with the MoarTube node' }); } }); router.post('/archive', async (req, res) => { try { const jwtToken = req.session.jwtToken; const reportId = req.body.reportId; const data = await archive_POST(jwtToken, reportId); res.send(data); } catch (error) { logDebugMessageToConsole(null, error, new Error().stack); res.send({ isError: true, message: 'error communicating with the MoarTube node' }); } }); router.post('/delete', async (req, res) => { try { const jwtToken = req.session.jwtToken; const reportId = req.body.reportId; const data = await delete_POST(jwtToken, reportId); res.send(data); } catch (error) { logDebugMessageToConsole(null, error, new Error().stack); res.send({ isError: true, message: 'error communicating with the MoarTube node' }); } }); router.post('/archive/delete', async (req, res) => { try { const jwtToken = req.session.jwtToken; const archiveId = req.body.archiveId; const data = await archiveDelete_POST(jwtToken, archiveId); res.send(data); } catch (error) { logDebugMessageToConsole(null, error, new Error().stack); res.send({ isError: true, message: 'error communicating with the MoarTube node' }); } }); module.exports = router;