mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 20:30:33 +00:00
refactoring: custom views service.
fix: constraints of delete item from storage. fix: constraints of delete item category from storage. fix: localize database seeds files. fix: view meta data in accounts list response.
This commit is contained in:
@@ -8,6 +8,7 @@ import {
|
||||
} from 'lib/ViewRolesBuilder';
|
||||
import { flatToNestedArray } from 'utils';
|
||||
import DependencyGraph from 'lib/DependencyGraph';
|
||||
import TenantManagerSubscriber from 'subscribers/tenantManager';
|
||||
|
||||
export default class Account extends TenantModel {
|
||||
/**
|
||||
@@ -24,6 +25,13 @@ export default class Account extends TenantModel {
|
||||
return ['createdAt', 'updatedAt'];
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
static get resourceable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Model modifiers.
|
||||
*/
|
||||
@@ -106,4 +114,55 @@ export default class Account extends TenantModel {
|
||||
accounts, { itemId: 'id', parentItemId: 'parentAccountId' }
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Model defined fields.
|
||||
*/
|
||||
static get fields() {
|
||||
return {
|
||||
name: {
|
||||
label: 'Name',
|
||||
column: 'name',
|
||||
},
|
||||
type: {
|
||||
label: 'Account type',
|
||||
column: 'account_type_id',
|
||||
relation: 'account_types.id',
|
||||
relationColumn: 'account_types.key',
|
||||
},
|
||||
description: {
|
||||
label: 'Description',
|
||||
column: 'description',
|
||||
},
|
||||
code: {
|
||||
label: 'Account code',
|
||||
column: 'code',
|
||||
},
|
||||
root_type: {
|
||||
label: 'Type',
|
||||
column: 'account_type_id',
|
||||
relation: 'account_types.id',
|
||||
relationColumn: 'account_types.root_type',
|
||||
},
|
||||
created_at: {
|
||||
column: 'created_at',
|
||||
columnType: 'date',
|
||||
},
|
||||
active: {
|
||||
column: 'active',
|
||||
},
|
||||
balance: {
|
||||
column: 'amount',
|
||||
columnType: 'number'
|
||||
},
|
||||
currency: {
|
||||
column: 'currency_code',
|
||||
},
|
||||
normal: {
|
||||
column: 'account_type_id',
|
||||
relation: 'account_types.id',
|
||||
relationColumn: 'account_types.normal'
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,10 +59,6 @@ export default class Expense extends TenantModel {
|
||||
viewRolesBuilder(query, conditionals, expression) {
|
||||
viewRolesBuilder(conditionals, expression)(query);
|
||||
},
|
||||
|
||||
orderBy(query) {
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -72,7 +68,6 @@ export default class Expense extends TenantModel {
|
||||
static get relationMappings() {
|
||||
const Account = require('models/Account');
|
||||
const ExpenseCategory = require('models/ExpenseCategory');
|
||||
const SystemUser = require('system/models/SystemUser');
|
||||
|
||||
return {
|
||||
paymentAccount: {
|
||||
@@ -91,14 +86,44 @@ export default class Expense extends TenantModel {
|
||||
to: 'expense_transaction_categories.expenseId',
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Model defined fields.
|
||||
*/
|
||||
static get fields() {
|
||||
return {
|
||||
payment_date: {
|
||||
column: 'payment_date',
|
||||
},
|
||||
payment_account: {
|
||||
column: 'payment_account_id',
|
||||
relation: 'accounts.id',
|
||||
},
|
||||
amount: {
|
||||
column: 'total_amount',
|
||||
},
|
||||
currency_code: {
|
||||
column: 'currency_code',
|
||||
},
|
||||
reference_no: {
|
||||
column: 'reference_no'
|
||||
},
|
||||
description: {
|
||||
column: 'description',
|
||||
},
|
||||
published: {
|
||||
column: 'published',
|
||||
},
|
||||
user: {
|
||||
relation: Model.BelongsToOneRelation,
|
||||
modelClass: SystemUser.default,
|
||||
join: {
|
||||
from: 'expenses_transactions.userId',
|
||||
to: 'users.id',
|
||||
}
|
||||
}
|
||||
column: 'user_id',
|
||||
relation: 'users.id',
|
||||
relationColumn: 'users.id',
|
||||
},
|
||||
created_at: {
|
||||
column: 'created_at',
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,4 +95,67 @@ export default class Item extends TenantModel {
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
static get fields() {
|
||||
return {
|
||||
type: {
|
||||
column: 'type',
|
||||
},
|
||||
name: {
|
||||
column: 'name',
|
||||
},
|
||||
sellable: {
|
||||
column: 'sellable',
|
||||
},
|
||||
purchasable: {
|
||||
column: 'purchasable',
|
||||
},
|
||||
sell_price: {
|
||||
column: 'sell_price'
|
||||
},
|
||||
cost_price: {
|
||||
column: 'cost_price',
|
||||
},
|
||||
currency_code: {
|
||||
column: 'currency_code',
|
||||
},
|
||||
cost_account: {
|
||||
column: 'cost_account_id',
|
||||
relation: 'accounts.id',
|
||||
},
|
||||
sell_account: {
|
||||
column: 'sell_account_id',
|
||||
relation: 'accounts.id',
|
||||
},
|
||||
inventory_account: {
|
||||
column: 'inventory_account_id',
|
||||
relation: 'accounts.id',
|
||||
},
|
||||
sell_description: {
|
||||
column: 'sell_description',
|
||||
},
|
||||
purchase_description: {
|
||||
column: 'purchase_description',
|
||||
},
|
||||
quantity_on_hand: {
|
||||
column: 'quantity_on_hand',
|
||||
},
|
||||
note: {
|
||||
column: 'note',
|
||||
},
|
||||
category: {
|
||||
column: 'category_id',
|
||||
relation: 'categories.id',
|
||||
},
|
||||
user: {
|
||||
column: 'user_id',
|
||||
relation: 'users.id',
|
||||
relationColumn: 'users.id',
|
||||
},
|
||||
created_at: {
|
||||
column: 'created_at',
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,10 @@ export default class ItemCategory extends TenantModel {
|
||||
return 'items_categories';
|
||||
}
|
||||
|
||||
static get resourceable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Timestamps columns.
|
||||
*/
|
||||
@@ -37,4 +41,43 @@ export default class ItemCategory extends TenantModel {
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
static get fields() {
|
||||
return {
|
||||
name: {
|
||||
column: 'name',
|
||||
},
|
||||
description: {
|
||||
column: 'description',
|
||||
},
|
||||
parent_category_id: {
|
||||
column: 'parent_category_id',
|
||||
relation: 'items_categories.id',
|
||||
relationColumn: 'items_categories.id',
|
||||
},
|
||||
user: {
|
||||
column: 'user_id',
|
||||
relation: 'users.id',
|
||||
relationColumn: 'users.id',
|
||||
},
|
||||
cost_account: {
|
||||
column: 'cost_account_id',
|
||||
relation: 'accounts.id',
|
||||
},
|
||||
sell_account: {
|
||||
column: 'sell_account_id',
|
||||
relation: 'accounts.id',
|
||||
},
|
||||
inventory_account: {
|
||||
column: 'inventory_account_id',
|
||||
relation: 'accounts.id',
|
||||
},
|
||||
cost_method: {
|
||||
column: 'cost_method',
|
||||
},
|
||||
created_at: {
|
||||
column: 'created_at',
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,4 +50,41 @@ export default class ManualJournal extends TenantModel {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Model defined fields.
|
||||
*/
|
||||
static get fields() {
|
||||
return {
|
||||
date: {
|
||||
column: 'date',
|
||||
},
|
||||
journal_number: {
|
||||
column: 'journal_number',
|
||||
},
|
||||
reference: {
|
||||
column: 'reference',
|
||||
},
|
||||
status: {
|
||||
column: 'status',
|
||||
},
|
||||
amount: {
|
||||
column: 'amount',
|
||||
},
|
||||
description: {
|
||||
column: 'description',
|
||||
},
|
||||
user: {
|
||||
column: 'user_id',
|
||||
relation: 'users.id',
|
||||
relationColumn: 'users.id',
|
||||
},
|
||||
journal_type: {
|
||||
column: 'journal_type',
|
||||
},
|
||||
created_at: {
|
||||
column: 'created_at',
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user