export {}; import { Request, Response, NextFunction, ErrorRequestHandler } from 'express'; const express = require('express'); require('dotenv').config(); const mongoose = require('mongoose'); const app = express(); // Bring in routes app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.get('/', (req: Request, res: Response) => { res.status(200).send('Nothing here yet'); }); // CONNECT TO MONGO DB mongoose.connect(process.env.DB_CONNECTION, { useNewUrlParser: true, useUnifiedTopology: true, }); mongoose.connection.on('connected', () => { console.log('connected to database!'); }); mongoose.connection.on('error', (err) => { console.log('ERROR CONNECTING TO DATABASE: ', err); }); // postRequest route app.post( '/tasks', requestController.postRequest, (req: Request, res: Response) => { return res.status(200).json(res.locals.tasks); } ); // deleteRequest route app.delete( '/tasks/:id', requestController.deleteTask, (req: Request, res: Response) => { return res.status(200).json(res.locals.tasks); } ); // Global Error handler app.use( ( err: ErrorRequestHandler, req: Request, res: Response, next: NextFunction ) => { // Set up default error const defaultError = { log: 'Error caught in global error handler', status: 500, msg: { err: err, }, }; // Update default error message with provided error if there is one const output = Object.assign(defaultError, err); res.send(output); } ); const PORT = 3001; app.listen(PORT, () => console.log(`Server running on port ${PORT}`));