Skip to content

Commit d2fee50

Browse files
committed
finished auth mock up
1 parent d754dad commit d2fee50

5 files changed

Lines changed: 96 additions & 74 deletions

File tree

Day11/code/controllers/userCtrl.js

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,7 @@
11
var userModel = require('./../models/userModel.js');
22

33
module.exports = {
4-
create: function(req, res) {
5-
var user = new userModel(req.body);
6-
user.save(function(err, result){
7-
if (err) {
8-
return res.send(err);
9-
}
10-
res.send(result);
11-
});
12-
},
13-
read: function(req, res) {
14-
userModel
15-
.findById(req.params.id)
16-
.exec(function (err, result) {
17-
if (err) {
18-
return res.send(err);
19-
20-
}
21-
res.send(result);
22-
});
23-
},
24-
getall: function(req, res) {
25-
userModel
26-
.find(req.query)
27-
.exec(function (err, result) {
28-
if (err) {
29-
res.send(err);
30-
}
31-
res.send(result);
32-
});
33-
},
34-
getme: function(req,res) {
4+
getMe: function(req,res) {
355
if(!req.user){
366
return res.send();
377
}
@@ -44,29 +14,9 @@ var userModel = require('./../models/userModel.js');
4414
res.send(result);
4515
});
4616
},
47-
update: function(req, res){
48-
userModel
49-
.findByIdAndUpdate(req.params.id, req.body, function(err, result){
50-
if (err) {
51-
return res.send(err);
52-
}
53-
res.send(result);
54-
});
55-
},
56-
5717
logout: function(req,res) {
5818
req.logout();
5919
console.log(req + " has been logged out");
6020
res.send();
61-
},
62-
delete: function(req, res){
63-
console.log(req.user._id, req.params.id);
64-
userModel
65-
.findByIdAndRemove(req.params.id, req.body, function(err, result){
66-
if (err) {
67-
res.send(err);
68-
}
69-
res.send(result);
70-
});
7121
}
7222
};

Day11/code/index.js

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11

2-
//I ignored bower components in my original files. Whats this all about?
3-
4-
52
var express = require('express');
63
var bodyParser = require('body-parser');
74
var cors = require('cors');
85
var mongoose = require('mongoose');
96
var passport = require('passport');//local auth
107
var session = require('express-session');//session
8+
//ejs
9+
//path
1110

1211
var dogCtrl = require('./controllers/dogCtrl');
13-
var userCtrl = require('./controllers/userCtrl.js');//user ctrl
14-
var config = require('./config/config.js');//session secret
12+
var userCtrl = require('./controllers/userCtrl');//user ctrl
13+
var config = require('./config/config');//session secret
1514

1615
var app = express();
1716

18-
require('./config/passport.js')(passport);//self invokes passport
17+
require('./config/passport')(passport);//self invokes passport
1918

2019
app.use(session(config));//set session secret
2120
app.use(passport.initialize());//initialize passport
@@ -26,17 +25,13 @@ app.use(bodyParser.urlencoded());
2625
app.use(express.static(__dirname + '/public'));
2726

2827

