Skip to content
This repository has been archived by the owner on Aug 28, 2021. It is now read-only.

Commit

Permalink
Swap back to ESLint with eslint-config-standard, so we can override s…
Browse files Browse the repository at this point in the history
…pace-in-parens
  • Loading branch information
Logan Glasson committed Jul 20, 2018
1 parent a098f8b commit cbd628d
Show file tree
Hide file tree
Showing 57 changed files with 1,483 additions and 1,571 deletions.
6 changes: 6 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"extends": "standard",
"rules": {
"space-in-parens": [ "error", "always" ]
}
}
46 changes: 23 additions & 23 deletions app/api/v1/accounts/UserCreate.js
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
const winston = require('winston')
const jwt = require('jsonwebtoken')
const winston = require( 'winston' )
const jwt = require( 'jsonwebtoken' )

const User = require('../../../../models/User')
const User = require( '../../../../models/User' )

module.exports = function (req, res) {
winston.debug('register new user route')
if (!req.body.email) { res.status(400); return res.send({ success: false, message: 'Do not fuck with us. Give us your email.' }) }
if (!req.body.password) { res.status(400); return res.send({ success: false, message: 'Passwords are a necessary evil, fam.' }) }
module.exports = function ( req, res ) {
winston.debug( 'register new user route' )
if ( !req.body.email ) { res.status( 400 ); return res.send( { success: false, message: 'Do not fuck with us. Give us your email.' } ) }
if ( !req.body.password ) { res.status( 400 ); return res.send( { success: false, message: 'Passwords are a necessary evil, fam.' } ) }

let myUser = new User({
let myUser = new User( {
email: req.body.email,
password: req.body.password,
company: req.body.company,
name: req.body.name ? req.body.name : 'Anonymous',
surname: req.body.surname ? req.body.surname : '',
apitoken: null
})
} )

let sessionSecret = process.env.SESSION_SECRET

User.findOne({ 'email': req.body.email })
.then(user => {
if (user) throw new Error('Email taken. Please login. Thanks!')
myUser.apitoken = 'JWT ' + jwt.sign({ _id: myUser._id }, sessionSecret, { expiresIn: '2y' })
User.findOne( { 'email': req.body.email } )
.then( user => {
if ( user ) throw new Error( 'Email taken. Please login. Thanks!' )
myUser.apitoken = 'JWT ' + jwt.sign( { _id: myUser._id }, sessionSecret, { expiresIn: '2y' } )
return myUser.save()
})
.then(savedUser => {
let token = 'JWT ' + jwt.sign({ _id: myUser._id, name: myUser.name }, sessionSecret, { expiresIn: '24h' })
return res.send({ success: true, message: 'User saved. Redirect to login.', resource: { apitoken: savedUser.apitoken, token: token, email: savedUser.email } })
})
.catch(err => {
winston.error(err)
res.status(400)
return res.send({ success: false, message: err.message })
})
} )
.then( savedUser => {
let token = 'JWT ' + jwt.sign( { _id: myUser._id, name: myUser.name }, sessionSecret, { expiresIn: '24h' } )
return res.send( { success: true, message: 'User saved. Redirect to login.', resource: { apitoken: savedUser.apitoken, token: token, email: savedUser.email } } )
} )
.catch( err => {
winston.error( err )
res.status( 400 )
return res.send( { success: false, message: err.message } )
} )
}
26 changes: 13 additions & 13 deletions app/api/v1/accounts/UserGet.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
const winston = require('winston')
const winston = require( 'winston' )

const User = require('../../../../models/User')
const User = require( '../../../../models/User' )

module.exports = function (req, res) {
User.findOne({ _id: req.user._id }, '-password')
.then(myUser => {
if (!myUser) throw new Error('no user found.')
res.send({ success: true, resource: myUser })
})
.catch(err => {
winston.error(err)
res.status(400)
res.send({ success: false, message: err.toString() })
})
module.exports = function ( req, res ) {
User.findOne( { _id: req.user._id }, '-password' )
.then( myUser => {
if ( !myUser ) throw new Error( 'no user found.' )
res.send( { success: true, resource: myUser } )
} )
.catch( err => {
winston.error( err )
res.status( 400 )
res.send( { success: false, message: err.toString() } )
} )
}
46 changes: 23 additions & 23 deletions app/api/v1/accounts/UserLogin.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
const winston = require('winston')
const jwt = require('jsonwebtoken')
const winston = require( 'winston' )
const jwt = require( 'jsonwebtoken' )

const User = require('../../../../models/User')
const User = require( '../../../../models/User' )

module.exports = function (req, res) {
if (!req.body.email) return res.send({ success: false, message: 'Do not fuck with us' })
if (!req.body.password) return res.send({ success: false, message: 'Do not fuck with us' })
module.exports = function ( req, res ) {
if ( !req.body.email ) return res.send( { success: false, message: 'Do not fuck with us' } )
if ( !req.body.password ) return res.send( { success: false, message: 'Do not fuck with us' } )

let sessionSecret = process.env.SESSION_SECRET

User.findOne({ 'email': req.body.email.toLowerCase() })
.then(myUser => {
if (!myUser) throw new Error('Invalid credentials.')
myUser.validatePassword(req.body.password, myUser.password, match => {
if (match === false) {
res.status(401)
return res.send({ success: false, message: 'Invalid credentials.' })
User.findOne( { 'email': req.body.email.toLowerCase() } )
.then( myUser => {
if ( !myUser ) throw new Error( 'Invalid credentials.' )
myUser.validatePassword( req.body.password, myUser.password, match => {
if ( match === false ) {
res.status( 401 )
return res.send( { success: false, message: 'Invalid credentials.' } )
}
myUser.logins.push({ date: Date.now() })
myUser.logins.push( { date: Date.now() } )
myUser.save()
let token = 'JWT ' + jwt.sign({ _id: myUser._id, name: myUser.name }, sessionSecret, { expiresIn: '24h' })
let token = 'JWT ' + jwt.sign( { _id: myUser._id, name: myUser.name }, sessionSecret, { expiresIn: '24h' } )
let userObject = myUser.toObject()
userObject.token = token
delete userObject[ 'password' ]
res.send({ success: true, message: 'You have logged in.', resource: userObject })
})
})
.catch(err => {
winston.error(err)
res.status(401)
res.send({ success: false, message: err })
})
res.send( { success: true, message: 'You have logged in.', resource: userObject } )
} )
} )
.catch( err => {
winston.error( err )
res.status( 401 )
res.send( { success: false, message: err } )
} )
}
34 changes: 17 additions & 17 deletions app/api/v1/accounts/UserProfile.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
'use strict'
const winston = require('winston')
const winston = require( 'winston' )

const User = require('../../../../models/User')
const User = require( '../../../../models/User' )

module.exports = function (req, res) {
if (!req.params.userId) {
res.status(400)
res.send({ success: false, message: 'Malformed request.' })
module.exports = function ( req, res ) {
if ( !req.params.userId ) {
res.status( 400 )
res.send( { success: false, message: 'Malformed request.' } )
}

let projection = '_id name surname company' + (req.app.get('expose emails') ? ' email' : '')
let projection = '_id name surname company' + ( req.app.get( 'expose emails' ) ? ' email' : '' )

User.findOne({ _id: req.params.userId }, projection)
.then(user => {
if (!user) throw new Error('no users found.')
res.send({ success: true, resource: user })
})
.catch(err => {
winston.error(err)
res.status(400)
res.send({ success: false, message: err.toString() })
})
User.findOne( { _id: req.params.userId }, projection )
.then( user => {
if ( !user ) throw new Error( 'no users found.' )
res.send( { success: true, resource: user } )
} )
.catch( err => {
winston.error( err )
res.status( 400 )
res.send( { success: false, message: err.toString() } )
} )
}
38 changes: 19 additions & 19 deletions app/api/v1/accounts/UserPut.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
'use strict'
const winston = require('winston')
const winston = require( 'winston' )

const User = require('../../../../models/User')
const User = require( '../../../../models/User' )

module.exports = function (req, res) {
User.findOne({ _id: req.user._id }, '-password')
.then(user => {
if (!user) throw new Error('no user found.')
module.exports = function ( req, res ) {
User.findOne( { _id: req.user._id }, '-password' )
.then( user => {
if ( !user ) throw new Error( 'no user found.' )
user.name = req.body.name ? req.body.name : user.name
user.surname = req.body.surname ? req.body.surname : user.surname
user.company = req.body.company ? req.body.company : user.company
user.email = req.body.email ? req.body.email : user.email

user.markModified('name')
user.markModified('surname')
user.markModified('company')
user.markModified('email')
user.markModified( 'name' )
user.markModified( 'surname' )
user.markModified( 'company' )
user.markModified( 'email' )
return user.save()
})
.then(() => {
res.send({ success: true, message: 'User profile updated.' })
})
.catch(err => {
winston.error(err)
res.status(400)
res.send({ success: false, message: err.toString() })
})
} )
.then( () => {
res.send( { success: true, message: 'User profile updated.' } )
} )
.catch( err => {
winston.error( err )
res.status( 400 )
res.send( { success: false, message: err.toString() } )
} )
}
36 changes: 18 additions & 18 deletions app/api/v1/accounts/UserSearch.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
'use strict'
const winston = require('winston')
const winston = require( 'winston' )

const User = require('../../../../models/User')
const User = require( '../../../../models/User' )

// from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
const escapeRegExp = (string) => string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') // $& means the whole matched string
const escapeRegExp = ( string ) => string.replace( /[.*+?^${}()|[\]\\]/g, '\\$&' ) // $& means the whole matched string

module.exports = function (req, res) {
module.exports = function ( req, res ) {
let conditions = {}
if (req.body.name) conditions.name = { '$regex': escapeRegExp(req.body.name), '$options': 'i' }
if (req.body.surname) conditions.surname = { '$regex': escapeRegExp(req.body.surname), '$options': 'i' }
if (req.body.company) conditions.company = { '$regex': escapeRegExp(req.body.company), '$options': 'i' }
if ( req.body.name ) conditions.name = { '$regex': escapeRegExp( req.body.name ), '$options': 'i' }
if ( req.body.surname ) conditions.surname = { '$regex': escapeRegExp( req.body.surname ), '$options': 'i' }
if ( req.body.company ) conditions.company = { '$regex': escapeRegExp( req.body.company ), '$options': 'i' }

let projection = '_id name surname company' + (req.app.get('expose emails') ? ' email' : '')
let projection = '_id name surname company' + ( req.app.get( 'expose emails' ) ? ' email' : '' )

User.find(conditions, projection).limit(5)
.then(myUsers => {
if (!myUsers) throw new Error('no users found.')
res.send({ success: true, resources: myUsers })
})
.catch(err => {
winston.error(err)
res.status(400)
res.send({ success: false, message: err.toString() })
})
User.find( conditions, projection ).limit( 5 )
.then( myUsers => {
if ( !myUsers ) throw new Error( 'no users found.' )
res.send( { success: true, resources: myUsers } )
} )
.catch( err => {
winston.error( err )
res.status( 400 )
res.send( { success: false, message: err.toString() } )
} )
}
38 changes: 19 additions & 19 deletions app/api/v1/clients/ClientDelete.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
'use strict'
const winston = require('winston')
const winston = require( 'winston' )

const Client = require('../../../../models/UserAppClient')
const PermissionCheck = require('../middleware/PermissionCheck')
const Client = require( '../../../../models/UserAppClient' )
const PermissionCheck = require( '../middleware/PermissionCheck' )

module.exports = (req, res) => {
if (!req.params.clientId) {
res.status(400)
return res.send({ success: false, message: 'No stream id provided.' })
module.exports = ( req, res ) => {
if ( !req.params.clientId ) {
res.status( 400 )
return res.send( { success: false, message: 'No stream id provided.' } )
}

Client.findOne({ _id: req.params.clientId })
.then(client => PermissionCheck(req.user, 'delete', client))
.then(client => {
Client.findOne( { _id: req.params.clientId } )
.then( client => PermissionCheck( req.user, 'delete', client ) )
.then( client => {
return client.remove()
})
.then(() => {
return res.send({ success: true, message: 'Client was deleted! Bye bye data.' })
})
.catch(err => {
winston.error(err)
res.status(err.message === 'Unauthorized. Please log in.' ? 401 : 404)
res.send({ success: false, message: err.toString() })
})
} )
.then( () => {
return res.send( { success: true, message: 'Client was deleted! Bye bye data.' } )
} )
.catch( err => {
winston.error( err )
res.status( err.message === 'Unauthorized. Please log in.' ? 401 : 404 )
res.send( { success: false, message: err.toString() } )
} )
}
36 changes: 18 additions & 18 deletions app/api/v1/clients/ClientGet.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
const winston = require('winston')
const winston = require( 'winston' )

const Client = require('../../../../models/UserAppClient')
const PermissionCheck = require('../middleware/PermissionCheck')
const Client = require( '../../../../models/UserAppClient' )
const PermissionCheck = require( '../middleware/PermissionCheck' )

module.exports = (req, res) => {
if (!req.params.clientId) {
res.status(400)
return res.send({ success: false, message: 'Malformed request.' })
module.exports = ( req, res ) => {
if ( !req.params.clientId ) {
res.status( 400 )
return res.send( { success: false, message: 'Malformed request.' } )
}
Client.findOne({ _id: req.params.clientId })
.then(result => PermissionCheck(req.user, 'read', result))
.then(result => {
if (!result) throw new Error('No client found.')
res.send({ success: true, message: 'Client found.', resource: result })
})
.catch(err => {
winston.error(err)
res.status(400)
res.send({ success: false, message: err.toString() })
})
Client.findOne( { _id: req.params.clientId } )
.then( result => PermissionCheck( req.user, 'read', result ) )
.then( result => {
if ( !result ) throw new Error( 'No client found.' )
res.send( { success: true, message: 'Client found.', resource: result } )
} )
.catch( err => {
winston.error( err )
res.status( 400 )
res.send( { success: false, message: err.toString() } )
} )
}
Loading

0 comments on commit cbd628d

Please sign in to comment.