Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- const bodyParser = require('body-parser');
- const app = express();
- // parse application/json
- app.use(bodyParser.json());
- // parse application/x-www-form-urlencoded
- app.use(bodyParser.urlencoded({ extended: false }));
- const port = 3001;
- let users = [
- {
- id: 1,
- email: 'johndoe',
- password: 'password',
- firstName: 'John',
- lastName: 'Doe',
- },
- {
- id: 2,
- email: 'macmiller',
- password: 'password',
- firstName: 'mac',
- lastName: 'Miller',
- },
- ];
- app.get('/', (req, res) => res.send('Hello World!'));
- app.post('/login', (req, res) => {
- console.log(req.body);
- // get parameters from post request
- let params = req.body;
- // find if any user matches login credentials
- let filteredUsers = users.filter((user) => {
- return user.email === params.email && user.password === params.password;
- });
- if (filteredUsers.length) {
- // if login details are valid return user details and fake jwt token
- let user = filteredUsers[0];
- let responseJson = {
- id: user.id,
- email: user.email,
- firstName: user.firstName,
- lastName: user.lastName,
- token: 'fake-jwt-token',
- };
- res.status(200).json(responseJson);
- } else {
- res.status(401).json({ message: 'Wrong Password or email' });
- }
- });
- app.post('/register', (req, res) => {
- console.log(req.body);
- // get parameters from post request
- let params = req.body;
- let user = {
- id: Math.floor(Math.random() * 11),
- email: params.email,
- password: params.password,
- firstName: params.firstName,
- lastName: params.lastName,
- };
- try {
- users.push(user);
- console.log(users)
- res
- .status(200)
- .json({
- user: {
- id: users.id,
- email: users.email,
- firstName: users.firstName,
- lastName: users.lastName,
- token: 'fake-jwt-token',
- },
- });
- } catch {
- res.status(401).json({ message: 'Wrong Password or email' });
- }
- });
- app.get('/users', (req, res) => {
- if (req.headers && req.headers.authorization === 'Bearer fake-jwt-token') {
- res.status(200).json(users);
- } else {
- // return 401 not authorised if token is null or invalid
- res.status(401).json({ message: 'Unauthorized' });
- }
- });
- app.listen(port, () => console.log(`Example app listening on port ${port}!`));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement