Sponsoring contract generation feature/5-sponsoring_contracts #10

Merged
niggl merged 48 commits from feature/5-sponsoring_contracts into dev 2021-02-07 15:37:55 +00:00
2 changed files with 10 additions and 3 deletions
Showing only changes of commit ee8ba99cc7 - Show all commits

View File

@ -20,11 +20,13 @@ export class PdfCreator {
* Initializes i18n(ext), Handlebars and puppeteer. * Initializes i18n(ext), Handlebars and puppeteer.
*/ */
constructor() { constructor() {
this.init().then(() => { this.init();
return this;
})
} }
/**
* Main constructor.
* Initializes i18n(ext), Handlebars and puppeteer.
*/
public async init() { public async init() {
await i18next await i18next
.use(Backend) .use(Backend)

View File

@ -11,10 +11,15 @@ import { PdfCreator } from '../PdfCreator';
@JsonController() @JsonController()
export class PdfController { export class PdfController {
private pdf: PdfCreator = new PdfCreator(); private pdf: PdfCreator = new PdfCreator();
private initialized: boolean = false;
@Post('/contracts') @Post('/contracts')
@OpenAPI({ description: "Generate Sponsoring contract pdfs from runner objects.<br>You can choose your prefered locale by passing the 'locale' query-param." }) @OpenAPI({ description: "Generate Sponsoring contract pdfs from runner objects.<br>You can choose your prefered locale by passing the 'locale' query-param." })
async generateContracts(@Body({ validate: true }) runners: Runner | Runner[], @Res() res: any, @QueryParam("locale") locale: string) { async generateContracts(@Body({ validate: true }) runners: Runner | Runner[], @Res() res: any, @QueryParam("locale") locale: string) {
if (!this.initialized) {
await this.pdf.init();
this.initialized = true;
}
if (!Array.isArray(runners)) { if (!Array.isArray(runners)) {
runners = [runners]; runners = [runners];
} }