]>
Commit | Line | Data |
---|---|---|
345da516 C |
1 | import * as express from 'express' |
2 | import { PLUGIN_GLOBAL_CSS_PATH } from '../initializers/constants' | |
3 | import { join } from 'path' | |
4 | import { RegisteredPlugin } from '../lib/plugins/plugin-manager' | |
5 | import { servePluginStaticDirectoryValidator } from '../middlewares/validators/plugins' | |
6 | import { serveThemeCSSValidator } from '../middlewares/validators/themes' | |
7 | ||
8 | const themesRouter = express.Router() | |
9 | ||
10 | themesRouter.get('/:themeName/:themeVersion/css/:staticEndpoint', | |
11 | serveThemeCSSValidator, | |
12 | serveThemeCSSDirectory | |
13 | ) | |
14 | ||
15 | // --------------------------------------------------------------------------- | |
16 | ||
17 | export { | |
18 | themesRouter | |
19 | } | |
20 | ||
21 | // --------------------------------------------------------------------------- | |
22 | ||
23 | function serveThemeCSSDirectory (req: express.Request, res: express.Response) { | |
24 | const plugin: RegisteredPlugin = res.locals.registeredPlugin | |
25 | const staticEndpoint = req.params.staticEndpoint | |
26 | ||
27 | return express.static(join(plugin.path, staticEndpoint), { fallthrough: false }) | |
28 | } |