mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 20:30:33 +00:00
- feat: remove unnecessary migrations, controllers and models files.
- feat: metable store - feat: metable store with settings store. - feat: settings middleware to auto-save and load. - feat: DI db manager to master container. - feat: write some logs to sale invoices.
This commit is contained in:
@@ -1,60 +0,0 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
import TenantModel from '@/models/TenantModel';
|
||||
|
||||
export default class Budget extends TenantModel {
|
||||
/**
|
||||
* Table name
|
||||
*/
|
||||
static get tableName() {
|
||||
return 'budget_entries';
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
import TenantModel from '@/models/TenantModel';
|
||||
import MetableCollection from '@/lib/Metable/MetableCollection';
|
||||
import definedOptions from '@/data/options';
|
||||
|
||||
|
||||
@@ -11,27 +10,6 @@ export default class Option extends TenantModel {
|
||||
return 'options';
|
||||
}
|
||||
|
||||
/**
|
||||
* Override the model query.
|
||||
* @param {...any} args -
|
||||
*/
|
||||
static query(...args) {
|
||||
return super.query(...args).runAfter((result) => {
|
||||
if (result instanceof MetableCollection) {
|
||||
result.setModel(this.tenant());
|
||||
result.setExtraColumns(['group']);
|
||||
}
|
||||
return result;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Model collection.
|
||||
*/
|
||||
static get collection() {
|
||||
return MetableCollection;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates the given options is defined or either not.
|
||||
* @param {Array} options
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
import { Model } from 'objection';
|
||||
import path from 'path';
|
||||
import TenantModel from '@/models/TenantModel';
|
||||
|
||||
export default class Permission extends TenantModel {
|
||||
/**
|
||||
* Table name of Role model.
|
||||
* @type {String}
|
||||
*/
|
||||
static get tableName() {
|
||||
return 'permissions';
|
||||
}
|
||||
|
||||
/**
|
||||
* Relationship mapping.
|
||||
*/
|
||||
static get relationMappings() {
|
||||
const Role = require('@/models/Role');
|
||||
|
||||
return {
|
||||
/**
|
||||
* Permission model may belongs to role model.
|
||||
*/
|
||||
// role: {
|
||||
// relation: Model.BelongsToOneRelation,
|
||||
// modelBase: path.join(__dirname, 'Role').bindKnex(this.knexBinded),
|
||||
// join: {
|
||||
// from: 'permissions.role_id',
|
||||
// to: 'roles.id',
|
||||
// },
|
||||
// },
|
||||
|
||||
// resource: {
|
||||
// relation: Model.BelongsToOneRelation,
|
||||
// modelBase: path.join(__dirname, 'Resource'),
|
||||
// join: {
|
||||
// from: 'permissions.',
|
||||
// to: '',
|
||||
// }
|
||||
// }
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -31,7 +31,6 @@ export default class Resource extends mixin(TenantModel, [CachableModel]) {
|
||||
static get relationMappings() {
|
||||
const View = require('@/models/View');
|
||||
const ResourceField = require('@/models/ResourceField');
|
||||
const Permission = require('@/models/Permission');
|
||||
|
||||
return {
|
||||
/**
|
||||
@@ -57,22 +56,6 @@ export default class Resource extends mixin(TenantModel, [CachableModel]) {
|
||||
to: 'resource_fields.resourceId',
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* Resource model may has many associated permissions.
|
||||
*/
|
||||
permissions: {
|
||||
relation: Model.ManyToManyRelation,
|
||||
modelClass: this.relationBindKnex(Permission.default),
|
||||
join: {
|
||||
from: 'resources.id',
|
||||
through: {
|
||||
from: 'role_has_permissions.resourceId',
|
||||
to: 'role_has_permissions.permissionId',
|
||||
},
|
||||
to: 'permissions.id',
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import TenantModel from '@/models/TenantModel';
|
||||
import ResourceFieldMetadataCollection from '@/collection/ResourceFieldMetadataCollection';
|
||||
|
||||
export default class ResourceFieldMetadata extends TenantModel {
|
||||
/**
|
||||
@@ -8,11 +7,4 @@ export default class ResourceFieldMetadata extends TenantModel {
|
||||
static get tableName() {
|
||||
return 'resource_custom_fields_metadata';
|
||||
}
|
||||
|
||||
/**
|
||||
* Override the resource field metadata collection.
|
||||
*/
|
||||
static get collection() {
|
||||
return ResourceFieldMetadataCollection;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
import { Model } from 'objection';
|
||||
import TenantModel from '@/models/TenantModel';
|
||||
|
||||
export default class Role extends TenantModel {
|
||||
/**
|
||||
* Table name of Role model.
|
||||
* @type {String}
|
||||
*/
|
||||
static get tableName() {
|
||||
return 'roles';
|
||||
}
|
||||
|
||||
/**
|
||||
* Timestamp columns.
|
||||
*/
|
||||
static get hasTimestamps() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Relationship mapping.
|
||||
*/
|
||||
static get relationMappings() {
|
||||
const Permission = require('@/models/Permission');
|
||||
const Resource = require('@/models/Resource');
|
||||
const User = require('@/models/TenantUser');
|
||||
const ResourceField = require('@/models/ResourceField');
|
||||
|
||||
return {
|
||||
/**
|
||||
* Role may has many permissions.
|
||||
*/
|
||||
permissions: {
|
||||
relation: Model.ManyToManyRelation,
|
||||
modelClass: Permission.default.bindKnex(this.knexBinded),
|
||||
join: {
|
||||
from: 'roles.id',
|
||||
through: {
|
||||
from: 'role_has_permissions.roleId',
|
||||
to: 'role_has_permissions.permissionId',
|
||||
},
|
||||
to: 'permissions.id',
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* Role may has many resources.
|
||||
*/
|
||||
resources: {
|
||||
relation: Model.ManyToManyRelation,
|
||||
modelClass: Resource.default.bindKnex(this.knexBinded),
|
||||
join: {
|
||||
from: 'roles.id',
|
||||
through: {
|
||||
from: 'role_has_permissions.roleId',
|
||||
to: 'role_has_permissions.resourceId',
|
||||
},
|
||||
to: 'resources.id',
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* Role may has resource field.
|
||||
*/
|
||||
field: {
|
||||
relation: Model.BelongsToOneRelation,
|
||||
modelClass: ResourceField.default.bindKnex(this.knexBinded),
|
||||
join: {
|
||||
from: 'roles.fieldId',
|
||||
to: 'resource_fields.id',
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* Role may has many associated users.
|
||||
*/
|
||||
users: {
|
||||
relation: Model.ManyToManyRelation,
|
||||
modelClass: User.default.bindKnex(this.knexBinded),
|
||||
join: {
|
||||
from: 'roles.id',
|
||||
through: {
|
||||
from: 'user_has_roles.roleId',
|
||||
to: 'user_has_roles.userId',
|
||||
},
|
||||
to: 'users.id',
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
import bcrypt from 'bcryptjs';
|
||||
import { Model } from 'objection';
|
||||
import TenantModel from '@/models/TenantModel';
|
||||
// import PermissionsService from '@/services/PermissionsService';
|
||||
|
||||
export default class TenantUser extends TenantModel {
|
||||
/**
|
||||
@@ -24,29 +22,7 @@ export default class TenantUser extends TenantModel {
|
||||
static get timestamps() {
|
||||
return ['createdAt', 'updatedAt'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Relationship mapping.
|
||||
*/
|
||||
static get relationMappings() {
|
||||
const Role = require('@/models/Role');
|
||||
|
||||
return {
|
||||
roles: {
|
||||
relation: Model.ManyToManyRelation,
|
||||
modelClass: this.relationBindKnex(Role.default),
|
||||
join: {
|
||||
from: 'users.id',
|
||||
through: {
|
||||
from: 'user_has_roles.userId',
|
||||
to: 'user_has_roles.roleId',
|
||||
},
|
||||
to: 'roles.id',
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Verify the password of the user.
|
||||
* @param {String} password - The given password.
|
||||
|
||||
Reference in New Issue
Block a user