feat: wip export resource data

This commit is contained in:
Ahmed Bouhuolia
2024-05-01 00:20:13 +02:00
parent 8a96c41258
commit 7e89966f20
34 changed files with 1259 additions and 30 deletions

View File

@@ -0,0 +1,25 @@
import { Inject, Service } from 'typedi';
import { ISalesInvoicesFilter } from '@/interfaces';
import { Exportable } from '@/services/Export/Exportable';
import { SaleEstimatesApplication } from './SaleEstimatesApplication';
@Service()
export class SaleEstimatesExportable extends Exportable {
@Inject()
private saleEstimatesApplication: SaleEstimatesApplication;
/**
* Retrieves the accounts data to exportable sheet.
* @param {number} tenantId
* @returns
*/
public exportable(tenantId: number, query: ISalesInvoicesFilter) {
const parsedQuery = {
...query,
} as ISalesInvoicesFilter;
return this.saleEstimatesApplication
.getSaleEstimates(tenantId, parsedQuery)
.then((output) => output.salesEstimates);
}
}

View File

@@ -0,0 +1,25 @@
import { Inject, Service } from 'typedi';
import { ISalesInvoicesFilter } from '@/interfaces';
import { SaleInvoiceApplication } from './SaleInvoicesApplication';
import { Exportable } from '@/services/Export/Exportable';
@Service()
export class SaleInvoicesExportable extends Exportable {
@Inject()
private saleInvoicesApplication: SaleInvoiceApplication;
/**
* Retrieves the accounts data to exportable sheet.
* @param {number} tenantId
* @returns
*/
public exportable(tenantId: number, query: ISalesInvoicesFilter) {
const parsedQuery = {
...query,
} as ISalesInvoicesFilter;
return this.saleInvoicesApplication
.getSaleInvoices(tenantId, parsedQuery)
.then((output) => output.salesInvoices);
}
}

View File

@@ -0,0 +1,30 @@
import { Inject, Service } from 'typedi';
import { IAccountsStructureType, IPaymentReceivesFilter } from '@/interfaces';
import { Exportable } from '@/services/Export/Exportable';
import { PaymentReceivesApplication } from './PaymentReceivesApplication';
@Service()
export class PaymentsReceivedExportable extends Exportable {
@Inject()
private paymentReceivedApp: PaymentReceivesApplication;
/**
* Retrieves the accounts data to exportable sheet.
* @param {number} tenantId
* @param {IPaymentReceivesFilter} query -
* @returns
*/
public exportable(tenantId: number, query: IPaymentReceivesFilter) {
const parsedQuery = {
sortOrder: 'desc',
columnSortBy: 'created_at',
inactiveMode: false,
...query,
structure: IAccountsStructureType.Flat,
} as IPaymentReceivesFilter;
return this.paymentReceivedApp
.getPaymentReceives(tenantId, parsedQuery)
.then((output) => output.paymentReceives);
}
}

View File

@@ -0,0 +1,25 @@
import { Inject, Service } from 'typedi';
import { ISalesInvoicesFilter, ISalesReceiptsFilter } from '@/interfaces';
import { Exportable } from '@/services/Export/Exportable';
import { SaleReceiptApplication } from './SaleReceiptApplication';
@Service()
export class SaleReceiptsExportable extends Exportable {
@Inject()
private saleReceiptsApp: SaleReceiptApplication;
/**
* Retrieves the accounts data to exportable sheet.
* @param {number} tenantId
* @returns
*/
public exportable(tenantId: number, query: ISalesReceiptsFilter) {
const parsedQuery = {
...query,
} as ISalesInvoicesFilter;
return this.saleReceiptsApp
.getSaleReceipts(tenantId, parsedQuery)
.then((output) => output.data);
}
}