| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | // Objection Docs:// http://vincit.github.io/objection.js/const db             = require('../db');const Model          = require('objection').Model;const UserPermission = require('./user_permission');Model.knex(db);class User extends Model {	$beforeInsert () {		this.created_on  = Model.raw('NOW()');		this.modified_on = Model.raw('NOW()');		// Default for roles		if (typeof this.roles === 'undefined') {			this.roles = [];		}	}	$beforeUpdate () {		this.modified_on = Model.raw('NOW()');	}	static get name () {		return 'User';	}	static get tableName () {		return 'user';	}	static get jsonAttributes () {		return ['roles'];	}	static get relationMappings () {		return {			permissions: {				relation:   Model.HasOneRelation,				modelClass: UserPermission,				join:       {					from: 'user.id',					to:   'user_permission.user_id'				},				modify: function (qb) {					qb.omit(['id', 'created_on', 'modified_on', 'user_id']);				}			}		};	}}module.exports = User;
 |