51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
const express = require('express');
|
|
const bodyParser = require('body-parser');
|
|
|
|
const Task = require('./task');
|
|
const TaskService = require('./task-service');
|
|
const dao = new TaskService();
|
|
const app = express();
|
|
|
|
app.use(bodyParser.json()); // before request handlers
|
|
|
|
app.get('/api/tasks', getTasks);
|
|
app.get('/api/tasks/:id', getTask);
|
|
app.post('/api/tasks', saveTask);
|
|
app.delete('/api/tasks/:id', deleteTask);
|
|
|
|
app.use(errorHandler); // after request handlers
|
|
|
|
app.listen(3000, () => console.log('Server is running...'));
|
|
|
|
function getTasks(request, response, next) {
|
|
dao.getTasks()
|
|
.then(tasks => response.json(tasks))
|
|
.catch(next);
|
|
}
|
|
|
|
function getTask(request, response, next) {
|
|
var id = request.params.id;
|
|
dao.getTask(id)
|
|
.then(task => response.json(task))
|
|
.catch(next);
|
|
}
|
|
|
|
function saveTask(request, response, next) {
|
|
dao.saveTask(request.body)
|
|
.then(() => response.end())
|
|
.catch(next);
|
|
}
|
|
|
|
function deleteTask(request, response, next) {
|
|
var id = request.params.id;
|
|
dao.deleteTask(id)
|
|
.then(() => response.end())
|
|
.catch(next);
|
|
}
|
|
|
|
function errorHandler(error, request, response, next) { // there must be 4 arguments
|
|
response.status(500).json({ error: error.toString() });
|
|
}
|