29-
app.post('/auth', passport.authenticate('local-signup'), function(req, res){
28+
app.post('/auth', passport.authenticate('local-signup'), function(req, res, next){
3029
res.send();
3130
});
3231

33-
app.post('/user', userCtrl.create);
34-
// app.get('/user', userCtrl.getall);
35-
app.get('/user/me', userCtrl.getme);
32+
33+
app.get('/user/me', userCtrl.getMe);
3634
app.get('/user/logout', userCtrl.logout);
37-
// app.get('/user/:id', userCtrl.read);
38-
// app.put('/user/:id', userCtrl.update);
39-
// app.delete('/user/:id', userCtrl.delete);
4035

4136
app.post('/dogs', dogCtrl.create);
4237
app.get('/dogs', dogCtrl.read);

Day11/code/public/app.js

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var getDogs, postDog, putDog, deleteDog, login, register;
1+
var getDogs, postDog, putDog, deleteDog, login, getMe, logout;
22
$(document).ready(function(){
33
var dogs;
44

@@ -50,7 +50,6 @@ $(document).ready(function(){
5050
};
5151

5252
deleteDog = function(id){
53-
console.log("crash2");
5453
$.ajax({
5554
method: 'DELETE',
5655
url: '/dogs/' + id
@@ -62,13 +61,56 @@ $(document).ready(function(){
6261
login = function(loginobj) {
6362
$.ajax({
6463
method: "POST",
65-
url: "/login",
64+
url: "/auth",
6665
data: loginobj
6766
}).then(function(response){
68-
console.log(response);
69-
$(".auth").hide();
70-
});
67+
console.log(response);
68+
$(".loginemail").val("");
69+
$(".loginpassword").val("");
70+
$(".registeremail").val("");
71+
$(".registerpassword").val("");
72+
$(".registerfname").val("");
73+
$(".registerlname").val("");
74+
$(".auth").hide();
75+
$(".logoutbutton").show();
76+
$('.success').show();
77+
setTimeout(function(){
78+
$('.success').fadeOut(1000);
79+
}, 700);
80+
getMe();
81+
}, function(err) {
82+
console.log(err);
83+
$('.error').show();
84+
setTimeout(function(){
85+
$('.error').fadeOut(1000);
86+
}, 1200);
87+
}
88+
);
7189
};
90+
logout = function() {
91+
$.ajax({
92+
method: "GET",
93+
url: "/user/logout"
94+
}).then(function(response){
95+
console.log(response);
96+
$(".intro").remove();
97+
$(".auth").show();
98+
$(".logoutbutton").hide();
99+
$('.logout').show();
100+
setTimeout(function(){
101+
$('.logout').fadeOut(1000);
102+
}, 700);
103+
})
104+
}
105+
getMe = function () {
106+
$.ajax({
107+
method: "GET",
108+
url: '/user/me'
109+
}).then(function (response) {
110+
$(".intro").remove();
111+
$("body").prepend(`<h1 class="intro">Welcome ` + response.fname + `!</h1>`);
112+
});
113+
};
72114

73115
$(".pushtoregister").click(function(){
74116
$(".login").hide();

Day11/code/public/index.html

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<link href='https://fonts.googleapis.com/css?family=Quicksand' rel='stylesheet' type='text/css'>
88
</head>
99
<body>
10-
<h1>CRUD All of the Dogs</h1>
10+
<h1>Let's CRUD All of the Dogs</h1>
1111
<div class="getit">
1212
<input id="getDogs" onclick="getDogs();" type="button" value="GET">
1313
</div>
@@ -32,7 +32,7 @@ <h1>CRUD All of the Dogs</h1>
3232
<h1>Log In Here</h1>
3333
<input class="loginemail" type="text" placeholder="Email" value="">
3434
<input class="loginpassword" type="password" placeholder="Password" value=""><br>
35-
<input class="loginbutton" type="button" value="Login">
35+
<input class="loginbutton" onClick="login({email: $('.loginemail').val(), password: $('.loginpassword').val()});" type="button" value="Login">
3636
<h3 class="pushtoregister">Register Now!</h3>
3737
</div>
3838
<div class="register">
@@ -41,10 +41,22 @@ <h1>Register Now!</h1>
4141
<input class="registerlname" type="text" placeholder="Last Name" value=""><br>
4242
<input class="registeremail" type="text" placeholder="Email" value="">
4343
<input class="registerpassword" type="password" placeholder="Password" value=""><br>
44-
<input class="registerbutton" type="button" value="Register & Login">
44+
<input class="registerbutton" onClick="login({email: $('.registeremail').val(), password: $('.registerpassword').val(), fname: $('.registerfname').val(), lname:$('.registerlname').val()});" type="button" value="Register & Login">
4545
<h3 class="pushtologin">Log In Here</h3>
4646
</div>
4747
</div>
48+
<div class="success">
49+
<h1>Successful Login!</h1>
50+
</div>
51+
<div class="error">
52+
<h1>Invalid Email or Password</h1>
53+
</div>
54+
<div class="logout">
55+
<h1>Successfully Logged Out!</h1>
56+
</div>
57+
<div class="logoutbutton">
58+
<button type="button" onClick="logout();" name="button">Logout</button>
59+
</div>
4860

4961
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
5062
<script type="text/javascript" src="app.js" charset="utf-8"></script>

Day11/code/public/styles.css

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ td {
44
padding: 5px;
55
}
66

7-
input, table, .getit, .postit, .postitvals, h1 {
7+
input, button, table, .getit, .postit, .postitvals, h1 {
88
margin: auto;
99
text-align: center;
1010
padding: 5px;
@@ -59,3 +59,26 @@ body {
5959
cursor: pointer;
6060
text-decoration: underline;
6161
}
62+
63+
.success, .error, .logout {
64+
display: none;
65+
position: absolute;
66+
left: 0;
67+
right: 0;
68+
margin: auto;
69+
top: 40vh;
70+
font-size: 5vh;
71+
color: purple;
72+
text-shadow: 2px 2px #000;
73+
}
74+
75+
.error {
76+
color: red;
77+
}
78+
79+
.logoutbutton {
80+
display: none;
81+
position: fixed;
82+
top: 5px;
83+
right: 5px;
84+
}

0 commit comments

Comments
 (0)