41 lines
871 B
TypeScript
41 lines
871 B
TypeScript
import { Router } from "express";
|
|
import { Validator } from "express-json-validator-middleware";
|
|
|
|
export const router = Router();
|
|
|
|
const { validate } = new Validator({ });
|
|
|
|
const user = {
|
|
type: "object",
|
|
required: ["name"],
|
|
properties: {
|
|
name: {
|
|
type: "string"
|
|
}
|
|
},
|
|
};
|
|
|
|
let users = [
|
|
{ id: 1, name: 'John' },
|
|
{ id: 2, name: 'Jane' },
|
|
];
|
|
|
|
const addUser = (user) => new Promise<void>((res, rej) => {
|
|
setTimeout(() => {
|
|
// rej(new Error('user is not a spoon'));
|
|
users.push(user);
|
|
res();
|
|
}, 100)
|
|
})
|
|
|
|
router.get('/', (req, res) => void res.send(users));
|
|
router.post('/', async (req, res) => {
|
|
await addUser(req.body);
|
|
res.send(users);
|
|
})
|
|
|
|
router.delete('/:id', validate(''), (req, res, next) => {
|
|
users = users.filter(user => user.id !== Number(req.params.id));
|
|
res.send(users);
|
|
})
|