import { BaseRoute } from "../routes/BaseRoute"; import { NextFunction, Request, Response, Router } from "express"; import { AcademicYearRepository } from "@rolesvillesoftware/tiberhealthmodel/repositories"; export class AcademicYearApi extends BaseRoute { get concrete(): AcademicYearApi { return this; } static createRoute(router: Router) { console.log("[IndexRoute::create] Creating Academic Periods API."); router.get("/AcademicPeriods", (req: Request, res: Response, next: NextFunction) => { new AcademicYearApi(req, res, next).checkAuth(controller => controller.getAll()); }); } private getAll() { new AcademicYearRepository(this.warehouseConnection).getAll() .then(data => { this.res.setHeader('Content-Type', 'application/json'); this.res.send(JSON.stringify({ success: true, message: null, data: data.map(item => item.raw()) })); this.res.end(); }) .catch(error => { this.res.setHeader('Content-Type', 'application/json'); this.res.send(JSON.stringify({ success: false, message: error, data: null })); this.res.end(); }); } }