1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/backend/routes/PublicRouter.ts

37 lines
1.1 KiB
TypeScript
Raw Normal View History

2016-03-19 04:36:58 +08:00
///<reference path="../../typings/main.d.ts"/>
2016-05-09 23:04:56 +08:00
import * as _express from "express";
import {NextFunction, Request, Response} from "express";
2016-05-09 23:04:56 +08:00
import * as _path from "path";
import {Utils} from "../../common/Utils";
import {Config} from "../config/Config";
2016-05-09 23:04:56 +08:00
export class PublicRouter {
constructor(private app) {
this.app.use((req:Request, res:Response, next:NextFunction) => {
res.tpl = {};
res.tpl.user = null;
2016-05-09 23:04:56 +08:00
if (req.session.user) {
let user = Utils.clone(req.session.user);
delete user.password;
res.tpl.user = user;
}
res.tpl.clientConfig = Config.Client;
return next();
});
2016-05-09 23:04:56 +08:00
this.app.use(_express.static(_path.resolve(__dirname, './../../frontend')));
2016-05-09 23:04:56 +08:00
this.app.use('/node_modules', _express.static(_path.resolve(__dirname, './../../node_modules')));
2016-05-09 23:04:56 +08:00
var renderIndex = (req:Request, res:Response) => {
res.render(_path.resolve(__dirname, './../../frontend/index.ejs'), res.tpl);
};
2016-05-09 23:04:56 +08:00
2016-05-16 17:03:11 +08:00
this.app.get(['/', '/login', "/gallery*", "/admin", "/search*"], renderIndex);
2016-03-19 04:36:58 +08:00
}
2016-05-09 23:04:56 +08:00
2016-03-19 04:36:58 +08:00
}