import TenantModel from '@/models/Model'; export default class Budget extends TenantModel { /** * Table name */ static get tableName() { return 'budgets'; } static get virtualAttributes() { return ['rangeBy', 'rangeIncrement']; } /** * Model modifiers. */ static get modifiers() { return { filterByYear(query, year) { query.where('year', year); }, filterByIncomeStatement(query) { query.where('account_types', 'income_statement'); }, filterByProfitLoss(query) { query.where('accounts_types', 'profit_loss'); }, }; } get rangeBy() { switch (this.period) { case 'half-year': case 'quarter': return 'month'; default: return this.period; } } get rangeIncrement() { switch (this.period) { case 'half-year': return 6; case 'quarter': return 3; default: return 1; } } get rangeOffset() { switch (this.period) { case 'half-year': return 5; case 'quarter': return 2; default: return 0; } } }