feat: rewrite repositories with base entity repository class.

feat: sales and purchases status.
feat: sales and purchases auto-increment number.
fix: settings find query with extra columns.
This commit is contained in:
Ahmed Bouhuolia
2020-12-13 19:50:59 +02:00
parent e9e4ddaee0
commit 188e411f02
78 changed files with 1634 additions and 869 deletions

View File

@@ -10,7 +10,8 @@ import Bill from 'models/Bill';
import BillPayment from 'models/BillPayment';
import BillPaymentEntry from 'models/BillPaymentEntry';
import Currency from 'models/Currency';
import Contact from 'models/Contact';
import Vendor from 'models/Vendor';
import Customer from 'models/Customer';
import ExchangeRate from 'models/ExchangeRate';
import Expense from 'models/Expense';
import ExpenseCategory from 'models/ExpenseCategory';
@@ -66,7 +67,8 @@ export default (knex) => {
InventoryCostLotTracker,
Media,
MediaLink,
Contact,
Vendor,
Customer,
};
return mapValues(models, (model) => model.bindKnex(knex));
}

View File

@@ -7,17 +7,25 @@ import ViewRepository from 'repositories/ViewRepository';
import ViewRoleRepository from 'repositories/ViewRoleRepository';
import ContactRepository from 'repositories/ContactRepository';
import AccountTransactionsRepository from 'repositories/AccountTransactionRepository';
import SettingRepository from 'repositories/SettingRepository';
import ExpenseEntryRepository from 'repositories/ExpenseEntryRepository';
import BillRepository from 'repositories/BillRepository';
import SaleInvoiceRepository from 'repositories/SaleInvoiceRepository';
export default (tenantId: number) => {
export default (knex, cache) => {
return {
accountRepository: new AccountRepository(tenantId),
transactionsRepository: new AccountTransactionsRepository(tenantId),
accountTypeRepository: new AccountTypeRepository(tenantId),
customerRepository: new CustomerRepository(tenantId),
vendorRepository: new VendorRepository(tenantId),
contactRepository: new ContactRepository(tenantId),
expenseRepository: new ExpenseRepository(tenantId),
viewRepository: new ViewRepository(tenantId),
viewRoleRepository: new ViewRoleRepository(tenantId),
accountRepository: new AccountRepository(knex, cache),
transactionsRepository: new AccountTransactionsRepository(knex, cache),
accountTypeRepository: new AccountTypeRepository(knex, cache),
customerRepository: new CustomerRepository(knex, cache),
vendorRepository: new VendorRepository(knex, cache),
contactRepository: new ContactRepository(knex, cache),
expenseRepository: new ExpenseRepository(knex, cache),
expenseEntryRepository: new ExpenseEntryRepository(knex, cache),
viewRepository: new ViewRepository(knex, cache),
viewRoleRepository: new ViewRoleRepository(knex, cache),
settingRepository: new SettingRepository(knex, cache),
billRepository: new BillRepository(knex, cache),
saleInvoiceRepository: new SaleInvoiceRepository(knex, cache),
};
};