Skip to content

Commit d20d77b

Browse files
author
“ikarabag1”
committedMar 4, 2022
preps for deployment
1 parent 4df2093 commit d20d77b

File tree

11 files changed

+90
-64
lines changed

11 files changed

+90
-64
lines changed
 

‎Procfile

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
web: node .

‎config/config.json

+1-3
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
"dialect": "postgres"
1111
},
1212
"production": {
13-
"database": "database_production",
14-
"host": "127.0.0.1",
15-
"dialect": "postgres"
13+
"use_env_variable": "DATABASE_URL"
1614
}
1715
}

‎controllers/players.js

+39-27
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ const db = require('../models') //to import models
77
const bcrypt = require('bcrypt') //to import hashing passwords pg
88
const cryptojs = require('crypto-js')
99
const res = require('express/lib/response')
10-
const { RowDescriptionMessage } = require('pg-protocol/dist/messages')
10+
const {
11+
RowDescriptionMessage
12+
} = require('pg-protocol/dist/messages')
1113

1214

1315
const axios = require('axios').default;
@@ -59,43 +61,53 @@ router.get('/nbaplayersapi', (req, res) => {
5961
.then(function (response) {
6062
// console.log(response.data.api.players);
6163
const playerData = response.data.api.players;
62-
const context = {player: playerData}
64+
const context = {
65+
player: playerData
66+
}
6367
// console.log(playerData)
6468
// home.ejs in views
65-
res.render('users/display.ejs', {playerData})
69+
res.render('users/display.ejs', {
70+
playerData
71+
})
6672
}).catch(function (error) {
6773
console.error(error);
6874
});
6975
} else {
7076
// console.log('insideelse')
71-
res.render('users/display.ejs', {playerData:null})
77+
res.render('users/display.ejs', {
78+
playerData: null
79+
})
7280
}
7381
})
7482

