Untitled
unknown
plain_text
10 months ago
2.2 kB
9
Indexable
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
// Middleware to parse JSON bodies
app.use(bodyParser.json());
// In-memory task storage (we will use an array to store tasks temporarily)
let tasks = [];
// Create a new task
app.post('/tasks', (req, res) => {
const { title, description, dueDate } = req.body;
// Validate input fields
if (!title || !description) {
return res.status(400).json({ message: 'Title and description are required' });
}
// Create a new task
const newTask = {
id: tasks.length + 1,
title,
description,
dueDate,
completed: false,
};
// Store the new task
tasks.push(newTask);
// Respond with the created task
res.status(201).json(newTask);
});
// Get all tasks
app.get('/tasks', (req, res) => {
res.json(tasks);
});
// Update a task
app.put('/tasks/:id', (req, res) => {
const taskId = parseInt(req.params.id);
const task = tasks.find(t => t.id === taskId);
// Check if the task exists
if (!task) {
return res.status(404).json({ message: 'Task not found' });
}
const { title, description, dueDate, completed } = req.body;
// Update task fields
if (title) task.title = title;
if (description) task.description = description;
if (dueDate) task.dueDate = dueDate;
if (completed !== undefined) task.completed = completed;
// Respond with the updated task
res.json(task);
});
// Delete a task
app.delete('/tasks/:id', (req, res) => {
const taskId = parseInt(req.params.id);
const taskIndex = tasks.findIndex(t => t.id === taskId);
// Check if the task exists
if (taskIndex === -1) {
return res.status(404).json({ message: 'Task not found' });
}
// Remove the task from the array
tasks.splice(taskIndex, 1);
// Respond with no content status (204)
res.status(204).send();
});
// Start the server
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
Editor is loading...
Leave a Comment