UNPKG

@tsed/formio

Version:
41 lines (40 loc) 1.41 kB
import { __decorate, __metadata } from "tslib"; import { Inject, Injectable } from "@tsed/di"; import { Logger } from "@tsed/logger"; import { FormioDatabase } from "./FormioDatabase.js"; let FormioInstaller = class FormioInstaller extends FormioDatabase { async install(template, root) { this.logger.info("Install formio template..."); template = await this.formio.importTemplate(template); if (root) { this.logger.info("Create root user..."); await this.createRootUser(root, template); } } async createRootUser(user, template) { const hash = await this.formio.encrypt(user.password); return new Promise((resolve, reject) => { this.formio.resources.submission.model.create({ form: template.resources.admin._id, data: { email: user.email, password: hash }, roles: [template.roles?.administrator._id].filter(Boolean) }, (err, item) => { if (err) { return reject(err); } resolve(item); }); }); } }; __decorate([ Inject(), __metadata("design:type", Logger) ], FormioInstaller.prototype, "logger", void 0); FormioInstaller = __decorate([ Injectable() ], FormioInstaller); export { FormioInstaller };