Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5,410 changes: 5,410 additions & 0 deletions package-lock.json

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
"main": "./src/server.js",
"scripts": {
"start": "node src/server.js",
"start:dev": "nodemon"
"start:dev": "nodemon",
"test": "echo \"Error: no test specified\" && exit 1",
"db:init": "psql < ./src/database/schema.sql && psql roamwfriends < node_modules/connect-pg-simple/table.sql",
"db:reset": "dropdb roamwfriends && createdb roamwfriends && npm run db:init"
"db:init": "psql < ./src/models/db/schema/schema.sql && psql roamwfriends < node_modules/connect-pg-simple/table.sql",
"db:create": "createdb roamwfriends",
"db:reset": "dropdb roamwfriends && npm run db:create && npm run db:init"
},
"repository": {
"type": "git",
Expand Down
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
2 changes: 1 addition & 1 deletion src/public/styles.css → public/styles.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
body{
font-family: 'Open Sans', sans-serif;
background-image: url(./images/Clouds.jpg);
background-image: url('./images/Clouds.jpg');
}

.splash-page{
Expand Down
62 changes: 0 additions & 62 deletions src/database/controllers/city.js

This file was deleted.

85 changes: 0 additions & 85 deletions src/database/controllers/review.js

This file was deleted.

50 changes: 0 additions & 50 deletions src/database/controllers/user.js

This file was deleted.

3 changes: 0 additions & 3 deletions src/database/seed_data.sql

This file was deleted.

34 changes: 34 additions & 0 deletions src/models/db/city.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
const { db } = require('./db');

const displayAll = () => {
const query = `SELECT * FROM cities`;
return db.any(query, []);
};

const create = (city_name) => {
const query = `INSERT INTO cities(city_name) VALUES ($1)`;
return db.one(query, [city_name]);
};

const displayCityByName = (city_name) => {
const query = `SELECT * FROM cities WHERE cities.city_name = $1`;
return db.any(query, [city_name]);
};

const displayCityById = (id) => {
const query = `SELECT * FROM cities WHERE cities.id = $1`;
return db.any(query, [id]);
};

const update = (id, city_name, city_image) => {
const query = `UPDATE cities SET (city_name, city_image) = ($2) WHERE cities.id = $1`;
return db.one(query, [id, city_name, city_image]);
};

module.exports = {
displayAll,
create,
displayCityByName,
displayCityById,
update,
};
4 changes: 1 addition & 3 deletions src/database/controllers/index.js → src/models/db/db.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,4 @@ const connectionString = 'postgres://localhost:5432/roamwfriends';
const db = pgp(connectionString);
const bcrypt = require('bcrypt');



module.exports = { db, bcrypt };
module.exports = { db, bcrypt, connectionString };
47 changes: 47 additions & 0 deletions src/models/db/review.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
const { db } = require('./db');

const displayAll = () => {
const query = `SELECT * FROM reviews`;
return db.any(query, []);
};

const create = (user_id, type_id, title, body, city) => {
const query = `INSERT INTO reviews(user_id, type_id, title, body, city) VALUES ($1, $2, $3, $4, $5)`;
return db.any(query, [user_id, type_id, title, body, city])
};

const displaySingleReview = (id) => {
const query = `SELECT * FROM reviews WHERE reviews.id = $1`;
return db.one(query, [id])
};

const displayUserSpecificReviews = (user_id) => {
const query = `SELECT * FROM reviews WHERE reviews.user_id = $1`;
return db.any(query, [user_id]);
};

const displayCitySpecificReviews = (city) => {
const query = `SELECT * FROM reviews WHERE reviews.city = $1`;
return db.any(query, [city]);
};

const updateReview = (id, type_id, title, body, city) => {
const query = `UPDATE reviews SET (type_id, title, body, city) = ($2, $3, $4, $5) WHERE reviews.id = $1`;
return db.none(query, [id, type_id, title, body, city]);
};

const deleteReview = (id) => {
const query = `DELETE FROM reviews WHERE reviews.id = $1`;
return db.none(query, [id]);
};


module.exports = {
displayAll,
create,
displaySingleReview,
displayUserSpecificReviews,
displayCitySpecificReviews,
updateReview,
deleteReview,
};
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
DROP DATABASE IF EXISTS roamwfriends;
CREATE DATABASE roamwfriends;

\c roamwfriends;

Expand Down
32 changes: 32 additions & 0 deletions src/models/db/user.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const { db, bcrypt } = require('./db');

const create = (email,password) => {
const saltRounds = 12;
return bcrypt.hash(password, saltRounds)
.then((hash) => {
const query = `INSERT INTO users (email, password) VALUES($1, $2) RETURNING *`;
return db.one(query, [email, hash]);
});
};

const getByEmail = (email) => {
const query = `SELECT * FROM users WHERE email=$1`;
return db.oneOrNone(query, [email]);
};

const getById = (id) => {
const query = `SELECT * FROM users WHERE id=$1`;
return db.oneOrNone(query, [id]);
};

const update = (name, current_city, user_image, id) => {
const query = `UPDATE users SET (name, current_city, user_image) = ($1,$2,$3) WHERE id = $4 RETURNING *`;
return db.any(query, [name, current_city, user_image, id]);
};

module.exports = {
create,
getByEmail,
getById,
update,
};
6 changes: 3 additions & 3 deletions src/routes/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ const bcrypt = require('bcrypt');
const {
getByEmail,
getById,
} = require('../database/controllers/user');
} = require('../models/db/user');
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const localStrategy = require('passport-local').Strategy;

passport.use(new LocalStrategy({
passport.use(new localStrategy({
usernameField: 'email',
passwordField: 'password',
},
Expand Down
9 changes: 3 additions & 6 deletions src/routes/cities/city.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,20 @@
const express = require('express');

const router = express.Router();
const reviewFunctions = require('../../database/controllers/review');
const userFunctions = require('../../database/controllers/user');
const reviewFunctions = require('../../models/db/review');
const userFunctions = require('../../models/db/user');

router.get('/:city', (request, response) => {
const { city } = request.params;

reviewFunctions.displayCitySpecificReviews(city)
.then((cityReviews) => {
console.log('city====>', cityReviews)
return cityReviews;
})
.then((cityReviews) => {
console.log('city-reviews==>', cityReviews[0].city)
userFunctions.getById(cityReviews[0].user_id)
.then((reviewer) => {
console.log('2city====>', reviewer)
response.render('cities/view', { reviews: cityReviews, user: reviewer, city: true });
response.render('cities/city', { reviews: cityReviews, user: reviewer, city: true });
});
});
});
Expand Down
Loading