Skip to content

Commit

Permalink
refactored db migrations and seeds
Browse files Browse the repository at this point in the history
  • Loading branch information
mjhea0 committed Sep 20, 2016
1 parent d5f7164 commit 1911d43
Show file tree
Hide file tree
Showing 46 changed files with 254 additions and 153 deletions.
6 changes: 3 additions & 3 deletions src/server/auth/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@


const knex = require('../db/connection');
const userQueries = require('../db/queries.users');
const lessonQueries = require('../db/queries.lessons');
const usersLessonsQueries = require('../db/queries.users_lessons');
const userQueries = require('../db/queries/users');
const lessonQueries = require('../db/queries/lessons');
const usersLessonsQueries = require('../db/queries/users_lessons');

// TODO: combine ensureAuthenticated() and ensureVerified() by setting up global permission logic config

Expand Down
68 changes: 68 additions & 0 deletions src/server/db/_seed_helpers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
(function() {

'use strict';

const knex = require('./connection');

function dropTables() {
return Promise.all([
knex('chapters').del(),
knex('lessons').del(),
knex('users').del(),
knex('messages').del(),
knex('suggestions').del(),
knex('codes').del()
]);
}

function insertUsers() {
return knex('users')
.insert({
github_username: 'Michael',
github_id: 987,
github_display_name: 'Michael Johnson',
github_access_token: '798',
github_avatar: 'https://avatars.io/static/default_128.jpg',
email: 'michael@johnson.com',
verified: false,
admin: false
});
}

function insertChapters() {
return Promise.all([
knex('chapters').insert({
order_number: 1,
name: 'Functions and Loops'
}),
knex('chapters').insert({
order_number: 2,
name: 'Conditional logic'
}),
knex('chapters').insert({
order_number: 3,
name: 'Lists and Dictionaries'
}),
knex('chapters').insert({
order_number: 4,
name: 'Inactive Chapter',
active: false
})
]);
}

function getChapters() {
return knex('chapters')
.select('*')
.orderBy('order_number')
.returning('*');
}

module.exports = {
dropTables,
insertUsers,
insertChapters,
getChapters
};

}());
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const knex = require('./connection');
const knex = require('../connection');

