This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const db = require('../models') | |
exports.getUser = async (req, res, next) => { | |
const user = await db.User.findOne({ | |
where: { email: req.user.email }, | |
attributes: ['firstName', 'lastName'], | |
include: [ | |
{ | |
model: db.Post, | |
as: 'Written', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const express = require('express') | |
const router = express.Router() | |
const usersController = require('../controllers/users') | |
router.get('/', usersController.getUser) | |
module.exports = router |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { Strategy, ExtractJwt } = require('passport-jwt') | |
const secret = 'secret' | |
const db = require('../models') | |
const options = { | |
jwtFromRequest: ExtractJwt.fromAuthHeaderWithScheme('JWT'), | |
secretOrKey: secret, | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const request = require('supertest') | |
const app = require('../src/app') | |
const expect = require('chai').expect | |
describe('GET /user endpoint', async () => { | |
it('GET /user endpoint success', async () => { | |
try { | |
const authResponse = await request(app) | |
.post('/login') | |
.send({ email: '[email protected]', password: 'password' }) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const request = require('supertest') | |
const app = require('../src/app') | |
const expect = require('chai').expect | |
describe('POST /login endpoint', async () => { | |
it('POST /login endpoint success', async () => { | |
try { | |
return await request(app) | |
.post('/login') | |
.send({ email: '[email protected]', password: 'password' }) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict' | |
const bcrypt = require('bcryptjs') | |
module.exports = (sequelize, DataTypes) => { | |
const User = sequelize.define( | |
'User', | |
{ | |
firstName: DataTypes.STRING, | |
lastName: DataTypes.STRING, | |
email: { | |
type: DataTypes.STRING, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict' | |
module.exports = { | |
up: (queryInterface, Sequelize) => { | |
return Promise.all([ | |
queryInterface.addColumn('Users', 'email', { | |
type: Sequelize.STRING, | |
allowNull: false, | |
}), | |
queryInterface.addColumn('Users', 'encryptedPassword', { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require('dotenv').config() | |
const express = require('express') | |
const logger = require('morgan') | |
const db = require('./models') | |
const { createSeeds, deleteSeeds } = require('./models/seeders') | |
const app = express() | |
const PORT = process.env.PORT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const express = require('express') | |
const passport = require('passport') | |
const LocalStrategy = require('passport-local').Strategy | |
const db = require('../models') | |
const router = express.Router() | |
passport.serializeUser(function (user, done) { | |
done(null, user.id) | |
}) | |
passport.deserializeUser(function (id, done) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const app = require('../../app') | |
const supertest = require('supertest') | |
const { factory, expect } = require('../test_helper') | |
let server, request | |
before((done) => { | |
server = app.listen(done) | |
request = supertest.agent(server) | |
}) |