@tsed/formio 6.88.1 → 6.92.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{FormioModule.d.ts → cjs/FormioModule.d.ts} +0 -0
- package/lib/{FormioModule.js → cjs/FormioModule.js} +38 -51
- package/lib/cjs/FormioModule.js.map +1 -0
- package/lib/{builder → cjs/builder}/FormioMapper.d.ts +0 -0
- package/lib/{builder → cjs/builder}/FormioMapper.js +0 -0
- package/lib/cjs/builder/FormioMapper.js.map +1 -0
- package/lib/{components → cjs/components}/AlterActions.d.ts +0 -0
- package/lib/{components → cjs/components}/AlterActions.js +8 -8
- package/lib/cjs/components/AlterActions.js.map +1 -0
- package/lib/{components → cjs/components}/AlterAudit.d.ts +0 -0
- package/lib/{components → cjs/components}/AlterAudit.js +2 -2
- package/lib/cjs/components/AlterAudit.js.map +1 -0
- package/lib/{components → cjs/components}/AlterHost.d.ts +0 -0
- package/lib/{components → cjs/components}/AlterHost.js +2 -2
- package/lib/cjs/components/AlterHost.js.map +1 -0
- package/lib/{components → cjs/components}/AlterLog.d.ts +0 -0
- package/lib/{components → cjs/components}/AlterLog.js +2 -2
- package/lib/cjs/components/AlterLog.js.map +1 -0
- package/lib/{components → cjs/components}/AlterSkip.d.ts +0 -0
- package/lib/{components → cjs/components}/AlterSkip.js +9 -9
- package/lib/cjs/components/AlterSkip.js.map +1 -0
- package/lib/{components → cjs/components}/AlterTemplateExportSteps.d.ts +0 -0
- package/lib/{components → cjs/components}/AlterTemplateExportSteps.js +6 -6
- package/lib/cjs/components/AlterTemplateExportSteps.js.map +1 -0
- package/lib/{components → cjs/components}/AlterTemplateImportSteps.d.ts +0 -0
- package/lib/{components → cjs/components}/AlterTemplateImportSteps.js +5 -5
- package/lib/cjs/components/AlterTemplateImportSteps.js.map +1 -0
- package/lib/{decorators → cjs/decorators}/action.d.ts +0 -0
- package/lib/{decorators → cjs/decorators}/action.js +3 -3
- package/lib/cjs/decorators/action.js.map +1 -0
- package/lib/{decorators → cjs/decorators}/actionCtx.d.ts +0 -0
- package/lib/{decorators → cjs/decorators}/actionCtx.js +1 -1
- package/lib/cjs/decorators/actionCtx.js.map +1 -0
- package/lib/{decorators → cjs/decorators}/alter.d.ts +0 -0
- package/lib/{decorators → cjs/decorators}/alter.js +3 -3
- package/lib/cjs/decorators/alter.js.map +1 -0
- package/lib/{decorators → cjs/decorators}/on.d.ts +0 -0
- package/lib/{decorators → cjs/decorators}/on.js +3 -3
- package/lib/cjs/decorators/on.js.map +1 -0
- package/lib/{decorators → cjs/decorators}/useFormioAuth.d.ts +0 -0
- package/lib/{decorators → cjs/decorators}/useFormioAuth.js +1 -1
- package/lib/cjs/decorators/useFormioAuth.js.map +1 -0
- package/lib/{domain → cjs/domain}/AlterHook.d.ts +0 -0
- package/lib/{domain → cjs/domain}/AlterHook.js +0 -0
- package/lib/cjs/domain/AlterHook.js.map +1 -0
- package/lib/{domain → cjs/domain}/Formio.d.ts +0 -0
- package/lib/{domain → cjs/domain}/Formio.js +0 -0
- package/lib/cjs/domain/Formio.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioAction.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioAction.js +0 -0
- package/lib/cjs/domain/FormioAction.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioActionsIndex.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioActionsIndex.js +0 -0
- package/lib/cjs/domain/FormioActionsIndex.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioAuth.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioAuth.js +0 -0
- package/lib/cjs/domain/FormioAuth.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioBaseModel.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioBaseModel.js +0 -0
- package/lib/cjs/domain/FormioBaseModel.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioConfig.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioConfig.js +0 -0
- package/lib/cjs/domain/FormioConfig.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioCtxMapper.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioCtxMapper.js +0 -0
- package/lib/cjs/domain/FormioCtxMapper.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioDecodedToken.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioDecodedToken.js +0 -0
- package/lib/cjs/domain/FormioDecodedToken.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioErrors.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioErrors.js +0 -0
- package/lib/cjs/domain/FormioErrors.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioHooks.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioHooks.js +0 -0
- package/lib/cjs/domain/FormioHooks.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioJs.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioJs.js +0 -0
- package/lib/cjs/domain/FormioJs.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioModels.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioModels.js +1 -1
- package/lib/cjs/domain/FormioModels.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioRouter.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioRouter.js +0 -0
- package/lib/cjs/domain/FormioRouter.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioSettings.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioSettings.js +0 -0
- package/lib/cjs/domain/FormioSettings.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioTemplate.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioTemplate.js +0 -0
- package/lib/cjs/domain/FormioTemplate.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioTemplateUtil.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioTemplateUtil.js +0 -0
- package/lib/cjs/domain/FormioTemplateUtil.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioUpdate.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioUpdate.js +0 -0
- package/lib/cjs/domain/FormioUpdate.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioUtils.d.ts +0 -0
- package/lib/{domain → cjs/domain}/FormioUtils.js +0 -0
- package/lib/cjs/domain/FormioUtils.js.map +1 -0
- package/lib/{domain → cjs/domain}/OnHook.d.ts +0 -0
- package/lib/{domain → cjs/domain}/OnHook.js +0 -0
- package/lib/cjs/domain/OnHook.js.map +1 -0
- package/lib/{domain → cjs/domain}/Resource.d.ts +0 -0
- package/lib/{domain → cjs/domain}/Resource.js +0 -0
- package/lib/cjs/domain/Resource.js.map +1 -0
- package/lib/{index.d.ts → cjs/index.d.ts} +0 -0
- package/lib/cjs/index.js +46 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/{middlewares → cjs/middlewares}/FormioAuthMiddleware.d.ts +0 -0
- package/lib/{middlewares → cjs/middlewares}/FormioAuthMiddleware.js +12 -12
- package/lib/cjs/middlewares/FormioAuthMiddleware.js.map +1 -0
- package/lib/{services → cjs/services}/FormioAuthService.d.ts +1 -1
- package/lib/{services → cjs/services}/FormioAuthService.js +13 -13
- package/lib/cjs/services/FormioAuthService.js.map +1 -0
- package/lib/{services → cjs/services}/FormioDatabase.d.ts +0 -0
- package/lib/{services → cjs/services}/FormioDatabase.js +10 -10
- package/lib/cjs/services/FormioDatabase.js.map +1 -0
- package/lib/{services → cjs/services}/FormioHooksService.d.ts +0 -0
- package/lib/{services → cjs/services}/FormioHooksService.js +9 -9
- package/lib/cjs/services/FormioHooksService.js.map +1 -0
- package/lib/{services → cjs/services}/FormioInstaller.d.ts +0 -0
- package/lib/{services → cjs/services}/FormioInstaller.js +8 -8
- package/lib/cjs/services/FormioInstaller.js.map +1 -0
- package/lib/{services → cjs/services}/FormioService.d.ts +0 -0
- package/lib/{services → cjs/services}/FormioService.js +8 -8
- package/lib/cjs/services/FormioService.js.map +1 -0
- package/lib/{utils → cjs/utils}/isMongoId.d.ts +0 -0
- package/lib/{utils → cjs/utils}/isMongoId.js +0 -0
- package/lib/cjs/utils/isMongoId.js.map +1 -0
- package/lib/esm/FormioModule.js +134 -0
- package/lib/esm/FormioModule.js.map +1 -0
- package/lib/esm/builder/FormioMapper.js +49 -0
- package/lib/esm/builder/FormioMapper.js.map +1 -0
- package/lib/esm/components/AlterActions.js +63 -0
- package/lib/esm/components/AlterActions.js.map +1 -0
- package/lib/esm/components/AlterAudit.js +13 -0
- package/lib/esm/components/AlterAudit.js.map +1 -0
- package/lib/esm/components/AlterHost.js +12 -0
- package/lib/esm/components/AlterHost.js.map +1 -0
- package/lib/esm/components/AlterLog.js +13 -0
- package/lib/esm/components/AlterLog.js.map +1 -0
- package/lib/esm/components/AlterSkip.js +29 -0
- package/lib/esm/components/AlterSkip.js.map +1 -0
- package/lib/esm/components/AlterTemplateExportSteps.js +49 -0
- package/lib/esm/components/AlterTemplateExportSteps.js.map +1 -0
- package/lib/esm/components/AlterTemplateImportSteps.js +42 -0
- package/lib/esm/components/AlterTemplateImportSteps.js.map +1 -0
- package/lib/esm/decorators/action.js +16 -0
- package/lib/esm/decorators/action.js.map +1 -0
- package/lib/esm/decorators/actionCtx.js +19 -0
- package/lib/esm/decorators/actionCtx.js.map +1 -0
- package/lib/esm/decorators/alter.js +16 -0
- package/lib/esm/decorators/alter.js.map +1 -0
- package/lib/esm/decorators/on.js +16 -0
- package/lib/esm/decorators/on.js.map +1 -0
- package/lib/esm/decorators/useFormioAuth.js +11 -0
- package/lib/esm/decorators/useFormioAuth.js.map +1 -0
- package/lib/esm/domain/AlterHook.js +2 -0
- package/lib/esm/domain/AlterHook.js.map +1 -0
- package/lib/esm/domain/Formio.js +2 -0
- package/lib/esm/domain/Formio.js.map +1 -0
- package/lib/esm/domain/FormioAction.js +2 -0
- package/lib/esm/domain/FormioAction.js.map +1 -0
- package/lib/esm/domain/FormioActionsIndex.js +2 -0
- package/lib/esm/domain/FormioActionsIndex.js.map +1 -0
- package/lib/esm/domain/FormioAuth.js +2 -0
- package/lib/esm/domain/FormioAuth.js.map +1 -0
- package/lib/esm/domain/FormioBaseModel.js +2 -0
- package/lib/esm/domain/FormioBaseModel.js.map +1 -0
- package/lib/esm/domain/FormioConfig.js +2 -0
- package/lib/esm/domain/FormioConfig.js.map +1 -0
- package/lib/esm/domain/FormioCtxMapper.js +2 -0
- package/lib/esm/domain/FormioCtxMapper.js.map +1 -0
- package/lib/esm/domain/FormioDecodedToken.js +2 -0
- package/lib/esm/domain/FormioDecodedToken.js.map +1 -0
- package/lib/esm/domain/FormioErrors.js +2 -0
- package/lib/esm/domain/FormioErrors.js.map +1 -0
- package/lib/esm/domain/FormioHooks.js +2 -0
- package/lib/esm/domain/FormioHooks.js.map +1 -0
- package/lib/esm/domain/FormioJs.js +2 -0
- package/lib/esm/domain/FormioJs.js.map +1 -0
- package/lib/esm/domain/FormioModels.js +2 -0
- package/lib/esm/domain/FormioModels.js.map +1 -0
- package/lib/esm/domain/FormioRouter.js +2 -0
- package/lib/esm/domain/FormioRouter.js.map +1 -0
- package/lib/esm/domain/FormioSettings.js +2 -0
- package/lib/esm/domain/FormioSettings.js.map +1 -0
- package/lib/esm/domain/FormioTemplate.js +2 -0
- package/lib/esm/domain/FormioTemplate.js.map +1 -0
- package/lib/esm/domain/FormioTemplateUtil.js +2 -0
- package/lib/esm/domain/FormioTemplateUtil.js.map +1 -0
- package/lib/esm/domain/FormioUpdate.js +2 -0
- package/lib/esm/domain/FormioUpdate.js.map +1 -0
- package/lib/esm/domain/FormioUtils.js +2 -0
- package/lib/esm/domain/FormioUtils.js.map +1 -0
- package/lib/esm/domain/OnHook.js +2 -0
- package/lib/esm/domain/OnHook.js.map +1 -0
- package/lib/esm/domain/Resource.js +2 -0
- package/lib/esm/domain/Resource.js.map +1 -0
- package/lib/esm/index.js +43 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/middlewares/FormioAuthMiddleware.js +38 -0
- package/lib/esm/middlewares/FormioAuthMiddleware.js.map +1 -0
- package/lib/esm/services/FormioAuthService.js +179 -0
- package/lib/esm/services/FormioAuthService.js.map +1 -0
- package/lib/esm/services/FormioDatabase.js +100 -0
- package/lib/{services → esm/services}/FormioDatabase.js.map +1 -1
- package/lib/esm/services/FormioHooksService.js +78 -0
- package/lib/esm/services/FormioHooksService.js.map +1 -0
- package/lib/esm/services/FormioInstaller.js +47 -0
- package/lib/esm/services/FormioInstaller.js.map +1 -0
- package/lib/esm/services/FormioService.js +97 -0
- package/lib/esm/services/FormioService.js.map +1 -0
- package/lib/esm/utils/isMongoId.js +4 -0
- package/lib/esm/utils/isMongoId.js.map +1 -0
- package/lib/types/FormioModule.d.ts +24 -0
- package/lib/types/builder/FormioMapper.d.ts +11 -0
- package/lib/types/components/AlterActions.d.ts +15 -0
- package/lib/types/components/AlterAudit.d.ts +5 -0
- package/lib/types/components/AlterHost.d.ts +5 -0
- package/lib/types/components/AlterLog.d.ts +5 -0
- package/lib/types/components/AlterSkip.d.ts +7 -0
- package/lib/types/components/AlterTemplateExportSteps.d.ts +12 -0
- package/lib/types/components/AlterTemplateImportSteps.d.ts +11 -0
- package/lib/types/decorators/action.d.ts +7 -0
- package/lib/types/decorators/actionCtx.d.ts +23 -0
- package/lib/types/decorators/alter.d.ts +6 -0
- package/lib/types/decorators/on.d.ts +6 -0
- package/lib/types/decorators/useFormioAuth.d.ts +6 -0
- package/lib/types/domain/AlterHook.d.ts +3 -0
- package/lib/types/domain/Formio.d.ts +112 -0
- package/lib/types/domain/FormioAction.d.ts +20 -0
- package/lib/types/domain/FormioActionsIndex.d.ts +15 -0
- package/lib/types/domain/FormioAuth.d.ts +67 -0
- package/lib/types/domain/FormioBaseModel.d.ts +11 -0
- package/lib/types/domain/FormioConfig.d.ts +59 -0
- package/lib/types/domain/FormioCtxMapper.d.ts +7 -0
- package/lib/types/domain/FormioDecodedToken.d.ts +12 -0
- package/lib/types/domain/FormioErrors.d.ts +53 -0
- package/lib/types/domain/FormioHooks.d.ts +194 -0
- package/lib/types/domain/FormioJs.d.ts +17 -0
- package/lib/types/domain/FormioModels.d.ts +42 -0
- package/lib/types/domain/FormioRouter.d.ts +7 -0
- package/lib/types/domain/FormioSettings.d.ts +53 -0
- package/lib/types/domain/FormioTemplate.d.ts +8 -0
- package/lib/types/domain/FormioTemplateUtil.d.ts +13 -0
- package/lib/types/domain/FormioUpdate.d.ts +19 -0
- package/lib/types/domain/FormioUtils.d.ts +307 -0
- package/lib/types/domain/OnHook.d.ts +3 -0
- package/lib/types/domain/Resource.d.ts +18 -0
- package/lib/types/index.d.ts +38 -0
- package/lib/types/middlewares/FormioAuthMiddleware.d.ts +11 -0
- package/lib/types/services/FormioAuthService.d.ts +54 -0
- package/lib/types/services/FormioDatabase.d.ts +24 -0
- package/lib/types/services/FormioHooksService.d.ts +17 -0
- package/lib/types/services/FormioInstaller.d.ts +14 -0
- package/lib/types/services/FormioService.d.ts +36 -0
- package/lib/types/utils/isMongoId.d.ts +1 -0
- package/package.json +22 -14
- package/tsconfig.compile.esm.json +23 -0
- package/lib/FormioModule.js.map +0 -1
- package/lib/builder/FormioMapper.js.map +0 -1
- package/lib/components/AlterActions.js.map +0 -1
- package/lib/components/AlterAudit.js.map +0 -1
- package/lib/components/AlterHost.js.map +0 -1
- package/lib/components/AlterLog.js.map +0 -1
- package/lib/components/AlterSkip.js.map +0 -1
- package/lib/components/AlterTemplateExportSteps.js.map +0 -1
- package/lib/components/AlterTemplateImportSteps.js.map +0 -1
- package/lib/decorators/action.js.map +0 -1
- package/lib/decorators/actionCtx.js.map +0 -1
- package/lib/decorators/alter.js.map +0 -1
- package/lib/decorators/on.js.map +0 -1
- package/lib/decorators/useFormioAuth.js.map +0 -1
- package/lib/domain/AlterHook.js.map +0 -1
- package/lib/domain/Formio.js.map +0 -1
- package/lib/domain/FormioAction.js.map +0 -1
- package/lib/domain/FormioActionsIndex.js.map +0 -1
- package/lib/domain/FormioAuth.js.map +0 -1
- package/lib/domain/FormioBaseModel.js.map +0 -1
- package/lib/domain/FormioConfig.js.map +0 -1
- package/lib/domain/FormioCtxMapper.js.map +0 -1
- package/lib/domain/FormioDecodedToken.js.map +0 -1
- package/lib/domain/FormioErrors.js.map +0 -1
- package/lib/domain/FormioHooks.js.map +0 -1
- package/lib/domain/FormioJs.js.map +0 -1
- package/lib/domain/FormioModels.js.map +0 -1
- package/lib/domain/FormioRouter.js.map +0 -1
- package/lib/domain/FormioSettings.js.map +0 -1
- package/lib/domain/FormioTemplate.js.map +0 -1
- package/lib/domain/FormioTemplateUtil.js.map +0 -1
- package/lib/domain/FormioUpdate.js.map +0 -1
- package/lib/domain/FormioUtils.js.map +0 -1
- package/lib/domain/OnHook.js.map +0 -1
- package/lib/domain/Resource.js.map +0 -1
- package/lib/index.js +0 -46
- package/lib/index.js.map +0 -1
- package/lib/middlewares/FormioAuthMiddleware.js.map +0 -1
- package/lib/services/FormioAuthService.js.map +0 -1
- package/lib/services/FormioHooksService.js.map +0 -1
- package/lib/services/FormioInstaller.js.map +0 -1
- package/lib/services/FormioService.js.map +0 -1
- package/lib/utils/isMongoId.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormioDatabase.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"FormioDatabase.js","sourceRoot":"","sources":["../../../src/services/FormioDatabase.ts"],"names":[],"mappings":"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","sourcesContent":["import {isArray, isObject, isString, toMap as tMap} from \"@tsed/core\";\nimport {Inject, Injectable} from \"@tsed/di\";\nimport {MongooseDocument, MongooseModel} from \"@tsed/mongoose\";\nimport {FormioAction, FormioActionItem, FormioForm, FormioRole, FormioSubmission, FormioToken} from \"@tsed/formio-types\";\nimport {FormioMapper} from \"../builder/FormioMapper\";\nimport {isMongoId} from \"../utils/isMongoId\";\nimport {FormioService} from \"./FormioService\";\n\nfunction toMap<T>(list: any[]) {\n return tMap<string, MongooseDocument<T>>(list, (o: any) => [o._id.toString(), `$machineName:${o.machineName}`]);\n}\n\n@Injectable()\nexport class FormioDatabase {\n @Inject()\n protected formio: FormioService;\n\n get models() {\n return this.formio.mongoose.models;\n }\n\n get roleModel(): MongooseModel<FormioRole> {\n return this.models.role;\n }\n\n get formModel(): MongooseModel<FormioForm> {\n return this.models.form;\n }\n\n get actionModel(): MongooseModel<FormioAction> {\n return this.models.action;\n }\n\n get submissionModel(): MongooseModel<FormioSubmission> {\n return this.models.submission;\n }\n\n get tokenModel(): MongooseModel<FormioToken> {\n return this.models.token;\n }\n\n get actionItemModel(): MongooseModel<FormioActionItem> {\n return this.models.actionItem;\n }\n\n async getFormioMapper(): Promise<FormioMapper> {\n const [roles, forms, actions] = await Promise.all([\n this.roleModel.find({\n deleted: {$eq: null}\n }),\n this.formModel.find({\n deleted: {$eq: null}\n }),\n this.actionModel.find({\n deleted: {$eq: null}\n })\n ]);\n\n return new FormioMapper({\n forms: toMap<FormioForm>(forms),\n actions: toMap<FormioAction>(actions),\n roles: toMap<FormioRole>(roles)\n });\n }\n\n async hasForms(): Promise<boolean> {\n return (await this.formModel.countDocuments()) > 0;\n }\n\n async hasForm(name: string): Promise<boolean> {\n return !!(await this.formModel.countDocuments({machineName: {$eq: name}}));\n }\n\n async getForm(nameOrId: string) {\n return this.formModel\n .findOne({\n deleted: {$eq: null},\n ...(isMongoId(nameOrId)\n ? {\n _id: nameOrId\n }\n : {machineName: {$eq: nameOrId}})\n })\n .lean()\n .exec();\n }\n\n async createFormIfNotExists(form: FormioForm, onCreate?: (form: FormioForm) => any) {\n if (!(await this.hasForm(form.name))) {\n const createForm = await this.saveFormDefinition(form);\n\n onCreate && (await onCreate(createForm));\n }\n\n return this.getForm(form.name);\n }\n\n async saveFormDefinition(form: FormioForm) {\n const mapper = await this.getFormioMapper();\n\n return new this.formModel(mapper.mapToImport(form)).save();\n }\n\n idToBson(form?: any) {\n if (isArray(form)) {\n return {$in: form.map(this.formio.util.idToBson)};\n } else if (isObject(form)) {\n return this.formio.util.idToBson((form as any)._id);\n } else if (isString(form)) {\n return this.formio.util.idToBson(form);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Inject, Injectable, InjectorService } from "@tsed/common";
|
|
3
|
+
import { promisify } from "util";
|
|
4
|
+
import { FormioService } from "./FormioService";
|
|
5
|
+
let FormioHooksService = class FormioHooksService {
|
|
6
|
+
get settings() {
|
|
7
|
+
return this.formio.hook.settings;
|
|
8
|
+
}
|
|
9
|
+
get invoke() {
|
|
10
|
+
return this.formio.hook.invoke;
|
|
11
|
+
}
|
|
12
|
+
get alter() {
|
|
13
|
+
return this.formio.hook.alter;
|
|
14
|
+
}
|
|
15
|
+
get alterAsync() {
|
|
16
|
+
return promisify(this.alter);
|
|
17
|
+
}
|
|
18
|
+
getHooks() {
|
|
19
|
+
return {
|
|
20
|
+
alter: this.getHooksProvider("alter"),
|
|
21
|
+
on: this.getHooksProvider("on")
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
getProviders(type) {
|
|
25
|
+
return this.injector.getProviders(`formio:${type}`);
|
|
26
|
+
}
|
|
27
|
+
getHooksProvider(type) {
|
|
28
|
+
return this.bindHooks(type, this.createHooks(type));
|
|
29
|
+
}
|
|
30
|
+
bindHooks(type, hooks) {
|
|
31
|
+
return Object.entries(hooks).reduce((newHooks, [key, pool]) => {
|
|
32
|
+
const wrap = (input, ...args) => {
|
|
33
|
+
let last;
|
|
34
|
+
for (const fn of pool) {
|
|
35
|
+
const result = fn(input, ...args);
|
|
36
|
+
if (type === "alter") {
|
|
37
|
+
input = result;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
last = result;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return type === "alter" ? input : last;
|
|
44
|
+
};
|
|
45
|
+
return {
|
|
46
|
+
...newHooks,
|
|
47
|
+
[key]: wrap
|
|
48
|
+
};
|
|
49
|
+
}, {});
|
|
50
|
+
}
|
|
51
|
+
createHooks(type) {
|
|
52
|
+
return this.getProviders(type).reduce((hooks, provider) => {
|
|
53
|
+
const instance = this.injector.invoke(provider.token);
|
|
54
|
+
const name = provider.store.get(`formio:${type}:name`);
|
|
55
|
+
const pool = hooks[name] || [];
|
|
56
|
+
const hook = (...args) => instance[type === "alter" ? "transform" : "on"](...args.map((input) => {
|
|
57
|
+
return input && input.$ctx ? input.$ctx : input;
|
|
58
|
+
}));
|
|
59
|
+
return {
|
|
60
|
+
...hooks,
|
|
61
|
+
[name]: [].concat(pool, hook)
|
|
62
|
+
};
|
|
63
|
+
}, {});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
__decorate([
|
|
67
|
+
Inject(),
|
|
68
|
+
__metadata("design:type", InjectorService)
|
|
69
|
+
], FormioHooksService.prototype, "injector", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
Inject(FormioService),
|
|
72
|
+
__metadata("design:type", FormioService)
|
|
73
|
+
], FormioHooksService.prototype, "formio", void 0);
|
|
74
|
+
FormioHooksService = __decorate([
|
|
75
|
+
Injectable()
|
|
76
|
+
], FormioHooksService);
|
|
77
|
+
export { FormioHooksService };
|
|
78
|
+
//# sourceMappingURL=FormioHooksService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormioHooksService.js","sourceRoot":"","sources":["../../../src/services/FormioHooksService.ts"],"names":[],"mappings":"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","sourcesContent":["import {Inject, Injectable, InjectorService} from \"@tsed/common\";\nimport {promisify} from \"util\";\nimport {FormioHooks} from \"../domain/FormioHooks\";\nimport {FormioService} from \"./FormioService\";\nimport {Request} from \"express\";\n\n@Injectable()\nexport class FormioHooksService {\n @Inject()\n protected injector: InjectorService;\n\n @Inject(FormioService)\n protected formio: FormioService;\n\n get settings(): (req: Request, cb: Function) => void {\n return this.formio.hook.settings;\n }\n\n get invoke() {\n return this.formio.hook.invoke;\n }\n\n get alter(): (event: string, ...args: any[]) => any {\n return this.formio.hook.alter;\n }\n\n get alterAsync(): (event: string, ...args: any[]) => Promise<any> {\n return promisify(this.alter);\n }\n\n getHooks(): FormioHooks {\n return {\n alter: this.getHooksProvider(\"alter\"),\n on: this.getHooksProvider(\"on\")\n };\n }\n\n protected getProviders(type: \"alter\" | \"on\") {\n return this.injector.getProviders(`formio:${type}`);\n }\n\n protected getHooksProvider(type: \"alter\" | \"on\") {\n return this.bindHooks(type, this.createHooks(type));\n }\n\n protected bindHooks(type: \"alter\" | \"on\", hooks: Record<string, Function[]>) {\n return Object.entries(hooks).reduce((newHooks, [key, pool]) => {\n const wrap = (input: any, ...args: any[]): any => {\n let last: any;\n\n for (const fn of pool) {\n const result = fn(input, ...args);\n\n if (type === \"alter\") {\n input = result;\n } else {\n last = result;\n }\n }\n\n return type === \"alter\" ? input : last;\n };\n\n return {\n ...newHooks,\n [key]: wrap\n };\n }, {});\n }\n\n private createHooks(type: \"alter\" | \"on\") {\n return this.getProviders(type).reduce<Record<string, Function[]>>((hooks, provider) => {\n const instance = this.injector.invoke<any>(provider.token);\n const name = provider.store.get(`formio:${type}:name`);\n const pool: Function[] = hooks[name] || [];\n\n const hook = (...args: any[]) =>\n instance[type === \"alter\" ? \"transform\" : \"on\"](\n ...args.map((input: any) => {\n return input && input.$ctx ? input.$ctx : input;\n })\n );\n\n return {\n ...hooks,\n [name]: ([] as Function[]).concat(pool, hook)\n };\n }, {});\n }\n}\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Inject, Injectable } from "@tsed/di";
|
|
3
|
+
import { Logger } from "@tsed/logger";
|
|
4
|
+
import { FormioDatabase } from "./FormioDatabase";
|
|
5
|
+
import { FormioService } from "./FormioService";
|
|
6
|
+
let FormioInstaller = class FormioInstaller extends FormioDatabase {
|
|
7
|
+
async install(template, root) {
|
|
8
|
+
this.logger.info("Install formio template...");
|
|
9
|
+
template = await this.formio.importTemplate(template);
|
|
10
|
+
if (root) {
|
|
11
|
+
this.logger.info("Create root user...");
|
|
12
|
+
await this.createRootUser(root, template);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
async createRootUser(user, template) {
|
|
16
|
+
const hash = await this.formio.encrypt(user.password);
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
var _a;
|
|
19
|
+
this.formio.resources.submission.model.create({
|
|
20
|
+
form: template.resources.admin._id,
|
|
21
|
+
data: {
|
|
22
|
+
email: user.email,
|
|
23
|
+
password: hash
|
|
24
|
+
},
|
|
25
|
+
roles: [(_a = template.roles) === null || _a === void 0 ? void 0 : _a.administrator._id].filter(Boolean)
|
|
26
|
+
}, (err, item) => {
|
|
27
|
+
if (err) {
|
|
28
|
+
return reject(err);
|
|
29
|
+
}
|
|
30
|
+
resolve(item);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
__decorate([
|
|
36
|
+
Inject(),
|
|
37
|
+
__metadata("design:type", FormioService)
|
|
38
|
+
], FormioInstaller.prototype, "formio", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
Inject(),
|
|
41
|
+
__metadata("design:type", Logger)
|
|
42
|
+
], FormioInstaller.prototype, "logger", void 0);
|
|
43
|
+
FormioInstaller = __decorate([
|
|
44
|
+
Injectable()
|
|
45
|
+
], FormioInstaller);
|
|
46
|
+
export { FormioInstaller };
|
|
47
|
+
//# sourceMappingURL=FormioInstaller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormioInstaller.js","sourceRoot":"","sources":["../../../src/services/FormioInstaller.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AAGpC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAG9C,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,cAAc;IAOjD,KAAK,CAAC,OAAO,CAAC,QAAwB,EAAE,IAAS;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC/C,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAiB,IAAuC,EAAE,QAAwB;QACpG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;YACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAC3C;gBACE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;gBAClC,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,IAAI;iBACf;gBACD,KAAK,EAAE,CAAC,MAAA,QAAQ,CAAC,KAAK,0CAAE,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;aAC3D,EACD,CAAC,GAAY,EAAE,IAAS,EAAE,EAAE;gBAC1B,IAAI,GAAG,EAAE;oBACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;iBACpB;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtCC;IADC,MAAM,EAAE;8BACS,aAAa;+CAAC;AAGhC;IADC,MAAM,EAAE;8BACS,MAAM;+CAAC;AALd,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAwC3B;SAxCY,eAAe","sourcesContent":["import {Inject, Injectable} from \"@tsed/di\";\nimport {Logger} from \"@tsed/logger\";\nimport {FormioSubmission} from \"../domain/FormioModels\";\nimport {FormioTemplate} from \"../domain/FormioTemplate\";\nimport {FormioDatabase} from \"./FormioDatabase\";\nimport {FormioService} from \"./FormioService\";\n\n@Injectable()\nexport class FormioInstaller extends FormioDatabase {\n @Inject()\n protected formio: FormioService;\n\n @Inject()\n protected logger: Logger;\n\n async install(template: FormioTemplate, root: any) {\n this.logger.info(\"Install formio template...\");\n template = await this.formio.importTemplate(template);\n\n if (root) {\n this.logger.info(\"Create root user...\");\n await this.createRootUser(root, template);\n }\n }\n\n async createRootUser<User = unknown>(user: {email: string; password: string}, template: FormioTemplate): Promise<FormioSubmission<User>> {\n const hash = await this.formio.encrypt(user.password);\n\n return new Promise((resolve, reject) => {\n this.formio.resources.submission.model.create(\n {\n form: template.resources.admin._id,\n data: {\n email: user.email,\n password: hash\n },\n roles: [template.roles?.administrator._id].filter(Boolean)\n },\n (err: unknown, item: any) => {\n if (err) {\n return reject(err);\n }\n\n resolve(item);\n }\n );\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Inject, Injectable, InjectorService } from "@tsed/common";
|
|
3
|
+
import { promisify } from "util";
|
|
4
|
+
const createRouter = require("formio");
|
|
5
|
+
const swagger = require("formio/src/util/swagger.js");
|
|
6
|
+
const util = require("formio/src/util/util.js");
|
|
7
|
+
let FormioService = class FormioService {
|
|
8
|
+
get audit() {
|
|
9
|
+
return this.formio.audit || (() => { });
|
|
10
|
+
}
|
|
11
|
+
get auth() {
|
|
12
|
+
return this.formio.auth;
|
|
13
|
+
}
|
|
14
|
+
// istanbul ignore next
|
|
15
|
+
get swagger() {
|
|
16
|
+
return (...args) => new Promise((resolve) => swagger(...args, resolve));
|
|
17
|
+
}
|
|
18
|
+
get config() {
|
|
19
|
+
return this.formio.config;
|
|
20
|
+
}
|
|
21
|
+
get db() {
|
|
22
|
+
return this.formio.db;
|
|
23
|
+
}
|
|
24
|
+
get resources() {
|
|
25
|
+
return this.formio.resources;
|
|
26
|
+
}
|
|
27
|
+
get mongoose() {
|
|
28
|
+
return this.formio.mongoose;
|
|
29
|
+
}
|
|
30
|
+
get middleware() {
|
|
31
|
+
return this.formio.middleware;
|
|
32
|
+
}
|
|
33
|
+
get schemas() {
|
|
34
|
+
return this.formio.schemas;
|
|
35
|
+
}
|
|
36
|
+
get formio() {
|
|
37
|
+
return this.router.formio;
|
|
38
|
+
}
|
|
39
|
+
get hook() {
|
|
40
|
+
return this.formio.hook;
|
|
41
|
+
}
|
|
42
|
+
get util() {
|
|
43
|
+
return this.formio.util;
|
|
44
|
+
}
|
|
45
|
+
get template() {
|
|
46
|
+
return this.formio.template;
|
|
47
|
+
}
|
|
48
|
+
get Action() {
|
|
49
|
+
return this.formio.Action;
|
|
50
|
+
}
|
|
51
|
+
async exportTemplate(options = {}) {
|
|
52
|
+
return promisify(this.formio.template.export)(options);
|
|
53
|
+
}
|
|
54
|
+
async importTemplate(template) {
|
|
55
|
+
return promisify(this.formio.template.import.template)(template);
|
|
56
|
+
}
|
|
57
|
+
encrypt(text) {
|
|
58
|
+
return promisify(this.formio.encrypt)(text);
|
|
59
|
+
}
|
|
60
|
+
isInit() {
|
|
61
|
+
return !!this.router;
|
|
62
|
+
}
|
|
63
|
+
// istanbul ignore next
|
|
64
|
+
createRouter(options) {
|
|
65
|
+
return createRouter(options);
|
|
66
|
+
}
|
|
67
|
+
init(options, hooks = {}) {
|
|
68
|
+
if (options && Object.keys(options).length) {
|
|
69
|
+
this.router = this.createRouter(this.mapConfiguration(options));
|
|
70
|
+
this.bindLogger();
|
|
71
|
+
return this.router.init(hooks);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
mapConfiguration(options) {
|
|
75
|
+
const { injector } = this;
|
|
76
|
+
const mongooseSettings = injector.settings.get("mongoose.0");
|
|
77
|
+
if (mongooseSettings) {
|
|
78
|
+
options.mongo = options.mongo || mongooseSettings.url;
|
|
79
|
+
options.mongoConfig = options.mongoConfig || JSON.stringify(mongooseSettings.connectionOptions);
|
|
80
|
+
}
|
|
81
|
+
return options;
|
|
82
|
+
}
|
|
83
|
+
bindLogger() {
|
|
84
|
+
const { injector } = this;
|
|
85
|
+
util.log = injector.logger.info.bind(injector.logger);
|
|
86
|
+
util.error = injector.logger.error.bind(injector.logger);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
__decorate([
|
|
90
|
+
Inject(),
|
|
91
|
+
__metadata("design:type", InjectorService)
|
|
92
|
+
], FormioService.prototype, "injector", void 0);
|
|
93
|
+
FormioService = __decorate([
|
|
94
|
+
Injectable()
|
|
95
|
+
], FormioService);
|
|
96
|
+
export { FormioService };
|
|
97
|
+
//# sourceMappingURL=FormioService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormioService.js","sourceRoot":"","sources":["../../../src/services/FormioService.ts"],"names":[],"mappings":"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","sourcesContent":["import {Inject, Injectable, InjectorService} from \"@tsed/common\";\nimport {MongooseConnectionOptions} from \"@tsed/mongoose\";\nimport {Db} from \"mongodb\";\nimport {Mongoose} from \"mongoose\";\nimport {promisify} from \"util\";\nimport {Formio} from \"../domain/Formio\";\nimport {FormioConfig} from \"../domain/FormioConfig\";\nimport {FormioHook, FormioHooks} from \"../domain/FormioHooks\";\nimport {FormioSchemas} from \"../domain/FormioModels\";\nimport {FormioRouter} from \"../domain/FormioRouter\";\nimport {FormioTemplate} from \"../domain/FormioTemplate\";\nimport {FormioExportOptions} from \"../domain/FormioTemplateUtil\";\n\nconst createRouter = require(\"formio\");\nconst swagger = require(\"formio/src/util/swagger.js\");\nconst util = require(\"formio/src/util/util.js\");\n\n@Injectable()\nexport class FormioService {\n router: FormioRouter;\n\n @Inject()\n protected injector: InjectorService;\n\n get audit(): Function {\n return this.formio.audit || (() => {});\n }\n\n get auth() {\n return this.formio.auth;\n }\n\n // istanbul ignore next\n get swagger() {\n return (...args: any[]) => new Promise((resolve) => swagger(...args, resolve));\n }\n\n get config(): FormioConfig {\n return this.formio.config;\n }\n\n get db(): Db {\n return this.formio.db;\n }\n\n get resources() {\n return this.formio.resources;\n }\n\n get mongoose(): Mongoose {\n return this.formio.mongoose;\n }\n\n get middleware() {\n return this.formio.middleware;\n }\n\n get schemas(): FormioSchemas {\n return this.formio.schemas;\n }\n\n get formio(): Formio {\n return this.router.formio as Formio;\n }\n\n get hook(): FormioHook {\n return this.formio.hook;\n }\n\n get util() {\n return this.formio.util;\n }\n\n get template() {\n return this.formio.template;\n }\n\n get Action() {\n return this.formio.Action;\n }\n\n async exportTemplate(options: Partial<FormioExportOptions> = {}): Promise<FormioTemplate> {\n return promisify(this.formio.template.export)(options);\n }\n\n async importTemplate(template: FormioTemplate): Promise<FormioTemplate> {\n return promisify(this.formio.template.import.template)(template);\n }\n\n encrypt(text: string) {\n return promisify(this.formio.encrypt)(text);\n }\n\n isInit() {\n return !!this.router;\n }\n\n // istanbul ignore next\n public createRouter(options: FormioConfig) {\n return createRouter(options);\n }\n\n public init(options: FormioConfig, hooks: FormioHooks = {}) {\n if (options && Object.keys(options).length) {\n this.router = this.createRouter(this.mapConfiguration(options));\n this.bindLogger();\n\n return this.router.init(hooks);\n }\n }\n\n protected mapConfiguration(options: FormioConfig) {\n const {injector} = this;\n const mongooseSettings = injector.settings.get<MongooseConnectionOptions>(\"mongoose.0\");\n\n if (mongooseSettings) {\n options.mongo = options.mongo || mongooseSettings.url;\n options.mongoConfig = options.mongoConfig || JSON.stringify(mongooseSettings.connectionOptions);\n }\n\n return options;\n }\n\n protected bindLogger() {\n const {injector} = this;\n\n util.log = injector.logger.info.bind(injector.logger);\n util.error = injector.logger.error.bind(injector.logger);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isMongoId.js","sourceRoot":"","sources":["../../../src/utils/isMongoId.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACpD,CAAC","sourcesContent":["export function isMongoId(text: string) {\n return text.toString().match(/^[0-9a-fA-F]{24}$/);\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { InjectorService, OnReady, OnRoutesInit, PlatformApplication, PlatformRouteDetails } from "@tsed/common";
|
|
2
|
+
import { FormioConfig } from "./domain/FormioConfig";
|
|
3
|
+
import { FormioTemplate } from "./domain/FormioTemplate";
|
|
4
|
+
import { FormioHooksService } from "./services/FormioHooksService";
|
|
5
|
+
import { FormioInstaller } from "./services/FormioInstaller";
|
|
6
|
+
import { FormioService } from "./services/FormioService";
|
|
7
|
+
export declare class FormioModule implements OnRoutesInit, OnReady {
|
|
8
|
+
protected formio: FormioService;
|
|
9
|
+
protected hooks: FormioHooksService;
|
|
10
|
+
protected installer: FormioInstaller;
|
|
11
|
+
protected app: PlatformApplication;
|
|
12
|
+
protected injector: InjectorService;
|
|
13
|
+
protected settings: FormioConfig;
|
|
14
|
+
protected baseUrl: string;
|
|
15
|
+
protected skipInstall: boolean;
|
|
16
|
+
protected template?: FormioTemplate;
|
|
17
|
+
protected root?: any;
|
|
18
|
+
$onInit(): Promise<import(".").Formio | undefined>;
|
|
19
|
+
init(options: FormioConfig): Promise<import(".").Formio | undefined>;
|
|
20
|
+
$onRoutesInit(): Promise<void>;
|
|
21
|
+
$logRoutes(routes: PlatformRouteDetails[]): Promise<PlatformRouteDetails[]>;
|
|
22
|
+
$onReady(): Promise<void>;
|
|
23
|
+
protected shouldInstall(): Promise<boolean | undefined>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FormioCtxMapper } from "../domain/FormioCtxMapper";
|
|
2
|
+
export declare class FormioMapper {
|
|
3
|
+
readonly ctxData: FormioCtxMapper;
|
|
4
|
+
constructor(ctxData: FormioCtxMapper);
|
|
5
|
+
find(key: string): any;
|
|
6
|
+
findId(data: string): any;
|
|
7
|
+
findMachineName(data: any): string | undefined;
|
|
8
|
+
mapToExport(data: any): any;
|
|
9
|
+
mapToImport(data: any): any;
|
|
10
|
+
mapData(data: any, resolver: any): any;
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PlatformContext } from "@tsed/common";
|
|
2
|
+
import { InjectorService, Provider } from "@tsed/di";
|
|
3
|
+
import { AlterHook } from "../domain/AlterHook";
|
|
4
|
+
import { SetActionItemMessage } from "../domain/FormioAction";
|
|
5
|
+
import { FormioActions } from "../domain/FormioActionsIndex";
|
|
6
|
+
import { FormioService } from "../services/FormioService";
|
|
7
|
+
export declare class AlterActions implements AlterHook {
|
|
8
|
+
protected injector: InjectorService;
|
|
9
|
+
protected formio: FormioService;
|
|
10
|
+
transform(actions: FormioActions): FormioActions;
|
|
11
|
+
protected getActions(): Provider<any>[];
|
|
12
|
+
protected createResolveHandler(provider: Provider<any>): (action: any, handler: string, method: string, req: {
|
|
13
|
+
$ctx: PlatformContext;
|
|
14
|
+
}, res: Response, next: any, setActionItemMessage: SetActionItemMessage) => void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MongooseDocument } from "@tsed/mongoose";
|
|
2
|
+
import { FormioMapper } from "../builder/FormioMapper";
|
|
3
|
+
import { AlterHook } from "../domain/AlterHook";
|
|
4
|
+
import { FormioSubmission } from "../domain/FormioModels";
|
|
5
|
+
import { FormioTemplate } from "../domain/FormioTemplate";
|
|
6
|
+
import { FormioDatabase } from "../services/FormioDatabase";
|
|
7
|
+
export declare class AlterTemplateExportSteps implements AlterHook {
|
|
8
|
+
protected database: FormioDatabase;
|
|
9
|
+
transform(queue: any[], template: FormioTemplate, map: any, options: any): any;
|
|
10
|
+
protected exportSubmissions(template: FormioTemplate, map: any, options: any, next: any): Promise<void>;
|
|
11
|
+
protected mapSubmissions(submissions: MongooseDocument<FormioSubmission>[], mapper: FormioMapper): any;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FormioMapper } from "../builder/FormioMapper";
|
|
2
|
+
import { AlterHook } from "../domain/AlterHook";
|
|
3
|
+
import { FormioSubmission } from "../domain/FormioModels";
|
|
4
|
+
import { FormioTemplate } from "../domain/FormioTemplate";
|
|
5
|
+
import { FormioDatabase } from "../services/FormioDatabase";
|
|
6
|
+
export declare class AlterTemplateImportSteps implements AlterHook {
|
|
7
|
+
protected database: FormioDatabase;
|
|
8
|
+
transform(queue: any[], install: Function, template: Partial<FormioTemplate>): any;
|
|
9
|
+
protected importSubmissions(template: Partial<FormioTemplate>, done: any): Promise<void>;
|
|
10
|
+
protected importSubmission(submission: Partial<FormioSubmission>, mapper: FormioMapper): Promise<any>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SetActionItemMessage } from "../domain/FormioAction";
|
|
2
|
+
import { FormioAction } from "@tsed/formio-types";
|
|
3
|
+
/**
|
|
4
|
+
* Return the current action context with the following data:
|
|
5
|
+
*
|
|
6
|
+
* ```typescript
|
|
7
|
+
* export type ActionCtx = {
|
|
8
|
+
* handler: string;
|
|
9
|
+
* method: string;
|
|
10
|
+
* setActionItemMessage: SetActionItemMessage;
|
|
11
|
+
* action: FormioAction;
|
|
12
|
+
* };
|
|
13
|
+
* ```
|
|
14
|
+
* @param expression
|
|
15
|
+
* @constructor
|
|
16
|
+
*/
|
|
17
|
+
export declare function ActionCtx(expression?: string): ParameterDecorator;
|
|
18
|
+
export declare type ActionCtx = {
|
|
19
|
+
handler: string;
|
|
20
|
+
method: string;
|
|
21
|
+
setActionItemMessage: SetActionItemMessage;
|
|
22
|
+
action: FormioAction;
|
|
23
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from "events";
|
|
3
|
+
import { NextFunction, Request, Response } from "express";
|
|
4
|
+
import { Db } from "mongodb";
|
|
5
|
+
import { Mongoose, Schema } from "mongoose";
|
|
6
|
+
import { FormioActionModelCtor } from "./FormioAction";
|
|
7
|
+
import { FormioActionsIndex } from "./FormioActionsIndex";
|
|
8
|
+
import { FormioAuth } from "./FormioAuth";
|
|
9
|
+
import { FormioBaseModel } from "./FormioBaseModel";
|
|
10
|
+
import { FormioConfig } from "./FormioConfig";
|
|
11
|
+
import { FormioHook, FormioHooks } from "./FormioHooks";
|
|
12
|
+
import { FormioModels, FormioSchemas } from "./FormioModels";
|
|
13
|
+
import { FormioTemplateUtil } from "./FormioTemplateUtil";
|
|
14
|
+
import { FormioUpdate } from "./FormioUpdate";
|
|
15
|
+
import { FormioUtil } from "./FormioUtils";
|
|
16
|
+
export interface FormioBase {
|
|
17
|
+
/**
|
|
18
|
+
* Auth
|
|
19
|
+
*/
|
|
20
|
+
auth: FormioAuth;
|
|
21
|
+
/**
|
|
22
|
+
* Event emitter
|
|
23
|
+
*/
|
|
24
|
+
events: EventEmitter;
|
|
25
|
+
/**
|
|
26
|
+
* Formio configuration
|
|
27
|
+
*/
|
|
28
|
+
config: FormioConfig & {
|
|
29
|
+
schema: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Emit alter `log` event. Return false to disable event logging.
|
|
33
|
+
* @param event
|
|
34
|
+
* @param req
|
|
35
|
+
* @param info
|
|
36
|
+
*/
|
|
37
|
+
log(event: string, req: Request, ...info: any[]): void;
|
|
38
|
+
/**
|
|
39
|
+
* Emit alter `audit` event if `config.audit` is enabled. Return false to disable event logging.
|
|
40
|
+
* Use `console.log`.
|
|
41
|
+
* @param event
|
|
42
|
+
* @param req
|
|
43
|
+
* @param info
|
|
44
|
+
*/
|
|
45
|
+
audit(event: string, req: Request, ...info: any[]): void;
|
|
46
|
+
}
|
|
47
|
+
export interface FormioMiddlewares {
|
|
48
|
+
alias(req: Request, res: Response, next: NextFunction): void;
|
|
49
|
+
params(req: Request, res: Response, next: NextFunction): void;
|
|
50
|
+
accessHandler(req: Request, res: Response, next: NextFunction): void;
|
|
51
|
+
/**
|
|
52
|
+
* Authorize all urls based on roles and permissions.
|
|
53
|
+
* @param req
|
|
54
|
+
* @param res
|
|
55
|
+
* @param next
|
|
56
|
+
*/
|
|
57
|
+
permissionHandler(req: Request, res: Response, next: NextFunction): void;
|
|
58
|
+
restrictRequestTypes(req: Request, res: Response, next: NextFunction): void;
|
|
59
|
+
tokenHandler(req: Request, res: Response, next: NextFunction): void;
|
|
60
|
+
}
|
|
61
|
+
export interface Formio extends FormioBase {
|
|
62
|
+
Action: FormioActionModelCtor;
|
|
63
|
+
BaseModel: FormioBaseModel;
|
|
64
|
+
actions: FormioActionsIndex;
|
|
65
|
+
resources: any;
|
|
66
|
+
/**
|
|
67
|
+
* Database connection
|
|
68
|
+
*/
|
|
69
|
+
db: Db;
|
|
70
|
+
schemas: FormioSchemas & {
|
|
71
|
+
AccessSchema: Schema;
|
|
72
|
+
PermissionSchema: Schema;
|
|
73
|
+
FieldMatchAccessPermissionSchema: Schema;
|
|
74
|
+
};
|
|
75
|
+
models: FormioModels;
|
|
76
|
+
/**
|
|
77
|
+
* Mongoose lib.
|
|
78
|
+
*/
|
|
79
|
+
mongoose: Mongoose;
|
|
80
|
+
/**
|
|
81
|
+
* Exported formio middlewares
|
|
82
|
+
*/
|
|
83
|
+
readonly middleware: FormioMiddlewares;
|
|
84
|
+
/**
|
|
85
|
+
* Hooks.
|
|
86
|
+
*/
|
|
87
|
+
hooks: FormioHooks;
|
|
88
|
+
/**
|
|
89
|
+
* Plugins.
|
|
90
|
+
*/
|
|
91
|
+
plugins: any;
|
|
92
|
+
/**
|
|
93
|
+
* Formio hook util.
|
|
94
|
+
*/
|
|
95
|
+
readonly hook: FormioHook;
|
|
96
|
+
/**
|
|
97
|
+
* The formio utils.
|
|
98
|
+
*/
|
|
99
|
+
readonly util: FormioUtil;
|
|
100
|
+
/**
|
|
101
|
+
* Update system.
|
|
102
|
+
*/
|
|
103
|
+
readonly update: FormioUpdate;
|
|
104
|
+
/**
|
|
105
|
+
* Template export/import
|
|
106
|
+
*/
|
|
107
|
+
readonly template: FormioTemplateUtil;
|
|
108
|
+
/**
|
|
109
|
+
* Encryption system.
|
|
110
|
+
*/
|
|
111
|
+
encrypt(text: string, next: (err: null | Error, hash: string) => void): void;
|
|
112
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Request, Response } from "express";
|
|
2
|
+
import { FormioMongooseSchema } from "./FormioBaseModel";
|
|
3
|
+
import { FormioComponent } from "./FormioModels";
|
|
4
|
+
import { FormioAction, FormioActionInfo } from "@tsed/formio-types";
|
|
5
|
+
export interface FormioActionModel extends FormioAction {
|
|
6
|
+
resolve(handler: string, method: string, req: Request, res: Response, next: Function, setActionItemMessage: SetActionItemMessage): void;
|
|
7
|
+
}
|
|
8
|
+
export declare type FormioActionMongooseSchema = FormioMongooseSchema<FormioAction>;
|
|
9
|
+
export declare type SetActionItemMessage = (message: string, data?: any, state?: any) => void;
|
|
10
|
+
export interface FormioActionModelCtor {
|
|
11
|
+
schema?: FormioActionMongooseSchema;
|
|
12
|
+
info(req: Request, response: Response, next: (err: any, info: FormioActionInfo) => void): void;
|
|
13
|
+
settingsForm(req: Request, response: Response, next: (err: any, info: FormioComponent[]) => void): void;
|
|
14
|
+
new (data: FormioAction, req: Request, res: Response): FormioActionModel;
|
|
15
|
+
}
|
|
16
|
+
export interface ActionMethods {
|
|
17
|
+
info?(req: Request, response: Response): Promise<FormioAction>;
|
|
18
|
+
settingsForm(req: Request, response: Response): Promise<FormioComponent[]>;
|
|
19
|
+
resolve(...args: any[]): Promise<any>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Type } from "@tsed/core";
|
|
2
|
+
import { FormioActionModelCtor } from "./FormioAction";
|
|
3
|
+
export interface FormioActions {
|
|
4
|
+
email: FormioActionModelCtor;
|
|
5
|
+
login: FormioActionModelCtor;
|
|
6
|
+
resetpass: FormioActionModelCtor;
|
|
7
|
+
role: FormioActionModelCtor;
|
|
8
|
+
save: FormioActionModelCtor;
|
|
9
|
+
sql: FormioActionModelCtor;
|
|
10
|
+
webhook: FormioActionModelCtor;
|
|
11
|
+
[key: string]: FormioActionModelCtor;
|
|
12
|
+
}
|
|
13
|
+
export interface FormioActionsIndex {
|
|
14
|
+
actions: FormioActions & Record<string, Type<FormioActionModelCtor>>;
|
|
15
|
+
}
|