/
assets.ts
31 lines (26 loc) · 995 Bytes
/
assets.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { AssetGetRequest, AssetGetThemeRequest } from "@dendronhq/common-all";
import { ExpressUtils } from "@dendronhq/common-server";
import { Request, Response, Router } from "express";
import { getLogger } from "../core";
import { AssetsController } from "../modules/assets";
// Init router and path
const router = Router();
const L = getLogger();
const ctx = "assets";
router.get("/", async (req: Request, res: Response) => {
L.info({ ctx, msg: "enter", query: req.query });
const resp = await AssetsController.instance().get(
req.query as AssetGetRequest
);
if (ExpressUtils.handleError(res, resp)) return;
res.sendFile(resp.data!);
});
router.get("/theme", async (req: Request, res: Response) => {
L.info({ ctx, msg: "enter", query: req.query });
const resp = await AssetsController.instance().getTheme(
req.query as AssetGetThemeRequest
);
if (ExpressUtils.handleError(res, resp)) return;
res.sendFile(resp.data!);
});
export { router as assetsRouter };