Skip to content

Commit

Permalink
Revert "authentication tests passed, messed up migrations big time"
Browse files Browse the repository at this point in the history
This reverts commit 9619eed.
  • Loading branch information
nickangtc committed Sep 18, 2016
1 parent 9619eed commit 318e279
Show file tree
Hide file tree
Showing 7 changed files with 156 additions and 80 deletions.
7 changes: 0 additions & 7 deletions config/ppConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,12 @@ passport.use(new LocalStrategy({
passwordField: 'password', // default: password
session: true // use passport to handle sessions (default: true)
}, function (email, password, cb) { // (callback)
console.log('email passed to passport:', email);
console.log('password passed to passport:', password);
db.user.find({
where: { email: email }
}).then(function (user) {
console.log('(sensitive info) found user with matching email:', user.id, user.name);

if (!user || !user.validPassword(password)) {
console.log('!user?', !user);
console.log('!user.validPassword(password)?', !user.validPassword(password));
cb(null, false);
} else {
console.log('password matches hash in db, logging in');
cb(null, user);
}
}).catch(cb);
Expand Down
11 changes: 0 additions & 11 deletions controllers/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,21 @@ var router = express.Router();
var passport = require('../config/ppConfig');
var db = require('../models');

// READ: get signup form
router.get('/signup', function (req, res) {
console.log('GET /auth/signup request received');

res.render('auth/signup');
});

// READ: get login form
router.get('/login', function (req, res) {
console.log('GET /auth/login request received');

res.render('auth/login');
});

// POST: login info
router.post('/login', passport.authenticate('local', {
// authenticate happens in config/ppConfig.js
successRedirect: '/',
failureRedirect: '/auth/login'
}));

// POST: signup new user
// handle signup based on form input
router.post('/signup', function (req, res) {
console.log('POST /auth/signup request received');
console.log('req.body:', req.body);
db.user.findOrCreate({
where: { email: req.body.email },
defaults: {
Expand Down
11 changes: 1 addition & 10 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,10 @@ app.use(session({
app.use(passport.initialize());
app.use(passport.session()); // this must come after use(session) - dependency

// ========== AUTH routes ==========

// READ: /auth/login, /logout, /signup routes
// /auth/login, /logout, /signup routes
app.use('/auth', require('./controllers/auth'));

// ============== ROUTES =============

// READ: get homepage
app.get('/', function (req, res) {
console.log('GET / request received');
Expand Down Expand Up @@ -62,12 +59,6 @@ app.post('/users', function (req, res) {
app.get('/users/:id/starred', function (req, res) {
console.log('GET /users/id request received');
console.log('id:', req.params.id);
if (req.user !== undefined) {
console.log('user is logged in and authorised to view page');
console.log('req.user:', req.user);
} else {
console.log('user is not logged in');
}
// render user_starred
res.render('user_starred');
});
Expand Down
153 changes: 153 additions & 0 deletions static/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Spidey: the best info web crawler</title>
<!-- External libraries -->
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-3.1.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!-- Custom -->
<link rel="stylesheet" href="css/style.css">
<script src="js/main.js"></script>
</head>

<body>
<!-- TODO: add brief instructions on how to phrase search term as landing page -->

<!-- TODO: add Scrollspy bootstrap for auto active navbar highlight -->
<!-- http://getbootstrap.com/javascript/#scrollspy -->
<!-- TODO: consider Tooltip for search field -->
<!-- http://getbootstrap.com/javascript/#tooltips -->

<!-- TODO: add smooth scroll for anchor jumps -->
<!-- maybe helpful: http://wibblystuff.blogspot.sg/2014/04/in-page-smooth-scroll-using-css3.html -->

<!-- ============= Navbar ============== -->
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<!-- 3 icon-bars = 1 hamburger icon -->
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Logo -->
<a href="#" class="navbar-brand">Spidey</a>
</div>

<div class="collapse navbar-collapse" id="navbar-collapse-1">
<!-- navbar left -->
<ul class="nav navbar-nav">
<!-- What is 'sr-only'? -->
<!-- TODO: write javascript to toggle "active" class between nav links -->
<li class="active">
<a href="#wikipedia">Wikipedia <span class="sr-only">(current)</span></a>
</li>
<li><a href="#google">Google</a></li>
<li><a href="#">News</a></li>
</ul>
<!-- navbar right -->
<!-- TODO: form role="search" might be redundant -->
<form class="navbar-form navbar-right" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Spidey Search">
<button id="submit-btn" class="btn btn-default" type="submit">Search</button>
</div>
</form>
<ul class="nav navbar-nav navbar-right">
<li><a href="#">
Saved
<span class="glyphicon glyphicon-star"></span>
</a></li>
<li><a href="#">
Account
<span class="glyphicon glyphicon-user"></span>
</a></li>
</ul>

</div><!-- /.navbar-collapse> -->
</div><!-- /.container-fluid -->
</nav>

<!-- large modal popup dialog -->
<div class="modal fade iframe-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
</div>
<iframe
width="100%"
height="600"
frameborder="0"
scrolling="yes"
src="">
</iframe>
</div>
</div>
</div>

<!-- =============== Results =================== -->
<div class="container">
<!-- Search term message display -->
<div class="row text-center">
<h4>Current search: <span id="search-term">lorem ipsum</span></h4>
</div>

<!-- =========== Results display stage ============ -->
<!-- results for Wikipedia search -->
<div class="row">
<div id="wikipedia" class="col-sm-8 col-sm-offset-2">
<h3>Wikipedia</h3>
<hr>
</div><!-- /.col-sm-8 -->
</div><!-- /.row -->

<!-- results for Google search -->
<div class="row">
<div id="google" class="col-sm-8 col-sm-offset-2">
<h3>Google</h3>
<hr>
<div class="row" id="google-results">
<div class="col-sm-12 result-card">
<!-- IDs just for reference, not used. Remove when Javascript generates content. -->
<h4 id="title">
Lorem ipsum (placeholder text)
</h4>
<p id="excerpt">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<!-- ======================== TRY ADDING COL TO FORCE SIZE OF INPUT, AND TO ALIGN 'STAR' BUTTON NEXT TO IT=========== -->
<div class="input-group input-group-sm copy-url">
<input onclick="this.select();" type="text" class="form-control" value="https://en.wikipedia.org/w/api.php?action=opensearch&search=beatles">
<span class="input-group-btn">
<button id="" class="btn btn-default" type="button"><span class="glyphicon glyphicon-star-empty"></span></button>
</span>
</div><!-- /input-group -->
</div>
<div class="col-sm-12 result-card">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<div class="col-sm-12 result-card">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<div class="col-sm-12 result-card">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<div class="col-sm-12 result-card">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<div class="col-sm-12 result-card">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</div>
</div><!-- /.col-sm-8 -->
</div><!-- /.row -->

</div><!-- /.container -->

</body>
</html>
21 changes: 0 additions & 21 deletions views/auth/login.ejs
Original file line number Diff line number Diff line change
@@ -1,21 +0,0 @@
<div class="container">
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<h2>Login</h2>
<h3>Keep URLs and more</h3>

<form action="/auth/login" method="POST">
<div>
Email: <input type="email" name="email" placeholder="johndoe@gmail.com">
</div>
<div>
Login password: <input type="password" name="password">
</div>

<div>
<button type="submit">Submit</button>
</div>
</form>
</div>
</div>
</div>
26 changes: 0 additions & 26 deletions views/auth/signup.ejs
Original file line number Diff line number Diff line change
@@ -1,26 +0,0 @@
<!-- signup new user -->

<div class="container">
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<h2>Sign up</h2>
<h3>Favourite urls and refer to them anytime you want</h3>

<form action="/auth/signup" method="POST">
<div>
Name: <input type="text" name="name" placeholder="John Doe">
</div>
<div>
Email: <input type="email" name="email" placeholder="johndoe@gmail.com">
</div>
<div>
Login password: <input type="password" name="password">
</div>

<div>
<button type="submit">Submit</button>
</div>
</form>
</div>
</div>
</div>
7 changes: 2 additions & 5 deletions views/user_new.ejs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- signup new user -->

<!-- <div class="container">
<div class="container">
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<h2>Sign up</h2>
Expand All @@ -23,7 +23,4 @@
</form>
</div>
</div>
</div> -->

<!-- SIGNUP HANDLED BY ROUTE /AUTH/SIGNUP AND FILE AUTH/SIGNUP.EJS -->
<!-- DISRUPTS RESTFUL ROUTES?? -->
</div>

0 comments on commit 318e279

Please sign in to comment.