Files
bigcapital/server/src/models/ViewRole.js
Ahmed Bouhuolia a22c8395f3 feat: remove path alias.
feat: remove Webpack and depend on nodemon.
feat: refactoring expenses.
feat: optimize system users with caching.
feat: architecture tenant optimize.
2020-09-15 00:51:39 +02:00

60 lines
1.2 KiB
JavaScript

import { Model } from 'objection';
import TenantModel from 'models/TenantModel';
export default class ViewRole extends TenantModel {
/**
* Virtual attributes.
*/
static get virtualAttributes() {
return ['comparators'];
}
static get comparators() {
return [
'equals', 'not_equal', 'contains', 'not_contain',
];
}
/**
* Table name.
*/
static get tableName() {
return 'view_roles';
}
/**
* Relationship mapping.
*/
static get relationMappings() {
const ResourceField = require('models/ResourceField');
const View = require('models/View');
return {
/**
* View role model may belongs to view model.
*/
view: {
relation: Model.BelongsToOneRelation,
modelClass: this.relationBindKnex(View.default),
join: {
from: 'view_roles.viewId',
to: 'views.id',
},
},
/**
* View role model may belongs to resource field model.
*/
field: {
relation: Model.BelongsToOneRelation,
modelClass: this.relationBindKnex(ResourceField.default),
join: {
from: 'view_roles.fieldId',
to: 'resource_fields.id',
},
},
};
}
}