Files
bigcapital/packages/server/src/services/PdfTemplate/GetPdfTemplate.ts
2024-09-24 20:28:19 +02:00

39 lines
1.1 KiB
TypeScript

import { Knex } from 'knex';
import { Inject, Service } from 'typedi';
import HasTenancyService from '../Tenancy/TenancyService';
import { GetPdfTemplateTransformer } from './GetPdfTemplateTransformer';
import { TransformerInjectable } from '@/lib/Transformer/TransformerInjectable';
@Service()
export class GetPdfTemplate {
@Inject()
private tenancy: HasTenancyService;
@Inject()
private transformer: TransformerInjectable
/**
* Retrieves a pdf template by its ID.
* @param {number} tenantId - The ID of the tenant.
* @param {number} templateId - The ID of the pdf template to retrieve.
* @return {Promise<any>} - The retrieved pdf template.
*/
async getPdfTemplate(
tenantId: number,
templateId: number,
trx?: Knex.Transaction
): Promise<any> {
const { PdfTemplate } = this.tenancy.models(tenantId);
const template = await PdfTemplate.query(trx)
.findById(templateId)
.throwIfNotFound();
return this.transformer.transform(
tenantId,
template,
new GetPdfTemplateTransformer()
);
}
}