1 import * as express from 'express'
2 import { join } from 'path'
3 import { RegisteredPlugin } from '../lib/plugins/plugin-manager'
4 import { serveThemeCSSValidator } from '../middlewares/validators/themes'
6 const themesRouter = express.Router()
8 themesRouter.get('/:themeName/:themeVersion/css/:staticEndpoint(*)',
9 serveThemeCSSValidator,
10 serveThemeCSSDirectory
13 // ---------------------------------------------------------------------------
19 // ---------------------------------------------------------------------------
21 function serveThemeCSSDirectory (req: express.Request, res: express.Response) {
22 const plugin: RegisteredPlugin = res.locals.registeredPlugin
23 const staticEndpoint = req.params.staticEndpoint
25 if (plugin.css.includes(staticEndpoint) === false) {
26 return res.sendStatus(404)
29 return res.sendFile(join(plugin.path, staticEndpoint))