function getChapters(callback) {
return knex('chapters')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const knex = require('./connection');
const knex = require('../connection');

function addCode(obj, callback) {
return knex('codes')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const knex = require('./connection');
const knex = require('../connection');

function getAllLessons(callback) {
return knex('lessons')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const knex = require('./connection');
const knex = require('../connection');

function getActiveMessages(callback) {
return knex('messages')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var knex = require('./connection');
var knex = require('../connection');

function getAllSuggestions() {
return knex('suggestions')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var knex = require('./connection');
var knex = require('../connection');

function addUser(obj, callback) {
return knex('users')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const knex = require('./connection');
const lessonQueries = require('./queries.lessons');
const knex = require('../connection');
const lessonQueries = require('./lessons');

function addRow(obj, callback) {
return knex('users_lessons')
Expand Down
Empty file removed src/server/db/seeds.helpers.js
Empty file.
16 changes: 8 additions & 8 deletions src/server/db/seeds/01_drop.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
exports.seed = (knex, Promise) => {
return Promise.all([
knex('chapters').del(),
knex('lessons').del(),
knex('users').del(),
knex('messages').del(),
knex('suggestions').del(),
knex('codes').del()
]);
// return Promise.all([
// knex('chapters').del(),
// knex('lessons').del(),
// knex('users').del(),
// knex('messages').del(),
// knex('suggestions').del(),
// knex('codes').del()
// ]);
};
27 changes: 27 additions & 0 deletions src/server/db/seeds/01_main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
(function() {

'use strict';

const helpers = require('../_seed_helpers');

exports.seed = (knex, Promise) => {
return Promise.join(
helpers.dropTables()
)
.then(() => {
return Promise.all([
helpers.insertUsers(),
helpers.insertChapters()
]);
})
.then(() => {
return Promise.join(
helpers.getChapters()
);
})
.then((chapters) => {
// console.log(chapters);
});
};

}());
22 changes: 11 additions & 11 deletions src/server/db/seeds/02_users.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
exports.seed = (knex, Promise) => {
return knex('users')
.insert({
github_username: 'Michael',
github_id: 987,
github_display_name: 'Michael Johnson',
github_access_token: '798',
github_avatar: 'https://avatars.io/static/default_128.jpg',
email: 'michael@johnson.com',
verified: false,
admin: false
});
// return knex('users')
// .insert({
// github_username: 'Michael',
// github_id: 987,
// github_display_name: 'Michael Johnson',
// github_access_token: '798',
// github_avatar: 'https://avatars.io/static/default_128.jpg',
// email: 'michael@johnson.com',
// verified: false,
// admin: false
// });
};
38 changes: 19 additions & 19 deletions src/server/db/seeds/03_chapters.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
exports.seed = (knex, Promise) => {
return Promise.join(
knex('chapters').insert({
order_number: 1,
name: 'Functions and Loops'
}),
knex('chapters').insert({
order_number: 2,
name: 'Conditional logic'
}),
knex('chapters').insert({
order_number: 3,
name: 'Lists and Dictionaries'
}),
knex('chapters').insert({
order_number: 4,
name: 'Inactive Chapter',
active: false
})
);
// return Promise.join(
// knex('chapters').insert({
// order_number: 1,
// name: 'Functions and Loops'
// }),
// knex('chapters').insert({
// order_number: 2,
// name: 'Conditional logic'
// }),
// knex('chapters').insert({
// order_number: 3,
// name: 'Lists and Dictionaries'
// }),
// knex('chapters').insert({
// order_number: 4,
// name: 'Inactive Chapter',
// active: false
// })
// );
};
10 changes: 5 additions & 5 deletions src/server/routes/_helpers.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
const chapterQueries = require('../db/queries.chapters');
const userQueries = require('../db/queries.users');
const lessonQueries = require('../db/queries.lessons');
const messageQueries = require('../db/queries.messages');
const usersLessonsQueries = require('../db/queries.users_lessons');
const chapterQueries = require('../db/queries/chapters');
const userQueries = require('../db/queries/users');
const lessonQueries = require('../db/queries/lessons');
const messageQueries = require('../db/queries/messages');
const usersLessonsQueries = require('../db/queries/users_lessons');

function getTotalActiveLessons(chapters) {
var total = chapters.reduce(function(acc, chapter) {
Expand Down
90 changes: 48 additions & 42 deletions src/server/routes/admin/admin.auth.js
Original file line number Diff line number Diff line change
@@ -1,42 +1,48 @@
const express = require('express');
const router = express.Router();

const authHelpers = require('../../auth/helpers');
const userQueries = require('../../db/queries.users');

// *** get verification status *** //
router.get(
'/verification',
authHelpers.ensureAdmin,
getVerificationStatus
);

// *** toggle verification status *** //
router.get(
'/verification/toggle',
authHelpers.ensureAdmin,
toggleVerificationStatus
);

function getVerificationStatus(req, res, next) {
let status = false;
// check status
if (parseInt(process.env.CAN_VERIFY) === 1) status = true;
return res.status(200).json({
status: 'success',
verified: status
});
}

function toggleVerificationStatus(req, res, next) {
process.env.CAN_VERIFY = 1;
// check status
if (parseInt(process.env.CAN_VERIFY) === 1) process.env.CAN_VERIFY = 0;
req.flash('messages', {
status: 'success',
value: 'Verification status toggled.'
});
return res.redirect('/');
}

module.exports = router;
(function() {

'use strict';

const express = require('express');
const router = express.Router();

const authHelpers = require('../../auth/helpers');
const userQueries = require('../../db/queries/users');

// *** get verification status *** //
router.get(
'/verification',
authHelpers.ensureAdmin,
getVerificationStatus
);

// *** toggle verification status *** //
router.get(
'/verification/toggle',
authHelpers.ensureAdmin,
toggleVerificationStatus
);

function getVerificationStatus(req, res, next) {
let status = false;
// check status
if (parseInt(process.env.CAN_VERIFY) === 1) status = true;
return res.status(200).json({
status: 'success',
verified: status
});
}

function toggleVerificationStatus(req, res, next) {
process.env.CAN_VERIFY = 1;
// check status
if (parseInt(process.env.CAN_VERIFY) === 1) process.env.CAN_VERIFY = 0;
req.flash('messages', {
status: 'success',
value: 'Verification status toggled.'
});
return res.redirect('/');
}

module.exports = router;

}());
4 changes: 2 additions & 2 deletions src/server/routes/admin/admin.chapters.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ const express = require('express');
const router = express.Router();

const authHelpers = require('../../auth/helpers');
const chapterQueries = require('../../db/queries.chapters');
const lessonQueries = require('../../db/queries.lessons');
const chapterQueries = require('../../db/queries/chapters');
const lessonQueries = require('../../db/queries/lessons');

// *** get all chapters *** //
router.get(
Expand Down
8 changes: 4 additions & 4 deletions src/server/routes/admin/admin.lessons.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ const express = require('express');
const router = express.Router();

const authHelpers = require('../../auth/helpers');
const lessonQueries = require('../../db/queries.lessons');
const chapterQueries = require('../../db/queries.chapters');
const userQueries = require('../../db/queries.users');
const lessonsUsersQueries = require('../../db/queries.users_lessons');
const lessonQueries = require('../../db/queries/lessons');
const chapterQueries = require('../../db/queries/chapters');
const userQueries = require('../../db/queries/users');
const lessonsUsersQueries = require('../../db/queries/users_lessons');
const routeHelpers = require('../_helpers');

// *** get all lessons *** //
Expand Down
2 changes: 1 addition & 1 deletion src/server/routes/admin/admin.messages.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var express = require('express');
var router = express.Router();

var authHelpers = require('../../auth/helpers');
var messageQueries = require('../../db/queries.messages');
var messageQueries = require('../../db/queries/messages');

// *** update message *** //
router.get('/:messageID/update', authHelpers.ensureAdmin,
Expand Down
6 changes: 3 additions & 3 deletions src/server/routes/admin/admin.users.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ const router = express.Router();

const authHelpers = require('../../auth/helpers');
const routeHelpers = require('../_helpers');
const userQueries = require('../../db/queries.users');
const lessonQueries = require('../../db/queries.lessons');
const lessonsUsersQueries = require('../../db/queries.users_lessons');
const userQueries = require('../../db/queries/users');
const lessonQueries = require('../../db/queries/lessons');
const lessonsUsersQueries = require('../../db/queries/users_lessons');

// *** get all users *** //
router.get(
Expand Down
Loading

0 comments on commit 1911d43

Please sign in to comment.