From 87f8ac703766576b518b2574259fd5ca17a83799 Mon Sep 17 00:00:00 2001 From: Jay Leach Date: Sat, 28 Mar 2020 12:52:13 -0400 Subject: [PATCH 1/2] Pokemon seed added --- database/seeds/05-pokemon.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/database/seeds/05-pokemon.js b/database/seeds/05-pokemon.js index 9ddc233..6127318 100644 --- a/database/seeds/05-pokemon.js +++ b/database/seeds/05-pokemon.js @@ -2,7 +2,23 @@ exports.seed = function (knex) { return knex('').truncate() .then(function () { return knex('').insert([ - {} + { + id: 1, + name: bulbasaur, + img: '', + height: 0.7, + weight: 6.9, + types: ['poison', 'grass'], + speed: 45, + specialAttack: 65, + specialDefense: 65, + defense: 45, + attack: 49, + hp: 45, + abilities: ['chlorophyll', 'overgrow'], + moves: ['razor-wind', 'swords-dance', 'cut', 'bind'], + user_id: 1 + } ]); }); }; From 2e02a8e6fbe8e43cf47d5e5913adef352a7def79 Mon Sep 17 00:00:00 2001 From: Jay Leach Date: Sat, 28 Mar 2020 19:45:59 -0400 Subject: [PATCH 2/2] Migration done, tables created for items, machines, berries, pokemon, and users for login --- api/server.js | 12 ++- berries/berryModel.js | 0 berries/berryRouter.js | 0 .../20200305182952_create_tables.js | 82 ++++++++++++++++++- database/seeds/05-pokemon.js | 8 +- items/itemModel.js | 0 items/itemRouter.js | 0 machines/machineModel.js | 0 machines/machineRouter.js | 0 pokemon/pokemonModel.js | 0 pokemon/pokemonRouter.js | 0 11 files changed, 93 insertions(+), 9 deletions(-) create mode 100644 berries/berryModel.js create mode 100644 berries/berryRouter.js create mode 100644 items/itemModel.js create mode 100644 items/itemRouter.js create mode 100644 machines/machineModel.js create mode 100644 machines/machineRouter.js create mode 100644 pokemon/pokemonModel.js create mode 100644 pokemon/pokemonRouter.js diff --git a/api/server.js b/api/server.js index 3310530..cb8a608 100644 --- a/api/server.js +++ b/api/server.js @@ -5,6 +5,11 @@ const helmet = require('helmet'); const authenticate = require('../auth/authenticate-middleware.js'); const authRouter = require('../auth/auth-router.js'); +const berryRouter = require('../berries/berryRouter.js'); +const itemRouter = require('../items/itemRouter.js'); +const machineRouter = require('../machines/machineRouter.js'); +const pokemonRouter = require('../pokemon/pokemonRouter.js'); + const server = express(); server.use(helmet()); @@ -15,6 +20,11 @@ server.get('/', (req, res) => { res.status(200).json({ test: "LISTENING" }) }) -server.use('/api/auth', authRouter); +server.use('/api/auth', authRouter); // For the trainer + +server.use('/api/berries', authenticate, berryRouter); // For the berries +server.use('/api/items', authenticate, itemRouter); // For the items +server.use('/api/machines', authenticate, machineRouter); // For the machines +server.use('/api/pokemon', authenticate, pokemonRouter); // For the pokemon module.exports = server; diff --git a/berries/berryModel.js b/berries/berryModel.js new file mode 100644 index 0000000..e69de29 diff --git a/berries/berryRouter.js b/berries/berryRouter.js new file mode 100644 index 0000000..e69de29 diff --git a/database/migrations/20200305182952_create_tables.js b/database/migrations/20200305182952_create_tables.js index 2d35d46..39d8917 100644 --- a/database/migrations/20200305182952_create_tables.js +++ b/database/migrations/20200305182952_create_tables.js @@ -1,14 +1,88 @@ exports.up = function(knex) { return knex.schema.createTable('users', tbl => { + tbl.increments(); + tbl.string('username', 128).unique().notNullable(); + tbl.string('password', 256).notNullable(); + tbl.string('user_type'); + }) + + .createTable('items', tbl => { + tbl.string('name').notNullable(); + tbl.integer('id'); + tbl.integer('cost'); + tbl.integer('user_id') + .unsigned() + .notNullable() + references('id') + .inTable('users') + .onUpdate('CASCADE') + .onDelete('RESTRICT'); + tbl.integer('total_count'); + tbl.integer('count').defaultTo(0); + }) + + .createTable('machines', tbl => { + tbl.string('name').notNullable(); + tbl.integer('id'); + tbl.integer('user_id') + .unsigned() + .notNullable() + references('id') + .inTable('users') + .onUpdate('CASCADE') + .onDelete('RESTRICT'); + tbl.integer('count').defaultTo(0); + tbl.string('mega-punch').notNullable(); + }) + + .createTable('berries', tbl => { + tbl.string('name').notNullable(); + tbl.integer('id'); + tbl.integer('user_id') + .unsigned() + .notNullable() + references('id') + .inTable('users') + .onUpdate('CASCADE') + .onDelete('RESTRICT'); + tbl.integer('size'); + tbl.integer('smoothness'); + tbl.integer('naturalGiftPower'); + tbl.integer('soilDryness'); + tbl.integer('growthTime'); + tbl.integer('maxHarvest'); + }) - tbl.increments(); - tbl.string('username', 128).unique().notNullable(); - tbl.string('password', 256).notNullable(); - tbl.string('user_type'); + .createTable('pokemon', tbl => { + tbl.integer('id'); + tbl.string('name').notNullable(); + tbl.string('img').notNullable(); + tbl.integer('height'); + tbl.integer('weight'); + tbl.specificType('types', 'text ARRAY'); + tbl.integer('speed'); + tbl.integer('specialAttack'); + tbl.integer('specialDefense'); + tbl.integer('defense'); + tbl.integer('attack'); + tbl.integer('hp'); + tbl.specificType('abilities', 'text ARRAY'); + tbl.specificType('moves', 'text ARRAY'); + tbl.integer('user_id') + .unsigned() + .notNullable() + references('id') + .inTable('users') + .onUpdate('CASCADE') + .onDelete('RESTRICT'); }) }; exports.down = function(knex) { return knex.schema + .dropTableIfExists('pokemon') + .dropTableIfExists('berries') + .dropTableIfExists('machines') + .dropTableIfExists('items') .dropTableIfExists('users') }; diff --git a/database/seeds/05-pokemon.js b/database/seeds/05-pokemon.js index 6127318..b77e838 100644 --- a/database/seeds/05-pokemon.js +++ b/database/seeds/05-pokemon.js @@ -4,10 +4,10 @@ exports.seed = function (knex) { return knex('').insert([ { id: 1, - name: bulbasaur, - img: '', - height: 0.7, - weight: 6.9, + name: 'bulbasaur', + img: 'https://img.pokemondb.net/sprites/black-white/anim/normal/bulbasaur.gif', + height: 7, + weight: 69, types: ['poison', 'grass'], speed: 45, specialAttack: 65, diff --git a/items/itemModel.js b/items/itemModel.js new file mode 100644 index 0000000..e69de29 diff --git a/items/itemRouter.js b/items/itemRouter.js new file mode 100644 index 0000000..e69de29 diff --git a/machines/machineModel.js b/machines/machineModel.js new file mode 100644 index 0000000..e69de29 diff --git a/machines/machineRouter.js b/machines/machineRouter.js new file mode 100644 index 0000000..e69de29 diff --git a/pokemon/pokemonModel.js b/pokemon/pokemonModel.js new file mode 100644 index 0000000..e69de29 diff --git a/pokemon/pokemonRouter.js b/pokemon/pokemonRouter.js new file mode 100644 index 0000000..e69de29