| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import { Request, Response, Router } from "express";
- import DBConnectorFactory from "../src/DbConnector/DBConnectorFactory";
- import { Clause, QueryBuilder } from "../src/DbConnector/Query";
- import UserModel from "../src/models/User";
- const router = Router();
- router.get('/', (req: Request, res: Response) => {
- return res.end("accounting dashboard"); // FIXME
- });
- function RenderUserAccounting(user: UserModel, req: Request, res: Response) {
- return res.end(`accounting (user ${user.GetUsername()})`); // FIXME
- }
- router.get('/self', (req: Request, res: Response) => {
- RenderUserAccounting(req.mSession.GetUser(), req, res);
- });
- router.get('/user/:userId', async (req: Request, res: Response, next: any) => {
- const id = parseInt(req.params["userId"] || "", 10);
- if (isNaN(id)) {
- let err: any = new Error("Invalid Request");
- err.status = 400;
- next(err);
- return;
- }
- const user: UserModel | null = await (await DBConnectorFactory.GetConnector()).FetchOne(new QueryBuilder().Where(Clause.Equal(UserModel.USERID, id)), UserModel);
- if (user) {
- RenderUserAccounting(user, req, res);
- } else {
- let err: any = new Error("No such entity " +id);
- err.status = 404;
- next(err);
- return;
- }
- });
- export default router;
|