Skip to content

Commit

Permalink
api connected to db frontend proxy allowing incomming frontend reques…
Browse files Browse the repository at this point in the history
…ts as well
  • Loading branch information
JMStudiosJoe committed Dec 3, 2018
1 parent 26bb489 commit 52c871b
Show file tree
Hide file tree
Showing 15 changed files with 501 additions and 61 deletions.
3 changes: 0 additions & 3 deletions Utilities/API_utilities.js

This file was deleted.

7 changes: 7 additions & 0 deletions backend/Utilities/API_utilities.js
@@ -0,0 +1,7 @@
const posts_db_name = process.env.NODE_ENV
? 'disasters'
: 'test_disasters';

export {
posts_db_name,
}
21 changes: 9 additions & 12 deletions lib/auth.js → backend/lib/auth.js
@@ -1,13 +1,13 @@
const _ = require('lodash')
const bcrypt = require('bcrypt')
const passport = require('passport')
const LocalStrategy = require('passport-local').Strategy
import _ from 'lodash'
import bcrypt from 'bcrypt'
import passport from 'passport'
import Strategy from 'passport-local'

//const FacebookStrategy = require('passport-facebook').Strategy
//const constants = require('../config/projectInfoData.json')
//const secret = require('../config/secret.json')

const db = require('./db')

import { db } from './db'
// Initialize passport and various login strategies
function init(app) {

Expand All @@ -22,7 +22,7 @@ function init(app) {

// Setup 'local' passport strategy. Allows user to login with username/password.
// https://github.com/jaredhanson/passport-local
passport.use(new LocalStrategy({
passport.use(new Strategy({
usernameField: 'email',
passwordField: 'passphrase'
},
Expand Down Expand Up @@ -100,10 +100,7 @@ function init(app) {

function login(credentials) {
return new Promise((resolve, reject) => {
db.findOne('user', { email: credentials.email }).then(doc => {
if (credentials.facebookLogin) {
return resolve(doc)
}
db.findOne('users', { email: credentials.email }).then(doc => {
if (doc) {
return bcrypt.compare(credentials.passphrase, doc.passphrase, (err, res) => {
if (res) {
Expand All @@ -125,7 +122,7 @@ function isAdmin(req) {
return _.get(req, 'user.isAdmin')
}

module.exports = {
export {
init,
isAdmin,
login,
Expand Down
11 changes: 4 additions & 7 deletions lib/db.js → backend/lib/db.js
@@ -1,8 +1,8 @@
import assert from 'assert'
import { ObjectID, MongoClient } from 'mongodb'

import { MongoDBData } from '../config/projectInfoData.js'

import { MongoDBData } from '../../config/projectInfoData.js'
import { posts_db_name } from '../Utilities/API_utilities'
class DataBase {
constructor () {
this.db = {}
Expand All @@ -12,18 +12,16 @@ class DataBase {
date: 1,
type: 1,
}
this.posts_db_name = ''
this.posts_db_name = posts_db_name
if (process.env.NODE_ENV === 'production') {
this.url = MongoDBData['mongoData']['productionURL']
this.posts_db_name = 'disasters'
} else {
this.url = MongoDBData['mongoData']['productionURL']
this.posts_db_name = 'test_disasters'
}
MongoClient.connect(this.url, (err, dbParam) => {
assert.equal(null, err)
console.log('Successfully connected to MongoDB server. ')
this.db = dbParam
this.db = dbParam.db('DisasterResponse')

return;
})
Expand Down Expand Up @@ -145,5 +143,4 @@ class DataBase {
}
}

//module.exports = new DataBase()
export const db = new DataBase()
File renamed without changes.
45 changes: 23 additions & 22 deletions config/setup_local_db.js
Expand Up @@ -5,20 +5,19 @@ let db
let db_local
let local_url = 'mongodb://127.0.0.1:27017'
let url = local_url
let local_meals
let local_posts

// if we have a production db copy the stuff to local
const copyProdToLocal = (db) => {

db.collection('test_meals').find({}).toArray().then(meals => {
console.log("all meals found: ", meals.length)
local_meals = meals
db.collection('test_posts').find({}).toArray().then(posts => {
local_posts = posts
MongoClient.connect(local_url, (err, dbParam) => {
console.log("url:", local_url)
console.log("error:", err)
console.log('Successfully connected to MongoDB server.')
db_local = dbParam
db_local.collection('test_meals').insert(local_meals).catch(function(error){
db_local.collection('test_posts').insert(local_posts).catch(function(error){
console.log(error.code)
})
console.log('finished!')
Expand All @@ -34,9 +33,9 @@ const createLocalDB = () => {
MongoClient.connect(local_url, (err, dbParam) => {
console.log("url:", local_url)
console.log("error:", err)
console.log('Successfully connected to MongoDB server.')
console.log('Successfully connected to MongoDB server.', dbParam)
db_local = dbParam
db_local.createCollection('test_meals').catch(function(error){
db_local.createCollection('test_posts').catch(function(error){
console.log(error.code)
})
console.log('finished!')
Expand All @@ -45,18 +44,20 @@ const createLocalDB = () => {
}

// get the db location from config file or setup the local db if no config file
try {
const MongoDBData = require('./projectInfoData.json')['mongoData']
url = MongoDBData['productionURL']
MongoClient.connect(url, (err, dbParam) => {
console.log("url:", url)
console.log("error:", err)
console.log('Successfully connected to MongoDB server.')
db = dbParam
copyProdToLocal(db)
})
} catch (e) {
console.log('No config. Setting up local db...')
url = local_url
createLocalDB()
}
// try {
// const MongoDBData = require('./projectInfoData.json')['mongoData']
// url = MongoDBData['productionURL']
// MongoClient.connect(url, (err, dbParam) => {
// console.log("url:", url)
// console.log("error:", err)
// console.log('Successfully connected to MongoDB server.')
// db = dbParam
// copyProdToLocal(db)
// })
// } catch (e) {
// console.log('No config. Setting up local db...')
// url = local_url
// createLocalDB()
// }

createLocalDB()

0 comments on commit 52c871b

Please sign in to comment.