// venue.js // Copyright (C) 2022 DTP Technologies, LLC // License: Apache-2.0 'use strict'; const express = require('express'); const { SiteController } = require('../../lib/site-lib'); class VenueController extends SiteController { constructor (dtp) { super(dtp, module.exports); } async start ( ) { const { limiter: limiterService } = this.dtp.services; const welcomeLimiter = limiterService.createMiddleware(limiterService.config.welcome); const router = express.Router(); router.use(this.dtp.services.venue.channelMiddleware()); this.dtp.app.use('/venue', welcomeLimiter, async (req, res, next) => { res.locals.currentView = 'venue'; return next(); }, router); router.get('/', this.getVenueView.bind(this)); return router; } async getVenueView (req, res) { res.render('venue/embed'); } } module.exports = { slug: 'venue', name: 'venue', create: async (dtp) => { return new VenueController(dtp); }, };