import express, { NextFunction, Response, Request } from "express"
import api from "./routes/api";
import ExceptionController from "./controllers/exception.controller";
import bodyParser from "body-parser";
import AuthMiddleware from "./middleware/auth.middleware";
import cors from "cors";
import path from "path";

const app = express();
app.use([
    cors({ origin: '*' }),
    bodyParser.json(),
    bodyParser.urlencoded({ extended: false }),
    AuthMiddleware.includeToken
])
app.use('/static/uploads', express.static(path.join(__dirname, '../', 'uploads'), {

}));
app.get("/", (req, res: Response) => {
    res.json({ hello: 'world' })
})
app.use('/api', api);
app.use("*", ExceptionController.notFound);
app.use(ExceptionController.globalException);

export default app;