@ssit-hub/mvp-generate-template
Version:
A beautiful CLI tool to quickly generate MVP project templates with modern frameworks and best practices
115 lines (93 loc) • 2.33 kB
JavaScript
const express = require('express');
const router = express.Router();
// Sample data
let users = [
{ id: 1, name: 'John Doe', email: 'john@example.com' },
{ id: 2, name: 'Jane Smith', email: 'jane@example.com' }
];
// GET /api/users - Get all users
router.get('/users', (req, res) => {
res.json({
success: true,
data: users,
count: users.length
});
});
// GET /api/users/:id - Get user by ID
router.get('/users/:id', (req, res) => {
const id = parseInt(req.params.id);
const user = users.find(u => u.id === id);
if (!user) {
return res.status(404).json({
success: false,
error: 'User not found'
});
}
res.json({
success: true,
data: user
});
});
// POST /api/users - Create new user
router.post('/users', (req, res) => {
const { name, email } = req.body;
if (!name || !email) {
return res.status(400).json({
success: false,
error: 'Name and email are required'
});
}
const newUser = {
id: users.length + 1,
name,
email
};
users.push(newUser);
res.status(201).json({
success: true,
data: newUser,
message: 'User created successfully'
});
});
// PUT /api/users/:id - Update user
router.put('/users/:id', (req, res) => {
const id = parseInt(req.params.id);
const userIndex = users.findIndex(u => u.id === id);
if (userIndex === -1) {
return res.status(404).json({
success: false,
error: 'User not found'
});
}
const { name, email } = req.body;
if (!name || !email) {
return res.status(400).json({
success: false,
error: 'Name and email are required'
});
}
users[userIndex] = { ...users[userIndex], name, email };
res.json({
success: true,
data: users[userIndex],
message: 'User updated successfully'
});
});
// DELETE /api/users/:id - Delete user
router.delete('/users/:id', (req, res) => {
const id = parseInt(req.params.id);
const userIndex = users.findIndex(u => u.id === id);
if (userIndex === -1) {
return res.status(404).json({
success: false,
error: 'User not found'
});
}
const deletedUser = users.splice(userIndex, 1)[0];
res.json({
success: true,
data: deletedUser,
message: 'User deleted successfully'
});
});
module.exports = router;