Skip to content

Commit

Permalink
added isLoggedIn middleware. created dynamically generated saved-url …
Browse files Browse the repository at this point in the history
…page
  • Loading branch information
nickangtc committed Sep 20, 2016
1 parent e58c116 commit 17242d8
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 22 deletions.
22 changes: 15 additions & 7 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ var passport = require('./config/ppConfig'); // require('passport') done in ppCo
var methodOverride = require('method-override');
var db = require('./models');
var flash = require('connect-flash');
var isLoggedIn = require('./middleware/isLoggedIn');

/* NOTE:
* - this project's routes have heavy dependency on req.user object
Expand Down Expand Up @@ -62,16 +63,23 @@ app.get('/', function (req, res) {
});

// READ: get user's starred urls (user must be logged in)
app.get('/users/:id/stars', function (req, res) {
console.log('GET /users/id request received');
app.get('/users/:id/stars', isLoggedIn, function (req, res) {
console.log('GET /users/id/stars request received');
console.log('id:', req.params.id);
console.log('cookie:', req.user);
// render user_starred
res.render('user_starred');

db.savedUrl.findAll({
where: {
userid: req.params.id
}
}).then(function (data) {
console.log('retrieved all instances of user\'s saved urls from db');
console.log('data:', data);
res.render('user_starred', { data: data });
});
});

// READ: get user profile (user must be logged in)
app.get('/users/:id', function (req, res) {
app.get('/users/:id', isLoggedIn, function (req, res) {
console.log('GET /users/id request received');
res.render('user_profile', { user: req.user });
});
Expand All @@ -95,7 +103,7 @@ app.put('/users/:id', function (req, res) {
});

// READ: get user account edit form (user must be logged in)
app.get('/users/:id/edit', function (req, res) {
app.get('/users/:id/edit', isLoggedIn, function (req, res) {
console.log('GET /users/id/edit request received');
console.log('id:', req.params.id);
// render user_profile_edit
Expand Down
3 changes: 3 additions & 0 deletions static/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ hr {
a:hover {
text-decoration: none;
}
li {
list-style: none;
}

#search-term {
text-decoration: underline;
Expand Down
15 changes: 11 additions & 4 deletions views/layout.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,19 @@
</div>
</form>
<ul class="nav navbar-nav navbar-right">
<li><a href="#">
Starred
<span class="glyphicon glyphicon-star"></span>
</a></li>
<!-- Saved urls button -->
<li>
<% var user = user || 'register' %>
<% if (typeof user === 'object') { %>
<a href="/users/<%= user.id %>/stars">Saved
<% } else if (user === 'register') { %>
<a href="/signup">Saved
<% } %>
<span class="glyphicon glyphicon-star"></span>
</a>
</li>
<!-- New / Login button -->
<li>
<% if (typeof user === 'object') { %>
<a href="/users/<%= user.id %>"> <%= user.firstName %>
<% } else if (user === 'register') { %>
Expand Down
20 changes: 9 additions & 11 deletions views/user_starred.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,17 @@

<div class="container">
<div class="row">
<div class="col-sm-12">
<div class="col-sm-8 col-sm-offset-2">
<h2>Your saved urls</h2>



<ul>
<li>http://stackoverflow.com/questions/27637609/understanding-passport-serialize-deserialize</li>
<li>https://davified.gitbooks.io/wdi-5-gitbooks/content/05-express/express-intro/05crudexpress.html</li>
<li>http://melissamesku.com/#about</li>
<li>http://eloquentjavascript.net/02_program_structure.html</li>
<li>http://expressjs.com/en/api.html#res.locals</li>
<li>https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and-features</li>
<li>http://passportjs.org/docs</li>
<li>https://expressjs.com/en/starter/static-files.html</li>
<li>https://youtube.com</li>
<li>https://wikipedia.com</li>
<% for (var i = 0; i < data.length; i++) { %>
<a href="<%= data[i].dataValues.url %>" target="_blank">
<li><%= data[i].dataValues.url %></li>
</a>
<% } %>
</ul>
</div>
</div>
Expand Down

0 comments on commit 17242d8

Please sign in to comment.