@backwood/sequelize v1.0.6
Installation
npm install --save @backwood/backwood @backwood/rest @backwood/sequelizePackages
Model Usage
Start by adding the provider to the providers array in your start/app.js file
...
exports.providers = [
  '@backwood/sequelize', // <-- must be added before the rest of the Backwood providers
  '@backwood/rest',
  '@backwood/backwood'
]Now export an object named models in the same file
exports.models = {
  Users: 'App/Models/Users'
}app/Models/Users
'use strict'
const bcrypt = use('bcryptjs') const Model = use('Model')
module.exports = class Users extends Model {
/**
- Whether or not a service
- should be created for this model
- @property createService
- @optional
- @static
- @type {Boolean} */ static get createService() { return false } - /** 
- Define name for the service 
- @property serviceName
- @optional
- @static
- @type {String} */ static get serviceName() { return 'users' } - /** 
- Define pagination for the service 
- @property paginate
- @optional
- @static
- @type {Object} */ static get paginate() { return {} } - /** 
- Define database table for the Sequelize Model 
- @property tableName
- @required
- @static
- @type {String} */ static get tableName() { return 'users' } - /** 
- Define attributes for the Sequelize Model 
- @method attributes
- @argument {Object} DataTypes
- @returns {Object}
- @static
- @required */ static attributes(DataTypes) { return { username: DataTypes.STRING } } - /** 
- Define options for the Sequelize Model 
- @property options
- @optional
- @static
- @type {Object} */ static get options() { return { timestamps: false } } - /** 
- Define service hooks 
- @property serviceHooks
- @static
- @type {Object} */ static get serviceHooks() { return {} } - /** 
- Define hooks for the Sequelize Model 
- @property hooks
- @static
- @type {Object} */ static get hooks() { return { beforeCreate(account, options) { const salt = bcrypt.genSaltSync(10) account.password = bcrypt.hashSync(account.password, salt) } } } - /** 
- Sequelize instance method 
- for verifying a users password
- @method verifyPassword
- @param {String} password
- @return {String} hashed password */ verifyPassword(password) { return bcrypt.compareSync(password, this.password) }
}