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

Commit

Permalink
Swap out ESLint for Standard, and make everything compliant.
Browse files Browse the repository at this point in the history
P.S. I have no clue how to use NPM, so package stuff might be broken.
  • Loading branch information
Logan Glasson committed Jul 20, 2018
1 parent fd08203 commit a098f8b
Show file tree
Hide file tree
Showing 59 changed files with 1,951 additions and 1,582 deletions.
21 changes: 0 additions & 21 deletions .eslintrc.js

This file was deleted.

48 changes: 24 additions & 24 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' } )
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 } )
} )
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 })
})
}
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() })
})
}
50 changes: 25 additions & 25 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 '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.save( )
let token = 'JWT ' + jwt.sign( { _id: myUser._id, name: myUser.name }, sessionSecret, { expiresIn: '24h' } )
let userObject = myUser.toObject( )
myUser.logins.push({ date: Date.now() })
myUser.save()
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() })
})
}
40 changes: 20 additions & 20 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' )
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( ) } )
} )
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() })
})
}
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() })
})
}
40 changes: 20 additions & 20 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 => {
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( ) } )
} )
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() })
})
}
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 a098f8b

Please sign in to comment.