| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- // Objection Docs:
 
- // http://vincit.github.io/objection.js/
 
- const db    = require('../db');
 
- const Model = require('objection').Model;
 
- const now   = require('./now_helper');
 
- Model.knex(db);
 
- class AccessListClient extends Model {
 
- 	$beforeInsert () {
 
- 		this.created_on  = now();
 
- 		this.modified_on = now();
 
- 		// Default for meta
 
- 		if (typeof this.meta === 'undefined') {
 
- 			this.meta = {};
 
- 		}
 
- 	}
 
- 	$beforeUpdate () {
 
- 		this.modified_on = now();
 
- 	}
 
- 	static get name () {
 
- 		return 'AccessListClient';
 
- 	}
 
- 	static get tableName () {
 
- 		return 'access_list_client';
 
- 	}
 
- 	static get jsonAttributes () {
 
- 		return ['meta'];
 
- 	}
 
- 	static get relationMappings () {
 
- 		return {
 
- 			access_list: {
 
- 				relation:   Model.HasOneRelation,
 
- 				modelClass: require('./access_list'),
 
- 				join:       {
 
- 					from: 'access_list_client.access_list_id',
 
- 					to:   'access_list.id'
 
- 				},
 
- 				modify: function (qb) {
 
- 					qb.where('access_list.is_deleted', 0);
 
- 					qb.omit(['created_on', 'modified_on', 'is_deleted', 'access_list_id']);
 
- 				}
 
- 			}
 
- 		};
 
- 	}
 
- 	get rule() {
 
- 		return `${this.directive} ${this.address}`;
 
- 	}
 
- }
 
- module.exports = AccessListClient;
 
 
  |