75-
// POST ROUTE TO FAVORITE PLAYER USER SEARCHED AND SELECTED
76-
router.post('/nbaplayersapi', async(req, res) => {
77-
try{
78-
const user = await db.user.findOne({
79-
where: {
80-
id: res.locals.user.id
81-
}
82-
})
83-
const [player, playerCreated] = await user.createPlayer({
84-
where: {
85-
firstname: req.body.firstName,
86-
lastname: req.body.lastName,
87-
age: req.body.dateOfBirth,
88-
height: req.body.heightInMeters,
89-
weight: req.body.weightInKilograms
90-
},
91-
})
92-
83+
// POST ROUTE TO FAVORITE PLAYER USER SEARCHED AND SELECTED
84+
router.post('/nbaplayersapi', async (req, res) => {
85+
try {
86+
const user = await db.user.findOne({
87+
where: {
88+
id: res.locals.user.id
89+
}
90+
})
91+
console.log(user)
92+
const [player, playerCreated] = await user.createPlayer({
93+
where: {
94+
firstname: req.body.firstName,
95+
lastname: req.body.lastName,
96+
age: req.body.dateOfBirth,
97+
height: req.body.heightInMeters,
98+
weight: req.body.weightInKilograms
99+
}
100+
101+
})
102+
93103
console.log('The new Favorite player is')
94-
res.redirect('users/show.ejs', {playerData})
95-
96-
} catch (err) {
97-
res.status(400).render('main/404.ejs')
104+
res.redirect('users/favorites.ejs')
105+
106+
} catch (err) {
107+
res.status(400).render('main/404.ejs')
98108
}
99-
})
109+
})
110+
111+
100112

101113
module.exports = router

‎user_players.js ‎controllers/user_players.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// const db = require('./models')
2-
// const player = require('./models/player')
2+
33

44
// async function manyCrud() {
55
// try {

‎index.js

+1-7
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ app.use(cookieParser()) //gives us access to req.cookies
1717
app.use(express.urlencoded({extended: false})) //body parser (to make req.bosy work) --apply to every controoller routes so always put it in indexs.js
1818
app.use(methodOverride("_method"));
1919

20+
2021
// CUSTOM COOKIE MIDDLEWARE
2122
app.use( async (req, res, next) => {
2223
// there are situation cant do that so we need to wrap it up
@@ -47,13 +48,6 @@ app.get('/', (req, res) => {
4748
res.render('home')
4849
})
4950

50-
51-
// ERROR VIEW --GET
52-
// app.get("*", (req, res) => {
53-
// res.render("main/404");
54-
// console.log(error)
55-
// });
56-
5751
// check for an env PORT, otherwise use 8000
5852
const PORT = process.env.PORT || 8000
5953
// callback function

‎package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"method-override": "^3.0.0",
3030
"pg": "^8.7.3",
3131
"rowdy-logger": "^1.0.2",
32-
"sequelize": "^6.17.0"
32+
"sequelize": "^6.17.0",
33+
"sequelize-cli": "^6.4.1"
3334
}
3435
}

‎views/layout.ejs

+2
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@
1616
<% if (user) { %>
1717
<li><a href="/users/profile">Profile</a></li>
1818
<li><a href="/users/logout">Logout</a></li>
19+
<li><a href="/users/favorites">Favorites</a></li>
1920
<% } else { %>
2021
<li><a href="/users/new">Sign Up</a></li>
2122
<li><a href="/users/login">Login</a></li>
2223
<% } %>
2324
</ul>
25+
2426
</nav>
2527
<%-body %>
2628
</body>

‎views/main/404.ejs

-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
<h1>404: File not Found</h1>
22

3-
<img src="https://media.giphy.com/media/lNHMPbRz6IhKU/giphy.gif" alt="Barney Stinson says: Noooo">

‎views/users/display.ejs

-8
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,13 @@
22
<% playerData.forEach(element => { %>
33
<p>Name: <%= element.firstName%> <%= element.lastName%> </p>
44
<p>Age: <%= element.dateOfBirth%> </p>
5-
<!-- <p>Years Pro: <%= element.yearsPro%> </p> -->
6-
<!-- <p>start NBA: <%= element.startNba%> </p> -->
75
<p>Height <%= element.heightInMeters%> </p>
86
<p>Weight <%= element.weightInKilograms%> </p>
9-
<!-- <p>Leauges: <%= element.leagues%> </p> -->
107
118
<form method="POST" action="/players/nbaplayersapi">
12-
<input hidden type="text" name="firstName" value=" <% element.firstName %>">
13-
<input hidden type="text" name="lastName" value=" <% element.lastName %>">
149
<input hidden type="text" name="dateOfBirth" value=" <% element.dateOfBirth %>">
15-
<!-- <input hidden type="text" name="yearsPro" value=" <% element.yearsPro %>">
16-
<input hidden type="text" name="startNba" value=" <% element.startNba %>"> -->
1710
<input hidden type="text" name="heightInMeters" value=" <% element.heightInMeters %>">
1811
<input hidden type="text" name="weightInKilograms" value=" <% element.weightInKilograms %>">
19-
<!-- <input hidden type="text" name="leagues" value=" <% element.leagues %>"> -->
2012
2113
<button class="add" type="submit">add to favorites</button>
2214
</form>

‎views/users/favorites.ejs

+16-4
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,25 @@
33
<h1>All <%= playerData.length %> of my favourite NBA Players!</h1>
44

55
<% playerData.forEach(element { %>
6+
<p>Name: <%= element.firstName%> <%= element.lastName%> </p>
7+
<p>Age: <%= element.dateOfBirth%> </p>
8+
<p>Height <%= element.heightInMeters%> </p>
9+
<p>Weight <%= element.weightInKilograms%> </p>
10+
611
<div class="well">
712
<h2>
8-
<a href="/players/nbaplayersapi<%= element.firstName %>">
9-
<%= element.firstName %>
13+
14+
1015
</a>
11-
<form method="POST" action="/players/nbaplayersapi<%= element.firstName% %> ">
12-
<input hidden type="text" name="name" value=" <%=player.firstName %>,<% element.lastName %> ">
16+
<form method="GET" action="/players/nbaplayersapi">
17+
18+
<a href="/players/nbaplayersapi<%= element.firstName %><% element.lastName %>">
19+
20+
<input hidden type="text" name="name" value=" <%=element.firstName %><% element.lastName %> ">
21+
<input hidden type="text" name="dateOfBirth" value=" <% element.dateOfBirth %>">
22+
<input hidden type="text" name="heightInMeters" value=" <% element.heightInMeters %>">
23+
<input hidden type="text" name="weightInKilograms" value=" <% element.weightInKilograms %>">
24+
1325
<button class="remove" type="submit">remove</button>
1426
</form>
1527
</h2>

‎views/users/show.ejs

+27-12
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,27 @@
1-
<div class="container">
2-
3-
<p>First Name: <%= firstName%> </p>
4-
<p>Last Name: <%= lastName%> </p>
5-
<p>Age: <%= age%> </p>
6-
<p>Height: <%= height%> </p>
7-
<p>Weight: <%= weight%> </p>
8-
<form method="POST" action="/players/<% player.firstName% %> ?_method=DELETE">
9-
<input hidden type="text" name="name" value=" <% player.firstName %>">
10-
<button class="remove" type="submit">remove</button>
11-
</form>
12-
</div>
1+
2+
3+
<div>
4+
<% playerData.forEach(element => { %>
5+
<p>Name: <%= element.firstName%> <%= element.lastName%> </p>
6+
<p>Age: <%= element.dateOfBirth%> </p>
7+
<!-- <p>Years Pro: <%= element.yearsPro%> </p> -->
8+
<!-- <p>start NBA: <%= element.startNba%> </p> -->
9+
<p>Height <%= element.heightInMeters%> </p>
10+
<p>Weight <%= element.weightInKilograms%> </p>
11+
<!-- <p>Leauges: <%= element.leagues%> </p> -->
12+
13+
<form method="POST" action="/players/nbaplayersapi">
14+
<input hidden type="text" name="firstName" value=" <% element.firstName %>">
15+
<input hidden type="text" name="lastName" value=" <% element.lastName %>">
16+
<input hidden type="text" name="dateOfBirth" value=" <% element.dateOfBirth %>">
17+
<!-- <input hidden type="text" name="yearsPro" value=" <% element.yearsPro %>">
18+
<input hidden type="text" name="startNba" value=" <% element.startNba %>"> -->
19+
<input hidden type="text" name="heightInMeters" value=" <% element.heightInMeters %>">
20+
<input hidden type="text" name="weightInKilograms" value=" <% element.weightInKilograms %>">
21+
<!-- <input hidden type="text" name="leagues" value=" <% element.leagues %>"> -->
22+
23+
<button class="delete" type="submit">remove from list</button>
24+
</form>
25+
<% }) %>
26+
27+
</div>

0 commit comments

Comments
 (0)
Please sign in to comment.