Files
bigcapital/server/src/models/ViewRole.js
Ahmed Bouhuolia 73711384f6 WIP
2020-03-16 00:06:15 +02:00

67 lines
1.3 KiB
JavaScript

import { Model } from 'objection';
import BaseModel from '@/models/Model';
export default class ViewRole extends BaseModel {
/**
* 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';
}
/**
* Timestamp columns.
*/
static get hasTimestamps() {
return false;
}
/**
* 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: View.default,
join: {
from: 'view_roles.viewId',
to: 'views.id',
},
},
/**
* View role model may belongs to resource field model.
*/
field: {
relation: Model.BelongsToOneRelation,
modelClass: ResourceField.default,
join: {
from: 'view_roles.fieldId',
to: 'resource_fields.id',
},
},
};
}
}