import { I18nService } from 'nestjs-i18n'; import { Injectable } from '@nestjs/common'; import { TenancyContext } from '../Tenancy/TenancyContext.service'; import { templateRender } from '@/utils/template-render'; @Injectable() export class TemplateInjectable { constructor( private readonly tenancyContext: TenancyContext, private readonly i18n: I18nService, ) {} /** * Renders the given filename of the template. * @param {string} filename * @param {Record} options * @returns {string} */ public async render(filename: string, options: Record) { const organization = await this.tenancyContext.getTenant(true); return templateRender(filename, { organizationName: organization.metadata.name, // @todo email organizationEmail: '', __: this.i18n.t, ...options, }); } }