mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 21:30:31 +00:00
89 lines
2.6 KiB
TypeScript
89 lines
2.6 KiB
TypeScript
// import { Knex } from 'knex';
|
|
// import { Service, Inject } from 'typedi';
|
|
// import LedgerStorageService from '@/services/Accounting/LedgerStorageService';
|
|
// import HasTenancyService from '@/services/Tenancy/TenancyService';
|
|
// import { VendorGLEntries } from './VendorGLEntries';
|
|
|
|
// @Service()
|
|
// export class VendorGLEntriesStorage {
|
|
// @Inject()
|
|
// private tenancy: HasTenancyService;
|
|
|
|
// @Inject()
|
|
// private ledegrRepository: LedgerStorageService;
|
|
|
|
// @Inject()
|
|
// private vendorGLEntries: VendorGLEntries;
|
|
|
|
// /**
|
|
// * Vendor opening balance journals.
|
|
// * @param {number} tenantId
|
|
// * @param {number} vendorId
|
|
// * @param {Knex.Transaction} trx
|
|
// */
|
|
// public writeVendorOpeningBalance = async (
|
|
// tenantId: number,
|
|
// vendorId: number,
|
|
// trx?: Knex.Transaction
|
|
// ) => {
|
|
// const { Vendor } = this.tenancy.models(tenantId);
|
|
// const { accountRepository } = this.tenancy.repositories(tenantId);
|
|
|
|
// const vendor = await Vendor.query(trx).findById(vendorId);
|
|
|
|
// // Finds the expense account.
|
|
// const expenseAccount = await accountRepository.findOne({
|
|
// slug: 'other-expenses',
|
|
// });
|
|
// // Find or create the A/P account.
|
|
// const APAccount = await accountRepository.findOrCreateAccountsPayable(
|
|
// vendor.currencyCode,
|
|
// {},
|
|
// trx
|
|
// );
|
|
// // Retrieves the vendor opening balance ledger.
|
|
// const ledger = this.vendorGLEntries.getOpeningBalanceLedger(
|
|
// APAccount.id,
|
|
// expenseAccount.id,
|
|
// vendor
|
|
// );
|
|
// // Commits the ledger entries to the storage.
|
|
// await this.ledegrRepository.commit(tenantId, ledger, trx);
|
|
// };
|
|
|
|
// /**
|
|
// * Reverts the vendor opening balance GL entries.
|
|
// * @param {number} tenantId
|
|
// * @param {number} vendorId
|
|
// * @param {Knex.Transaction} trx
|
|
// */
|
|
// public revertVendorOpeningBalance = async (
|
|
// tenantId: number,
|
|
// vendorId: number,
|
|
// trx?: Knex.Transaction
|
|
// ) => {
|
|
// await this.ledegrRepository.deleteByReference(
|
|
// tenantId,
|
|
// vendorId,
|
|
// 'VendorOpeningBalance',
|
|
// trx
|
|
// );
|
|
// };
|
|
|
|
// /**
|
|
// * Writes the vendor opening balance GL entries.
|
|
// * @param {number} tenantId
|
|
// * @param {number} vendorId
|
|
// * @param {Knex.Transaction} trx
|
|
// */
|
|
// public rewriteVendorOpeningBalance = async (
|
|
// tenantId: number,
|
|
// vendorId: number,
|
|
// trx?: Knex.Transaction
|
|
// ) => {
|
|
// await this.writeVendorOpeningBalance(tenantId, vendorId, trx);
|
|
|
|
// await this.revertVendorOpeningBalance(tenantId, vendorId, trx);
|
|
// };
|
|
// }
|