Skip to content

Commit 2aed3be

Browse files
authored
Merge pull request #8 from leachcoding/jay-leach
Berries finished with seeds, migration, router, and model
2 parents 1d0b8e5 + 0bab2a0 commit 2aed3be

File tree

11 files changed

+226
-228
lines changed

11 files changed

+226
-228
lines changed

04-berries.js

Lines changed: 0 additions & 18 deletions
This file was deleted.

api/server.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const helmet = require('helmet');
55
const authenticate = require('../auth/authenticate-middleware.js');
66
const authRouter = require('../auth/auth-router.js');
77

8-
// const berryRouter = require('../berries/berryRouter.js');
8+
const berryRouter = require('../berries/berryRouter.js');
99
const itemRouter = require('../items/itemRouter.js');
1010
// const machineRouter = require('../machines/machineRouter.js');
1111
// const pokemonRouter = require('../pokemon/pokemonRouter.js');
@@ -22,7 +22,7 @@ server.get('/', (req, res) => {
2222

2323
server.use('/api/auth', authRouter); // For the trainer
2424

25-
// server.use('/api/berries', authenticate, berryRouter); // For the berries
25+
server.use('/api/berries', authenticate, berryRouter); // For the berries
2626
server.use('/api/items', itemRouter); // For the items
2727
// server.use('/api/machines', authenticate, machineRouter); // For the machines
2828
// server.use('/api/pokemon', authenticate, pokemonRouter); // For the pokemon

berries/berryModel.js

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,63 @@
11
const db = require('../database/dbConfig');
22

33
module.exports = {
4-
getItems,
5-
getItemsById,
6-
addItem,
7-
getItemFilter,
8-
updateItem,
9-
deleteItem,
10-
updateItemCount
4+
getBerries,
5+
getBerriesById,
6+
addBerry,
7+
getBerryFilter,
8+
updateBerry,
9+
deleteBerry,
10+
updateBerryCount
1111
};
1212

13-
function getItems() {
14-
return db('items');
13+
function getBerries() {
14+
return db('berries');
1515
}
1616

17-
function addItem(post) {
18-
return db('items as i')
17+
function addBerry(post) {
18+
return db('berries as i')
1919
.insert(post)
2020
.then(ids => {
2121
console.log('ADD ITEM', ids)
2222
const [id] = ids;
23-
return getItemsById(id);
23+
return getBerriesById(id);
2424
})
2525
}
2626

27-
function getItemsById(id) {
28-
return db('items')
27+
function getBerriesById(id) {
28+
return db('berries')
2929
.select('*')
3030
.where({id})
3131
.first()
3232
}
3333

34-
async function updateItem(id, changes) {
35-
await db('classes')
34+
async function updateBerry(id, changes) {
35+
await db('berries')
3636
.where({id})
3737
.update(changes)
3838

39-
return getClassesById(id);
39+
return getBerriesById(id);
4040
}
4141

42-
async function updateItemCount(id, changes) {
43-
await db('items')
42+
async function updateBerryCount(id, changes) {
43+
await db('berries')
4444
.where({id})
4545
.update(changes)
4646

47-
return db('items')
47+
return db('berries')
4848
.select('count')
4949
.where({id})
5050
.first()
5151
}
5252

53-
function deleteItem(id) {
54-
return db('items')
53+
function deleteBerry(id) {
54+
return db('berries')
5555
.where('id', id)
5656
.delete()
5757
}
5858

59-
function getItemsFIlter(filter) {
60-
return db('items')
59+
function getBerriesFIlter(filter) {
60+
return db('berries')
6161
.select('*')
6262
.where('user_id', filter)
6363
}

berries/berryRouter.js

Lines changed: 53 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
const express = require('express');
22
const router = express.Router();
33
const dbUsers = require('../auth/auth-model');
4-
const classDb = require('./classModel');
5-
const classesData = require('./classModel');
4+
const berryDb = require('./berryModel');
5+
const berriesData = require('./berryModel');
66

7-
8-
//GET all available classes
9-
10-
router.get('/classes', (req, res) => {
11-
classesData.getClasses()
7+
// GET all available berries
8+
router.get('/berries', (req, res) => {
9+
berriesData.getBerries()
1210
.then( posts =>{
1311
res.status(200).json(posts);
1412
console.log(posts);
@@ -18,88 +16,88 @@ router.get('/classes', (req, res) => {
1816
})
1917
})
2018

21-
// gets all classes for single user
22-
router.get('/:id/classes', (req, res) => {
19+
// gets all berries for single user
20+
router.get('/:id/berries', (req, res) => {
2321

2422
const { id } = req.params;
2523

26-
classesData
27-
.getClassesFilter(id)
28-
.then(classes => {
29-
res.status(200).json(classes)
24+
berriesData
25+
.getBerriesFilter(id)
26+
.then(berries => {
27+
res.status(200).json(berries)
3028
})
3129
.catch(({ name, message, code, stack }) => {
3230
res.status(500).json({ name, message, code, stack })
3331
})
3432
});
3533

3634

37-
// gets single class
38-
router.get('/classes/:id', validateClass, (req, res) => {
35+
// gets single berry
36+
router.get('/berries/:id', validateBerry, (req, res) => {
3937
const { id } = req.params;
4038

41-
classesData
42-
.getClassesById(id)
43-
.then(issue => {
44-
res.status(200).json(issue)
39+
berriesData
40+
.getItemsById(id)
41+
.then(berry => {
42+
res.status(200).json(berry)
4543
})
4644
.catch(({ name, message, code, stack }) => {
4745
res.status(500).json({ name, message, code, stack })
4846
})
4947

5048
})
5149

52-
// adds class to database with user id
53-
router.post('/:id/classes/', validateUser, (req, res) => {
50+
// adds berry to database with user id
51+
router.post('/:id/berries/', validateUser, (req, res) => {
5452

5553
const { id } = req.params;
56-
const issue = { ...req.body, user_id: id }
54+
const berry = { ...req.body, user_id: id }
5755

58-
classesData
59-
.addClass(issue)
60-
.then(issue => {
61-
res.status(200).json(issue)
56+
berriesData
57+
.addBerry(berry)
58+
.then(berry => {
59+
res.status(200).json(berry)
6260
})
6361
.catch(({ name, message, code, stack }) => {
6462
res.status(500).json({ name, message, code, stack })
6563
})
6664
})
6765

68-
// edits single class
69-
router.put("/classes/:id", validateClass, (req, res) => {
66+
// edits single berry
67+
router.put("/berries/:id", validateBerry, (req, res) => {
7068
const { id } = req.params
7169
const changes = { ...req.body}
72-
classesData.updateClass(id, changes)
73-
.then(issue => {
74-
console.log(`this is class`, issue)
75-
res.status(200).json(issue)
70+
berriesData.updateBerry(id, changes)
71+
.then(berry => {
72+
console.log(`this is berry`, berry)
73+
res.status(200).json(berry)
7674
})
7775
.catch(({ name, message, code, stack }) => {
7876
res.status(500).json({ name, message, code, stack })
7977
})
8078
})
8179

82-
// edits current_attendees of classes
83-
router.patch("/classes/:id", validateClass, (req, res) => {
80+
// edits count of berries
81+
router.patch("/berries/:id", validateBerry, (req, res) => {
8482

8583
const { id } = req.params
8684
const join = req.body;
87-
classesData
88-
.updateClassSize(id, join)
89-
.then(classes=> {
90-
res.status(200).json({ message: `Attendees for Class# ${id} Updated Successfully`, classes})
85+
berriesData
86+
.updateBerryCount(id, join)
87+
.then(berries=> {
88+
res.status(200).json({ message: `Count for Berry# ${id} Updated Successfully`, berries})
9189
})
9290
.catch(({ name, message, code, stack }) => {
9391
res.status(500).json({ name, message, code, stack })
9492
})
9593
})
9694

97-
// deletes an issue
98-
router.delete("/classes/:id", (req, res) => {
95+
// deletes an berry
96+
router.delete("/berries/:id", (req, res) => {
9997
const { id } = req.params
100-
classesData.deleteClass(id)
101-
.then(classes => {
102-
res.status(200).json(classes)
98+
berriesData.deleteBerry(id)
99+
.then(berries => {
100+
res.status(200).json(berries)
103101
})
104102
.catch(({ name, message, code, stack }) => {
105103
res.status(500).json({ name, message, code, stack })
@@ -111,32 +109,32 @@ router.delete("/classes/:id", (req, res) => {
111109
// Validation MiddleWare
112110

113111
async function validateUser(req, res, next) {
114-
// validates all POST requests for new ISSUE (not new user)
112+
// validates all POST requests for new berry (not new user)
115113
const { id } = req.params;
116-
const issue = { ...req.body, user_id: id} ;
117-
console.log(`validate issue:`, issue)
114+
const berry = { ...req.body, user_id: id} ;
115+
console.log(`validate berry:`, berry)
118116

119117
const userCheck = await dbUsers.getUserById(id)
120118

121119
!userCheck
122120
? res.status(404).json({ message: "User does not exist!" })
123-
: !issue ?
124-
res.status(404).json({ message: "Class does not exist!" })
125-
: !issue.title || !issue.description || !issue.type || !issue.start || !issue.location || !issue.intensity || !issue.max_class
121+
: !berry ?
122+
res.status(404).json({ message: "Berry does not exist!" })
123+
: !berry.name || !berry.pokeid || !berry.size || !berry.smoothness || !berry.naturalGiftPower || !berry.soilDryness || !berry.growthTime || !berry.maxHarvest
126124
? res.status(406).json({ message: "Please make sure the required fields are completed. " })
127125
: next();
128126
}
129127

130-
async function validateClass(req, res, next) {
131-
// validates all POST requests for new ISSUE (not new user)
128+
async function validateBerry(req, res, next) {
129+
// validates all POST requests for new berry (not new user)
132130
const { id } = req.params;
133-
const classes = req.body;
134-
console.log(`validate class:`, classes)
131+
const berries = req.body;
132+
console.log(`validate berry:`, berries)
135133

136-
const issueCheck = await classDb.getClassesById(id)
134+
const issueCheck = await berryDb.getBerriesById(id)
137135

138136
!issueCheck
139-
? res.status(404).json({ message: "Class does not exist!" })
137+
? res.status(404).json({ message: "Berry does not exist!" })
140138
: next();
141139
}
142140

database/auth.db3

-8 KB
Binary file not shown.

database/migrations/20200305182952_create_tables.js

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,25 @@ exports.up = function(knex) {
3737
// tbl.string('mega-punch').notNullable();
3838
// })
3939
//
40-
// .createTable('berries', tbl => {
41-
// tbl.increments();
42-
// tbl.string('name').notNullable();
43-
// tbl.integer('pokeid');
44-
// tbl.integer('user_id')
45-
// .unsigned()
46-
// .notNullable()
47-
// .references('pokeid')
48-
// .inTable('users')
49-
// .onUpdate('CASCADE')
50-
// .onDelete('RESTRICT');
51-
// tbl.integer('size');
52-
// tbl.integer('smoothness');
53-
// tbl.integer('naturalGiftPower');
54-
// tbl.integer('soilDryness');
55-
// tbl.integer('growthTime');
56-
// tbl.integer('maxHarvest');
57-
// })
40+
.createTable('berries', tbl => {
41+
tbl.increments();
42+
tbl.string('name').notNullable();
43+
tbl.integer('pokeid');
44+
tbl.integer('user_id')
45+
.unsigned()
46+
.notNullable()
47+
.references('pokeid')
48+
.inTable('users')
49+
.onUpdate('CASCADE')
50+
.onDelete('RESTRICT');
51+
tbl.integer('size');
52+
tbl.integer('smoothness');
53+
tbl.integer('naturalGiftPower');
54+
tbl.integer('soilDryness');
55+
tbl.integer('growthTime');
56+
tbl.integer('maxHarvest');
57+
tbl.integer('count').defaultTo(0);
58+
})
5859
//
5960
// .createTable('pokemon', tbl => {
6061
// tbl.increments();

database/seeds/04-berries.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
exports.seed = function (knex) {
2+
return knex('berries').truncate()
3+
.then(function () {
4+
return knex('berries').insert([
5+
{
6+
name: 'chesto',
7+
pokeid: 2,
8+
user_id: 1,
9+
size: 80,
10+
smoothness: 25,
11+
naturalGiftPower: 60,
12+
soilDryness: 15,
13+
growthTime: 3,
14+
maxHarvest: 5,
15+
count: 2
16+
}
17+
]);
18+
});
19+
};

items/itemModel.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ function getItemsById(id) {
3232
}
3333

3434
async function updateItem(id, changes) {
35-
await db('classes')
35+
await db('items')
3636
.where({id})
3737
.update(changes)
3838

39-
return getClassesById(id);
39+
return getItemsById(id);
4040
}
4141

4242
async function updateItemCount(id, changes) {

0 commit comments

Comments
 (0)