-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathserver.js
More file actions
55 lines (46 loc) · 1.57 KB
/
Copy pathserver.js
File metadata and controls
55 lines (46 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
const express = require("express");
const PORT = process.env.PORT || 3000;
const errorMiddleware = require("./middleware/error");
const authMiddleware = require("./middleware/auth");
const {
getAllBooksHandler,
getBookIdHandler,
addBookHandler,
deleteBookHandler,
updateBookHandler,
getAllUserBooksHandler,
getAllFictionHandler,
getAllNonFictionHandler,
} = require("./handlers/books-handler");
const {
getAllUsersHandler,
addUserHandler,
loginHandler,
// logoutHandler,
getAllReadersHandler,
} = require("./handlers/users-handler");
// const bodyparser = require("body-parser")
const server = express();
server.use(express.json());
server.listen(PORT, () => console.log(`Listening on http://localhost:${PORT}`));
// BOOK ROUTES
server.get("/books/non-fiction", getAllNonFictionHandler);
server.get("/books/fiction", getAllFictionHandler);
server.get("/books/:id([0-9]+)", getBookIdHandler);
server.put("/books/:id([0-9]+)", authMiddleware, updateBookHandler);
server.get("/:user/books", getAllUserBooksHandler);
server.get("/:book/users", getAllReadersHandler);
server.delete("/books/:id([0-9]+)", authMiddleware, deleteBookHandler);
server.get("/books", getAllBooksHandler);
server.post("/books", authMiddleware, addBookHandler);
// USER ROUTES
server.get("/users", getAllUsersHandler);
server.post("/users", addUserHandler);
server.post("/login", loginHandler);
// server.post("/logout", authMiddleware, logoutHandler);
server.use((req, res, next) => {
const error = new Error("Resource Not Found");
error.status = 404;
next(error);
});
server.use(errorMiddleware);