Files
bigcapital/packages/server/src/modules/Vendors/VendorGLEntriesStorage.ts
2025-04-07 11:51:24 +02:00

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);
// };
// }