Skip to content

Instantly share code, notes, and snippets.

View thebergamo's full-sized avatar
🤟

Marcos Bérgamo thebergamo

🤟
View GitHub Profile
'use strict';
module.exports = (sequelize, DataType) => {
let Category = sequelize.define('Category', {
name: {
type: DataType.STRING(100),
allowNull: false
},
description: {
type: DataType.TEXT,
'use strict';
module.exports = { up, down };
function up (db) {
const User = require('../src/shared/user/model')(db.sequelize, db.Sequelize);
return User.sync();
};
function down (db) {
console.log('lolololo');
function getToken (user) {
const secretKey = process.env.JWT || ‘stubJWT’;
return jwt.sign({ id: user._id, roles: user.roles }, secretKey, {expiresIn: ‘18h’});
}
@thebergamo
thebergamo / todo-route.js
Created December 15, 2015 12:29
Scoped Todo.js
'use strict';
const Controller = require('../controllers/todo');
const Validator = require('../validators/todo');
exports.register = (server, options, next) => {
// instantiate controller
const controller = new Controller(options.database);
@thebergamo
thebergamo / userController.js
Created December 11, 2015 02:22
Hapi + JWT controller
'use strict';
const jwt = require('jsonwebtoken');
const Boom = require('boom');
function UserController (db) {
this.database = db;
this.model = db.User;
}
@thebergamo
thebergamo / authJWT.js
Last active December 11, 2015 01:57
Hapi + Auth JWT
'use strict';
const Promise = require('bluebird');
const jwt = require('hapi-auth-jwt2');
const db = require('./database');
exports.register = (server, options, next) => {
server.register(jwt, registerAuth);
@thebergamo
thebergamo / controller.js
Last active December 9, 2015 12:57
Thin Controller
'use strict';
function TodoController (db) {
this.database = db;
this.model = db.Todo;
}
TodoController.prototype = {
get,
create
@thebergamo
thebergamo / todo.js
Created December 8, 2015 23:10
Route Todo example
'use strict';
const Controller = require('../controllers/todo');
exports.register = (server, options, next) => {
// instantiate controller
const controller = new Controller(options.database);
server.bind(controller);
server.route([
@thebergamo
thebergamo / todo.spec.js
Last active December 7, 2015 11:52
Todo tests in Lab
/* global describe, beforeEach, before, it, expect, db, server */
'use strict';
describe('Routes /todo', () => {
let token;
before((done) => {
let options = {
method: 'POST',
url: '/user',
payload: {