-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
37 lines (30 loc) · 856 Bytes
/
index.js
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
const express = require("express");
const users = require("./users");
const app = express();
app.use(express.json());
app.get("/", (req, res) => res.send("HEllo "));
app.get("/users/:page?:n?", async (req, res) => {
const rgx = new RegExp(req.query.n, "i", "g");
const response = users.filter((u) => rgx.test(u.name));
const limit = 2;
const pages = Math.ceil(response.length / limit);
const page = req.query.page;
const endIndex = page * limit;
const starIndex = endIndex - limit;
const result = {
filterName: req.query.n || "none",
pages,
starIndex,
endIndex,
length: response.length,
data: {
users: response.slice(starIndex, endIndex),
},
};
res.send(result);
});
app.listen(5000, (err) => {
err
? console.log(err)
: console.log("\x1b[36m%s\x1b[0m", "Server is running......");
});