@tsed/formio 7.0.0-alpha.2 → 7.0.0-beta.11
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/.mocharc.js +2 -2
- package/.nycrc +6 -5
- package/lib/{FormioModule.js → cjs/FormioModule.js} +17 -30
- package/lib/cjs/FormioModule.js.map +1 -0
- package/lib/{builder → cjs/builder}/FormioMapper.js +11 -3
- package/lib/cjs/builder/FormioMapper.js.map +1 -0
- package/lib/cjs/components/AlterActions.js +111 -0
- package/lib/cjs/components/AlterActions.js.map +1 -0
- package/lib/{components → cjs/components}/AlterAudit.js +1 -1
- package/lib/cjs/components/AlterAudit.js.map +1 -0
- package/lib/{components → cjs/components}/AlterHost.js +1 -1
- package/lib/cjs/components/AlterHost.js.map +1 -0
- package/lib/{components → cjs/components}/AlterLog.js +1 -1
- package/lib/cjs/components/AlterLog.js.map +1 -0
- package/lib/{components → cjs/components}/AlterSkip.js +4 -4
- package/lib/cjs/components/AlterSkip.js.map +1 -0
- package/lib/{components → cjs/components}/AlterTemplateExportSteps.js +5 -5
- package/lib/cjs/components/AlterTemplateExportSteps.js.map +1 -0
- package/lib/{components → cjs/components}/AlterTemplateImportSteps.js +4 -4
- package/lib/cjs/components/AlterTemplateImportSteps.js.map +1 -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.js +1 -1
- package/lib/cjs/decorators/actionCtx.js.map +1 -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.js +3 -3
- package/lib/cjs/decorators/on.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/AlterHook.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/FormioAction.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/FormioAuth.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/FormioConfig.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/FormioDecodedToken.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/FormioHooks.js.map +1 -0
- package/lib/{domain → cjs/domain}/FormioJs.js +0 -0
- package/lib/cjs/domain/FormioJs.js.map +1 -0
- package/lib/cjs/domain/FormioModels.js +5 -0
- package/lib/cjs/domain/FormioModels.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/FormioSettings.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/FormioTemplateUtil.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/FormioUtils.js.map +1 -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.js +0 -0
- package/lib/cjs/domain/Resource.js.map +1 -0
- package/lib/{index.js → cjs/index.js} +22 -18
- package/lib/cjs/index.js.map +1 -0
- package/lib/{middlewares → cjs/middlewares}/FormioAuthMiddleware.js +5 -5
- package/lib/cjs/middlewares/FormioAuthMiddleware.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/{services → cjs/services}/FormioAuthService.js +6 -6
- package/lib/cjs/services/FormioAuthService.js.map +1 -0
- package/lib/{services → cjs/services}/FormioDatabase.js +50 -13
- package/lib/cjs/services/FormioDatabase.js.map +1 -0
- package/lib/{services → cjs/services}/FormioHooksService.js +4 -4
- package/lib/cjs/services/FormioHooksService.js.map +1 -0
- package/lib/{services → cjs/services}/FormioInstaller.js +3 -3
- package/lib/cjs/services/FormioInstaller.js.map +1 -0
- package/lib/cjs/services/FormioRepository.js +42 -0
- package/lib/cjs/services/FormioRepository.js.map +1 -0
- package/lib/cjs/services/FormioService.js +103 -0
- package/lib/cjs/services/FormioService.js.map +1 -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 +57 -0
- package/lib/esm/builder/FormioMapper.js.map +1 -0
- package/lib/esm/components/AlterActions.js +108 -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 +47 -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/package.json +3 -0
- package/lib/esm/services/FormioAuthService.js +179 -0
- package/lib/esm/services/FormioAuthService.js.map +1 -0
- package/lib/esm/services/FormioDatabase.js +137 -0
- package/lib/esm/services/FormioDatabase.js.map +1 -0
- 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/FormioRepository.js +38 -0
- package/lib/esm/services/FormioRepository.js.map +1 -0
- package/lib/{services → esm/services}/FormioService.js +18 -18
- 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/{FormioModule.d.ts → types/FormioModule.d.ts} +0 -0
- package/lib/{builder → types/builder}/FormioMapper.d.ts +0 -0
- package/lib/{components → types/components}/AlterActions.d.ts +8 -3
- package/lib/types/components/AlterAudit.d.ts +5 -0
- package/lib/{components → types/components}/AlterHost.d.ts +0 -0
- package/lib/{components → types/components}/AlterLog.d.ts +0 -0
- package/lib/{components → types/components}/AlterSkip.d.ts +0 -0
- package/lib/{components → types/components}/AlterTemplateExportSteps.d.ts +0 -0
- package/lib/{components → types/components}/AlterTemplateImportSteps.d.ts +0 -0
- package/lib/{decorators → types/decorators}/action.d.ts +1 -1
- package/lib/{decorators → types/decorators}/actionCtx.d.ts +2 -1
- package/lib/{decorators → types/decorators}/alter.d.ts +0 -0
- package/lib/{decorators → types/decorators}/on.d.ts +0 -0
- package/lib/{decorators → types/decorators}/useFormioAuth.d.ts +0 -0
- package/lib/{domain → types/domain}/AlterHook.d.ts +0 -0
- package/lib/{domain → types/domain}/Formio.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioAction.d.ts +1 -26
- package/lib/{domain → types/domain}/FormioActionsIndex.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioAuth.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioBaseModel.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioConfig.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioCtxMapper.d.ts +1 -2
- package/lib/{domain → types/domain}/FormioDecodedToken.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioErrors.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioHooks.d.ts +1 -1
- package/lib/{domain → types/domain}/FormioJs.d.ts +0 -0
- package/lib/types/domain/FormioModels.d.ts +42 -0
- package/lib/{domain → types/domain}/FormioRouter.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioSettings.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioTemplate.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioTemplateUtil.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioUpdate.d.ts +0 -0
- package/lib/{domain → types/domain}/FormioUtils.d.ts +0 -0
- package/lib/{domain → types/domain}/OnHook.d.ts +0 -0
- package/lib/{domain → types/domain}/Resource.d.ts +2 -2
- package/lib/{index.d.ts → types/index.d.ts} +22 -14
- package/lib/types/middlewares/FormioAuthMiddleware.d.ts +11 -0
- package/lib/{services → types/services}/FormioAuthService.d.ts +14 -3
- package/lib/types/services/FormioDatabase.d.ts +63 -0
- package/lib/{services → types/services}/FormioHooksService.d.ts +2 -3
- package/lib/{services → types/services}/FormioInstaller.d.ts +0 -0
- package/lib/types/services/FormioRepository.d.ts +24 -0
- package/lib/{services → types/services}/FormioService.d.ts +0 -0
- package/lib/{utils → types/utils}/isMongoId.d.ts +0 -0
- package/package.json +33 -21
- package/readme.md +5 -9
- package/tsconfig.compile.esm.json +12 -0
- package/lib/FormioModule.js.map +0 -1
- package/lib/builder/FormioMapper.js.map +0 -1
- package/lib/components/AlterActions.js +0 -66
- package/lib/components/AlterActions.js.map +0 -1
- package/lib/components/AlterAudit.d.ts +0 -5
- 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.d.ts +0 -183
- package/lib/domain/FormioModels.js +0 -3
- 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.map +0 -1
- package/lib/middlewares/FormioAuthMiddleware.d.ts +0 -13
- package/lib/middlewares/FormioAuthMiddleware.js.map +0 -1
- package/lib/services/FormioAuthService.js.map +0 -1
- package/lib/services/FormioDatabase.d.ts +0 -25
- package/lib/services/FormioDatabase.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
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormioRepository = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@tsed/di");
|
|
6
|
+
const FormioDatabase_1 = require("./FormioDatabase");
|
|
7
|
+
class FormioRepository {
|
|
8
|
+
async getFormId() {
|
|
9
|
+
if (!this.formId) {
|
|
10
|
+
const form = await this.formioDatabase.formModel.findOne({ name: { $eq: this.formName } });
|
|
11
|
+
if (form) {
|
|
12
|
+
this.formId = form._id;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return this.formId;
|
|
16
|
+
}
|
|
17
|
+
async saveSubmission(submission) {
|
|
18
|
+
return this.formioDatabase.saveSubmission({
|
|
19
|
+
...submission,
|
|
20
|
+
form: submission.form || (await this.getFormId())
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async getSubmissions(query = {}) {
|
|
24
|
+
return this.formioDatabase.getSubmissions({
|
|
25
|
+
...query,
|
|
26
|
+
form: await this.getFormId()
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async findOneSubmission(query) {
|
|
30
|
+
return this.formioDatabase.submissionModel.findOne({
|
|
31
|
+
form: await this.getFormId(),
|
|
32
|
+
deleted: null,
|
|
33
|
+
...query
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
tslib_1.__decorate([
|
|
38
|
+
(0, di_1.Inject)(),
|
|
39
|
+
tslib_1.__metadata("design:type", FormioDatabase_1.FormioDatabase)
|
|
40
|
+
], FormioRepository.prototype, "formioDatabase", void 0);
|
|
41
|
+
exports.FormioRepository = FormioRepository;
|
|
42
|
+
//# sourceMappingURL=FormioRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormioRepository.js","sourceRoot":"","sources":["../../../src/services/FormioRepository.ts"],"names":[],"mappings":";;;;AACA,iCAAgC;AAGhC,qDAAgD;AAEhD,MAAsB,gBAAgB;IAQpC,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAC,EAAC,CAAC,CAAC;YAEvF,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;aACxB;SACF;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkF;QACrG,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAiB;YACxD,GAAG,UAAU;YACb,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAsE,EAAE;QAC3F,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAiB;YACxD,GAAG,KAAK;YACR,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAU;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;YACjD,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,GAAG,KAAK;SACT,CAAQ,CAAC;IACZ,CAAC;CACF;AAvCC;IADC,IAAA,WAAM,GAAE;sCACiB,+BAAc;wDAAC;AAF3C,4CAyCC","sourcesContent":["import type {FilterQuery} from \"mongoose\";\nimport {Inject} from \"@tsed/di\";\nimport {MongooseDocument, MongooseModel} from \"@tsed/mongoose\";\nimport {FormioSubmission} from \"../domain/FormioModels\";\nimport {FormioDatabase} from \"./FormioDatabase\";\n\nexport abstract class FormioRepository<SubmissionData = any> {\n @Inject()\n protected formioDatabase: FormioDatabase;\n\n protected abstract formName: string;\n\n private formId: string;\n\n async getFormId() {\n if (!this.formId) {\n const form = await this.formioDatabase.formModel.findOne({name: {$eq: this.formName}});\n\n if (form) {\n this.formId = form._id;\n }\n }\n\n return this.formId;\n }\n\n async saveSubmission(submission: Omit<Partial<FormioSubmission<SubmissionData>>, \"form\"> & {form?: any}) {\n return this.formioDatabase.saveSubmission<SubmissionData>({\n ...submission,\n form: submission.form || (await this.getFormId())\n });\n }\n\n async getSubmissions(query: FilterQuery<MongooseModel<FormioSubmission<SubmissionData>>> = {}) {\n return this.formioDatabase.getSubmissions<SubmissionData>({\n ...query,\n form: await this.getFormId()\n });\n }\n\n async findOneSubmission(query: any): Promise<MongooseDocument<FormioSubmission<SubmissionData>> | undefined> {\n return this.formioDatabase.submissionModel.findOne({\n form: await this.getFormId(),\n deleted: null,\n ...query\n }) as any;\n }\n}\n"]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormioService = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@tsed/common");
|
|
6
|
+
const util_1 = require("util");
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
const formio_1 = tslib_1.__importDefault(require("formio"));
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
const swagger_js_1 = tslib_1.__importDefault(require("formio/src/util/swagger.js"));
|
|
11
|
+
// @ts-ignore
|
|
12
|
+
const util_js_1 = tslib_1.__importDefault(require("formio/src/util/util.js"));
|
|
13
|
+
let FormioService = class FormioService {
|
|
14
|
+
get audit() {
|
|
15
|
+
return this.formio.audit || (() => { });
|
|
16
|
+
}
|
|
17
|
+
get auth() {
|
|
18
|
+
return this.formio.auth;
|
|
19
|
+
}
|
|
20
|
+
// istanbul ignore next
|
|
21
|
+
get swagger() {
|
|
22
|
+
return (...args) => new Promise((resolve) => (0, swagger_js_1.default)(...args, resolve));
|
|
23
|
+
}
|
|
24
|
+
get config() {
|
|
25
|
+
return this.formio.config;
|
|
26
|
+
}
|
|
27
|
+
get db() {
|
|
28
|
+
return this.formio.db;
|
|
29
|
+
}
|
|
30
|
+
get resources() {
|
|
31
|
+
return this.formio.resources;
|
|
32
|
+
}
|
|
33
|
+
get mongoose() {
|
|
34
|
+
return this.formio.mongoose;
|
|
35
|
+
}
|
|
36
|
+
get middleware() {
|
|
37
|
+
return this.formio.middleware;
|
|
38
|
+
}
|
|
39
|
+
get schemas() {
|
|
40
|
+
return this.formio.schemas;
|
|
41
|
+
}
|
|
42
|
+
get formio() {
|
|
43
|
+
return this.router.formio;
|
|
44
|
+
}
|
|
45
|
+
get hook() {
|
|
46
|
+
return this.formio.hook;
|
|
47
|
+
}
|
|
48
|
+
get util() {
|
|
49
|
+
return this.formio.util;
|
|
50
|
+
}
|
|
51
|
+
get template() {
|
|
52
|
+
return this.formio.template;
|
|
53
|
+
}
|
|
54
|
+
get Action() {
|
|
55
|
+
return this.formio.Action;
|
|
56
|
+
}
|
|
57
|
+
async exportTemplate(options = {}) {
|
|
58
|
+
return (0, util_1.promisify)(this.formio.template.export)(options);
|
|
59
|
+
}
|
|
60
|
+
async importTemplate(template) {
|
|
61
|
+
return (0, util_1.promisify)(this.formio.template.import.template)(template);
|
|
62
|
+
}
|
|
63
|
+
encrypt(text) {
|
|
64
|
+
return (0, util_1.promisify)(this.formio.encrypt)(text);
|
|
65
|
+
}
|
|
66
|
+
isInit() {
|
|
67
|
+
return !!this.router;
|
|
68
|
+
}
|
|
69
|
+
// istanbul ignore next
|
|
70
|
+
createRouter(options) {
|
|
71
|
+
return (0, formio_1.default)(options);
|
|
72
|
+
}
|
|
73
|
+
init(options, hooks = {}) {
|
|
74
|
+
if (options && Object.keys(options).length) {
|
|
75
|
+
this.router = this.createRouter(this.mapConfiguration(options));
|
|
76
|
+
this.bindLogger();
|
|
77
|
+
return this.router.init(hooks);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
mapConfiguration(options) {
|
|
81
|
+
const { injector } = this;
|
|
82
|
+
const mongooseSettings = injector.settings.get("mongoose.0");
|
|
83
|
+
if (mongooseSettings) {
|
|
84
|
+
options.mongo = options.mongo || mongooseSettings.url;
|
|
85
|
+
options.mongoConfig = options.mongoConfig || JSON.stringify(mongooseSettings.connectionOptions);
|
|
86
|
+
}
|
|
87
|
+
return options;
|
|
88
|
+
}
|
|
89
|
+
bindLogger() {
|
|
90
|
+
const { injector } = this;
|
|
91
|
+
util_js_1.default.log = injector.logger.info.bind(injector.logger);
|
|
92
|
+
util_js_1.default.error = injector.logger.error.bind(injector.logger);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
tslib_1.__decorate([
|
|
96
|
+
(0, common_1.Inject)(),
|
|
97
|
+
tslib_1.__metadata("design:type", common_1.InjectorService)
|
|
98
|
+
], FormioService.prototype, "injector", void 0);
|
|
99
|
+
FormioService = tslib_1.__decorate([
|
|
100
|
+
(0, common_1.Injectable)()
|
|
101
|
+
], FormioService);
|
|
102
|
+
exports.FormioService = FormioService;
|
|
103
|
+
//# sourceMappingURL=FormioService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormioService.js","sourceRoot":"","sources":["../../../src/services/FormioService.ts"],"names":[],"mappings":";;;;AAAA,yCAAiE;AAIjE,+BAA+B;AAQ/B,aAAa;AACb,4DAAkC;AAClC,aAAa;AACb,oFAAiD;AACjD,aAAa;AACb,8EAA2C;AAG3C,IAAa,aAAa,GAA1B,MAAa,aAAa;IAMxB,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,oBAAO,EAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAgB,CAAC;IACtC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAwC,EAAE;QAC7D,OAAO,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAwB;QAC3C,OAAO,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,uBAAuB;IAChB,YAAY,CAAC,OAAqB;QACvC,OAAO,IAAA,gBAAY,EAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEM,IAAI,CAAC,OAAqB,EAAE,QAAqB,EAAE;QACxD,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;YAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;IACH,CAAC;IAES,gBAAgB,CAAC,OAAqB;QAC9C,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC;QACxB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAA4B,YAAY,CAAC,CAAC;QAExF,IAAI,gBAAgB,EAAE;YACpB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC;YACtD,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;SACjG;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,UAAU;QAClB,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC;QAExB,iBAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtD,iBAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AA3GC;IADC,IAAA,eAAM,GAAE;sCACW,wBAAe;+CAAC;AAJzB,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CA+GzB;AA/GY,sCAAa","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// @ts-ignore\nimport createRouter from \"formio\";\n// @ts-ignore\nimport swagger from \"formio/src/util/swagger.js\";\n// @ts-ignore\nimport util from \"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"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isMongoId.js","sourceRoot":"","sources":["../../../src/utils/isMongoId.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACpD,CAAC;AAFD,8BAEC","sourcesContent":["export function isMongoId(text: string) {\n return text.toString().match(/^[0-9a-fA-F]{24}$/);\n}\n"]}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Constant, Inject, InjectorService, normalizePath, PlatformApplication } from "@tsed/common";
|
|
3
|
+
import { deepClone } from "@tsed/core";
|
|
4
|
+
import { Module } from "@tsed/di";
|
|
5
|
+
import { AlterActions } from "./components/AlterActions.js";
|
|
6
|
+
import { AlterAudit } from "./components/AlterAudit.js";
|
|
7
|
+
import { AlterHost } from "./components/AlterHost.js";
|
|
8
|
+
import { AlterLog } from "./components/AlterLog.js";
|
|
9
|
+
import { AlterSkip } from "./components/AlterSkip.js";
|
|
10
|
+
import { AlterTemplateExportSteps } from "./components/AlterTemplateExportSteps.js";
|
|
11
|
+
import { AlterTemplateImportSteps } from "./components/AlterTemplateImportSteps.js";
|
|
12
|
+
import { FormioAuthService } from "./services/FormioAuthService.js";
|
|
13
|
+
import { FormioHooksService } from "./services/FormioHooksService.js";
|
|
14
|
+
import { FormioInstaller } from "./services/FormioInstaller.js";
|
|
15
|
+
import { FormioService } from "./services/FormioService.js";
|
|
16
|
+
let FormioModule = class FormioModule {
|
|
17
|
+
$onInit() {
|
|
18
|
+
return this.init(deepClone(this.settings));
|
|
19
|
+
}
|
|
20
|
+
async init(options) {
|
|
21
|
+
return this.formio.init(options, this.hooks.getHooks());
|
|
22
|
+
}
|
|
23
|
+
async $onRoutesInit() {
|
|
24
|
+
if (this.formio.isInit()) {
|
|
25
|
+
const router = this.app.getRouter();
|
|
26
|
+
router.use(this.baseUrl, this.formio.middleware.restrictRequestTypes, this.formio.router);
|
|
27
|
+
if (await this.shouldInstall()) {
|
|
28
|
+
await this.installer.install(this.template, this.root);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async $logRoutes(routes) {
|
|
33
|
+
if (this.formio.isInit()) {
|
|
34
|
+
const spec = (await this.formio.swagger({
|
|
35
|
+
$ctx: {
|
|
36
|
+
request: {
|
|
37
|
+
protocol: "http",
|
|
38
|
+
host: "localhost"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}, this.formio.router));
|
|
42
|
+
const { baseUrl } = this;
|
|
43
|
+
Object.entries(spec.paths).forEach(([path, methods]) => {
|
|
44
|
+
Object.entries(methods).forEach(([method, operation]) => {
|
|
45
|
+
routes.push({
|
|
46
|
+
toJSON() {
|
|
47
|
+
return {
|
|
48
|
+
method,
|
|
49
|
+
name: operation.operationId,
|
|
50
|
+
url: normalizePath(baseUrl, path.replace(/\/{(.*)}/gi, "/:$1")),
|
|
51
|
+
className: "formio",
|
|
52
|
+
methodClassName: operation.operationId,
|
|
53
|
+
parameters: [],
|
|
54
|
+
rawBody: false
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return routes;
|
|
62
|
+
}
|
|
63
|
+
// istanbul ignore next
|
|
64
|
+
async $onReady() {
|
|
65
|
+
if (this.formio.isInit() && this.injector.settings.getBestHost) {
|
|
66
|
+
const { injector } = this;
|
|
67
|
+
const host = injector.settings.getBestHost();
|
|
68
|
+
const url = host.toString();
|
|
69
|
+
injector.logger.info(`Form.io API is available on ${url}${this.baseUrl || "/"}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async shouldInstall() {
|
|
73
|
+
const hasForms = await this.installer.hasForms();
|
|
74
|
+
return this.template && !(hasForms || this.skipInstall);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
__decorate([
|
|
78
|
+
Inject(),
|
|
79
|
+
__metadata("design:type", FormioService)
|
|
80
|
+
], FormioModule.prototype, "formio", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
Inject(),
|
|
83
|
+
__metadata("design:type", FormioHooksService)
|
|
84
|
+
], FormioModule.prototype, "hooks", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
Inject(),
|
|
87
|
+
__metadata("design:type", FormioInstaller)
|
|
88
|
+
], FormioModule.prototype, "installer", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
Inject(),
|
|
91
|
+
__metadata("design:type", PlatformApplication)
|
|
92
|
+
], FormioModule.prototype, "app", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
Inject(),
|
|
95
|
+
__metadata("design:type", InjectorService)
|
|
96
|
+
], FormioModule.prototype, "injector", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
Constant("formio", {}),
|
|
99
|
+
__metadata("design:type", Object)
|
|
100
|
+
], FormioModule.prototype, "settings", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
Constant("formio.baseUrl", "/"),
|
|
103
|
+
__metadata("design:type", String)
|
|
104
|
+
], FormioModule.prototype, "baseUrl", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
Constant("formio.skipInstall", false),
|
|
107
|
+
__metadata("design:type", Boolean)
|
|
108
|
+
], FormioModule.prototype, "skipInstall", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
Constant("formio.template"),
|
|
111
|
+
__metadata("design:type", Object)
|
|
112
|
+
], FormioModule.prototype, "template", void 0);
|
|
113
|
+
__decorate([
|
|
114
|
+
Constant("formio.root"),
|
|
115
|
+
__metadata("design:type", Object)
|
|
116
|
+
], FormioModule.prototype, "root", void 0);
|
|
117
|
+
FormioModule = __decorate([
|
|
118
|
+
Module({
|
|
119
|
+
imports: [
|
|
120
|
+
FormioService,
|
|
121
|
+
FormioHooksService,
|
|
122
|
+
FormioAuthService,
|
|
123
|
+
AlterActions,
|
|
124
|
+
AlterHost,
|
|
125
|
+
AlterAudit,
|
|
126
|
+
AlterLog,
|
|
127
|
+
AlterSkip,
|
|
128
|
+
AlterTemplateImportSteps,
|
|
129
|
+
AlterTemplateExportSteps
|
|
130
|
+
]
|
|
131
|
+
})
|
|
132
|
+
], FormioModule);
|
|
133
|
+
export { FormioModule };
|
|
134
|
+
//# sourceMappingURL=FormioModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormioModule.js","sourceRoot":"","sources":["../../src/FormioModule.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Constant,\n Inject,\n InjectorService,\n normalizePath,\n OnReady,\n OnRoutesInit,\n PlatformApplication,\n PlatformRouteDetails\n} from \"@tsed/common\";\nimport {deepClone} from \"@tsed/core\";\nimport {Module} from \"@tsed/di\";\nimport {AlterActions} from \"./components/AlterActions\";\nimport {AlterAudit} from \"./components/AlterAudit\";\nimport {AlterHost} from \"./components/AlterHost\";\nimport {AlterLog} from \"./components/AlterLog\";\nimport {AlterSkip} from \"./components/AlterSkip\";\nimport {AlterTemplateExportSteps} from \"./components/AlterTemplateExportSteps\";\nimport {AlterTemplateImportSteps} from \"./components/AlterTemplateImportSteps\";\nimport {FormioConfig} from \"./domain/FormioConfig\";\nimport {FormioTemplate} from \"./domain/FormioTemplate\";\nimport {FormioAuthService} from \"./services/FormioAuthService\";\nimport {FormioHooksService} from \"./services/FormioHooksService\";\nimport {FormioInstaller} from \"./services/FormioInstaller\";\nimport {FormioService} from \"./services/FormioService\";\n\n@Module({\n imports: [\n FormioService,\n FormioHooksService,\n FormioAuthService,\n AlterActions,\n AlterHost,\n AlterAudit,\n AlterLog,\n AlterSkip,\n AlterTemplateImportSteps,\n AlterTemplateExportSteps\n ]\n})\nexport class FormioModule implements OnRoutesInit, OnReady {\n @Inject()\n protected formio: FormioService;\n\n @Inject()\n protected hooks: FormioHooksService;\n\n @Inject()\n protected installer: FormioInstaller;\n\n @Inject()\n protected app: PlatformApplication;\n\n @Inject()\n protected injector: InjectorService;\n\n @Constant(\"formio\", {})\n protected settings: FormioConfig;\n\n @Constant(\"formio.baseUrl\", \"/\")\n protected baseUrl: string;\n\n @Constant(\"formio.skipInstall\", false)\n protected skipInstall: boolean;\n\n @Constant(\"formio.template\")\n protected template?: FormioTemplate;\n\n @Constant(\"formio.root\")\n protected root?: any;\n\n $onInit() {\n return this.init(deepClone(this.settings));\n }\n\n async init(options: FormioConfig) {\n return this.formio.init(options, this.hooks.getHooks());\n }\n\n async $onRoutesInit() {\n if (this.formio.isInit()) {\n const router: any = this.app.getRouter();\n\n router.use(this.baseUrl, this.formio.middleware.restrictRequestTypes, this.formio.router);\n\n if (await this.shouldInstall()) {\n await this.installer.install(this.template!, this.root);\n }\n }\n }\n\n async $logRoutes(routes: PlatformRouteDetails[]): Promise<PlatformRouteDetails[]> {\n if (this.formio.isInit()) {\n const spec = (await this.formio.swagger(\n {\n $ctx: {\n request: {\n protocol: \"http\",\n host: \"localhost\"\n }\n }\n },\n this.formio.router\n )) as any;\n const {baseUrl} = this;\n\n Object.entries(spec.paths).forEach(([path, methods]: [string, any]) => {\n Object.entries(methods).forEach(([method, operation]: [string, any]) => {\n routes.push({\n toJSON() {\n return {\n method,\n name: operation.operationId,\n url: normalizePath(baseUrl, path.replace(/\\/{(.*)}/gi, \"/:$1\")),\n className: \"formio\",\n methodClassName: operation.operationId,\n parameters: [],\n rawBody: false\n };\n }\n } as any);\n });\n });\n }\n\n return routes;\n }\n\n // istanbul ignore next\n async $onReady(): Promise<void> {\n if (this.formio.isInit() && this.injector.settings.getBestHost) {\n const {injector} = this;\n const host = injector.settings.getBestHost();\n const url = host.toString();\n\n injector.logger.info(`Form.io API is available on ${url}${this.baseUrl || \"/\"}`);\n }\n }\n\n protected async shouldInstall() {\n const hasForms = await this.installer.hasForms();\n\n return this.template && !(hasForms || this.skipInstall);\n }\n}\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export class FormioMapper {
|
|
2
|
+
constructor(ctxData) {
|
|
3
|
+
this.ctxData = ctxData;
|
|
4
|
+
}
|
|
5
|
+
find(key) {
|
|
6
|
+
const store = Object.values(this.ctxData).find((store) => store.get(key));
|
|
7
|
+
return store === null || store === void 0 ? void 0 : store.get(key);
|
|
8
|
+
}
|
|
9
|
+
findId(data) {
|
|
10
|
+
const key = String(data).startsWith("$machineName:") ? String(data) : `$machineName:${String(data)}`;
|
|
11
|
+
const item = this.find(key);
|
|
12
|
+
return item ? item._id : undefined;
|
|
13
|
+
}
|
|
14
|
+
findMachineName(data) {
|
|
15
|
+
const key = String(data);
|
|
16
|
+
const item = this.find(key);
|
|
17
|
+
return item ? `$machineName:${item.name || item.machineName}` : undefined;
|
|
18
|
+
}
|
|
19
|
+
mapToExport(data) {
|
|
20
|
+
return this.mapData(data, this.findMachineName.bind(this));
|
|
21
|
+
}
|
|
22
|
+
mapToImport(data) {
|
|
23
|
+
return this.mapData(data, this.findId.bind(this));
|
|
24
|
+
}
|
|
25
|
+
mapData(data, resolver) {
|
|
26
|
+
if (!data) {
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
if (Array.isArray(data)) {
|
|
30
|
+
return data.map((item) => {
|
|
31
|
+
return this.mapData(item, resolver);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const key = resolver(data, this.ctxData);
|
|
35
|
+
if (key) {
|
|
36
|
+
return key;
|
|
37
|
+
}
|
|
38
|
+
if (typeof data === "object" && !("_bsontype" in data) && !(data instanceof Date)) {
|
|
39
|
+
const isForm = data.path && data.type;
|
|
40
|
+
const mapped = Object.entries(data).reduce((obj, [key, value]) => {
|
|
41
|
+
return {
|
|
42
|
+
...obj,
|
|
43
|
+
[key]: this.mapData(value, resolver)
|
|
44
|
+
};
|
|
45
|
+
}, {});
|
|
46
|
+
return isForm
|
|
47
|
+
? {
|
|
48
|
+
...mapped,
|
|
49
|
+
name: data.name,
|
|
50
|
+
machineName: data.machineName || data.name
|
|
51
|
+
}
|
|
52
|
+
: mapped;
|
|
53
|
+
}
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=FormioMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormioMapper.js","sourceRoot":"","sources":["../../../src/builder/FormioMapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {FormioCtxMapper} from \"../domain/FormioCtxMapper\";\n\nexport class FormioMapper {\n constructor(readonly ctxData: FormioCtxMapper) {}\n\n find(key: string) {\n const store = Object.values(this.ctxData).find((store) => store.get(key));\n\n return store?.get(key);\n }\n\n findId(data: string) {\n const key = String(data).startsWith(\"$machineName:\") ? String(data) : `$machineName:${String(data)}`;\n const item = this.find(key);\n\n return item ? item._id : undefined;\n }\n\n findMachineName(data: any) {\n const key = String(data);\n const item: any = this.find(key);\n\n return item ? `$machineName:${item.name || item.machineName}` : undefined;\n }\n\n mapToExport(data: any) {\n return this.mapData(data, this.findMachineName.bind(this));\n }\n\n mapToImport(data: any) {\n return this.mapData(data, this.findId.bind(this));\n }\n\n mapData(data: any, resolver: any): any {\n if (!data) {\n return data;\n }\n\n if (Array.isArray(data)) {\n return data.map((item) => {\n return this.mapData(item, resolver);\n });\n }\n\n const key = resolver(data, this.ctxData);\n\n if (key) {\n return key;\n }\n\n if (typeof data === \"object\" && !(\"_bsontype\" in data) && !(data instanceof Date)) {\n const isForm = data.path && data.type;\n const mapped = Object.entries(data).reduce((obj, [key, value]) => {\n return {\n ...obj,\n [key]: this.mapData(value, resolver)\n };\n }, {});\n\n return isForm\n ? {\n ...mapped,\n name: data.name,\n machineName: data.machineName || data.name\n }\n : mapped;\n }\n\n return data;\n }\n}\n"]}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Inject, InjectorService, runInContext } from "@tsed/di";
|
|
3
|
+
import { EndpointMetadata } from "@tsed/schema";
|
|
4
|
+
import { PlatformParams } from "@tsed/platform-params";
|
|
5
|
+
import { PlatformResponseFilter } from "@tsed/platform-response-filter";
|
|
6
|
+
import { AnyToPromise, AnyToPromiseStatus } from "@tsed/core";
|
|
7
|
+
import { setResponseHeaders } from "@tsed/common";
|
|
8
|
+
import { Alter } from "../decorators/alter.js";
|
|
9
|
+
import { FormioService } from "../services/FormioService.js";
|
|
10
|
+
let AlterActions = class AlterActions {
|
|
11
|
+
transform(actions) {
|
|
12
|
+
const { Action } = this.formio;
|
|
13
|
+
return this.getActions().reduce((actions, provider) => {
|
|
14
|
+
var _a;
|
|
15
|
+
const instance = this.injector.invoke(provider.token);
|
|
16
|
+
const options = provider.store.get("formio:action");
|
|
17
|
+
const resolveHandler = this.createHandler(provider, "resolve");
|
|
18
|
+
return {
|
|
19
|
+
...actions,
|
|
20
|
+
[options.name]: (_a = class extends Action {
|
|
21
|
+
static async info(req, res, next) {
|
|
22
|
+
let opts = { ...options };
|
|
23
|
+
if (instance.info) {
|
|
24
|
+
opts = await instance.info(opts, req, res);
|
|
25
|
+
}
|
|
26
|
+
next(null, opts);
|
|
27
|
+
}
|
|
28
|
+
static async settingsForm(req, res, next) {
|
|
29
|
+
next(null, await instance.settingsForm(req, res));
|
|
30
|
+
}
|
|
31
|
+
resolve(handler, method, req, res, next, setActionItemMessage) {
|
|
32
|
+
resolveHandler(this, handler, method, req, res, next, setActionItemMessage);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
_a.access = options.access,
|
|
36
|
+
_a)
|
|
37
|
+
};
|
|
38
|
+
}, actions);
|
|
39
|
+
}
|
|
40
|
+
getActions() {
|
|
41
|
+
return this.injector.getProviders("formio:action");
|
|
42
|
+
}
|
|
43
|
+
createHandler(provider, propertyKey) {
|
|
44
|
+
const promisedHandler = this.params.compileHandler({
|
|
45
|
+
token: provider.token,
|
|
46
|
+
propertyKey
|
|
47
|
+
});
|
|
48
|
+
return async (action, handler, method, req, res, next, setActionItemMessage) => {
|
|
49
|
+
const $ctx = req.$ctx;
|
|
50
|
+
$ctx.set("ACTION_CTX", { handler, method, setActionItemMessage, action });
|
|
51
|
+
$ctx.endpoint = EndpointMetadata.get(provider.useClass, "resolve");
|
|
52
|
+
await runInContext($ctx, async () => {
|
|
53
|
+
try {
|
|
54
|
+
const resolver = new AnyToPromise();
|
|
55
|
+
const handler = await promisedHandler;
|
|
56
|
+
const { state, data, status, headers } = await resolver.call(() => handler({ $ctx }));
|
|
57
|
+
if (state === AnyToPromiseStatus.RESOLVED) {
|
|
58
|
+
if (status) {
|
|
59
|
+
$ctx.response.status(status);
|
|
60
|
+
}
|
|
61
|
+
if (headers) {
|
|
62
|
+
$ctx.response.setHeaders(headers);
|
|
63
|
+
}
|
|
64
|
+
if (data !== undefined) {
|
|
65
|
+
$ctx.data = data;
|
|
66
|
+
return await this.flush($ctx.data, $ctx);
|
|
67
|
+
}
|
|
68
|
+
next();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (er) {
|
|
72
|
+
next(er);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
async flush(data, $ctx) {
|
|
78
|
+
const { response } = $ctx;
|
|
79
|
+
if (!response.isDone()) {
|
|
80
|
+
setResponseHeaders($ctx);
|
|
81
|
+
data = await this.responseFilter.serialize(data, $ctx);
|
|
82
|
+
data = await this.responseFilter.transform(data, $ctx);
|
|
83
|
+
response.body(data);
|
|
84
|
+
}
|
|
85
|
+
return response;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
__decorate([
|
|
89
|
+
Inject(),
|
|
90
|
+
__metadata("design:type", InjectorService)
|
|
91
|
+
], AlterActions.prototype, "injector", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
Inject(),
|
|
94
|
+
__metadata("design:type", FormioService)
|
|
95
|
+
], AlterActions.prototype, "formio", void 0);
|
|
96
|
+
__decorate([
|
|
97
|
+
Inject(),
|
|
98
|
+
__metadata("design:type", PlatformParams)
|
|
99
|
+
], AlterActions.prototype, "params", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
Inject(),
|
|
102
|
+
__metadata("design:type", PlatformResponseFilter)
|
|
103
|
+
], AlterActions.prototype, "responseFilter", void 0);
|
|
104
|
+
AlterActions = __decorate([
|
|
105
|
+
Alter("actions")
|
|
106
|
+
], AlterActions);
|
|
107
|
+
export { AlterActions };
|
|
108
|
+
//# sourceMappingURL=AlterActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlterActions.js","sourceRoot":"","sources":["../../../src/components/AlterActions.ts"],"names":[],"mappings":"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","sourcesContent":["import {Inject, InjectorService, Provider, runInContext} from \"@tsed/di\";\nimport {EndpointMetadata} from \"@tsed/schema\";\nimport {FormioActionInfo} from \"@tsed/formio-types\";\nimport {PlatformParams} from \"@tsed/platform-params\";\nimport {PlatformResponseFilter} from \"@tsed/platform-response-filter\";\nimport {AnyToPromise, AnyToPromiseStatus} from \"@tsed/core\";\nimport {PlatformContext, setResponseHeaders} from \"@tsed/common\";\nimport {Alter} from \"../decorators/alter\";\nimport {AlterHook} from \"../domain/AlterHook\";\nimport {SetActionItemMessage} from \"../domain/FormioAction\";\nimport {FormioActions} from \"../domain/FormioActionsIndex\";\nimport {FormioService} from \"../services/FormioService\";\n\n@Alter(\"actions\")\nexport class AlterActions implements AlterHook {\n @Inject()\n protected injector: InjectorService;\n\n @Inject()\n protected formio: FormioService;\n\n @Inject()\n protected params: PlatformParams;\n\n @Inject()\n protected responseFilter: PlatformResponseFilter;\n\n transform(actions: FormioActions): FormioActions {\n const {Action} = this.formio;\n\n return this.getActions().reduce((actions, provider) => {\n const instance = this.injector.invoke<any>(provider.token);\n const options = provider.store.get<FormioActionInfo>(\"formio:action\");\n const resolveHandler = this.createHandler(provider, \"resolve\");\n\n return {\n ...actions,\n [options.name]: class extends Action {\n static access = options.access;\n\n static async info(req: any, res: any, next: Function) {\n let opts = {...options};\n\n if (instance.info) {\n opts = await instance.info(opts, req, res);\n }\n\n next(null, opts);\n }\n\n static async settingsForm(req: any, res: any, next: Function) {\n next(null, await instance.settingsForm(req, res));\n }\n\n resolve(handler: string, method: string, req: any, res: any, next: Function, setActionItemMessage: SetActionItemMessage): void {\n resolveHandler(this, handler, method, req, res, next, setActionItemMessage);\n }\n }\n };\n }, actions);\n }\n\n protected getActions() {\n return this.injector.getProviders(\"formio:action\");\n }\n\n protected createHandler(provider: Provider, propertyKey: string | symbol) {\n const promisedHandler = this.params.compileHandler({\n token: provider.token,\n propertyKey\n });\n\n return async (\n action: any,\n handler: string,\n method: string,\n req: {$ctx: PlatformContext},\n res: any,\n next: any,\n setActionItemMessage: SetActionItemMessage\n ) => {\n const $ctx = req.$ctx;\n $ctx.set(\"ACTION_CTX\", {handler, method, setActionItemMessage, action});\n $ctx.endpoint = EndpointMetadata.get(provider.useClass, \"resolve\");\n\n await runInContext($ctx, async () => {\n try {\n const resolver = new AnyToPromise();\n const handler = await promisedHandler;\n const {state, data, status, headers} = await resolver.call(() => handler({$ctx}));\n if (state === AnyToPromiseStatus.RESOLVED) {\n if (status) {\n $ctx.response.status(status);\n }\n\n if (headers) {\n $ctx.response.setHeaders(headers);\n }\n\n if (data !== undefined) {\n $ctx.data = data;\n\n return await this.flush($ctx.data, $ctx);\n }\n\n next();\n }\n } catch (er) {\n next(er);\n }\n });\n };\n }\n\n private async flush(data: any, $ctx: PlatformContext) {\n const {response} = $ctx;\n\n if (!response.isDone()) {\n setResponseHeaders($ctx);\n\n data = await this.responseFilter.serialize(data, $ctx);\n data = await this.responseFilter.transform(data, $ctx);\n\n response.body(data);\n }\n\n return response;\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Alter } from "../decorators/alter.js";
|
|
3
|
+
let AlterAudit = class AlterAudit {
|
|
4
|
+
transform(info, event, ctx) {
|
|
5
|
+
ctx.logger.info({ event, info });
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
AlterAudit = __decorate([
|
|
10
|
+
Alter("audit")
|
|
11
|
+
], AlterAudit);
|
|
12
|
+
export { AlterAudit };
|
|
13
|
+
//# sourceMappingURL=AlterAudit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlterAudit.js","sourceRoot":"","sources":["../../../src/components/AlterAudit.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAI1C,IAAa,UAAU,GAAvB,MAAa,UAAU;IACrB,SAAS,CAAC,IAAW,EAAE,KAAa,EAAE,GAAc;QAClD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AALY,UAAU;IADtB,KAAK,CAAC,OAAO,CAAC;GACF,UAAU,CAKtB;SALY,UAAU","sourcesContent":["import {DIContext} from \"@tsed/di\";\nimport {Alter} from \"../decorators/alter\";\nimport {AlterHook} from \"../domain/AlterHook\";\n\n@Alter(\"audit\")\nexport class AlterAudit implements AlterHook {\n transform(info: any[], event: string, ctx: DIContext): boolean {\n ctx.logger.info({event, info});\n return false;\n }\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Alter } from "../decorators/alter.js";
|
|
3
|
+
let AlterHost = class AlterHost {
|
|
4
|
+
transform(baseUrl, ctx) {
|
|
5
|
+
return `${ctx.request.protocol}://${ctx.request.host}${baseUrl}`;
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
AlterHost = __decorate([
|
|
9
|
+
Alter("host")
|
|
10
|
+
], AlterHost);
|
|
11
|
+
export { AlterHost };
|
|
12
|
+
//# sourceMappingURL=AlterHost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlterHost.js","sourceRoot":"","sources":["../../../src/components/AlterHost.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAI1C,IAAa,SAAS,GAAtB,MAAa,SAAS;IACpB,SAAS,CAAC,OAAe,EAAE,GAAoB;QAC7C,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;IACnE,CAAC;CACF,CAAA;AAJY,SAAS;IADrB,KAAK,CAAC,MAAM,CAAC;GACD,SAAS,CAIrB;SAJY,SAAS","sourcesContent":["import {PlatformContext} from \"@tsed/common\";\nimport {Alter} from \"../decorators/alter\";\nimport {AlterHook} from \"../domain/AlterHook\";\n\n@Alter(\"host\")\nexport class AlterHost implements AlterHook<string> {\n transform(baseUrl: string, ctx: PlatformContext) {\n return `${ctx.request.protocol}://${ctx.request.host}${baseUrl}`;\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Alter } from "../decorators/alter.js";
|
|
3
|
+
let AlterLog = class AlterLog {
|
|
4
|
+
transform(event, ctx, ...info) {
|
|
5
|
+
ctx.logger.debug({ event, info });
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
AlterLog = __decorate([
|
|
10
|
+
Alter("log")
|
|
11
|
+
], AlterLog);
|
|
12
|
+
export { AlterLog };
|
|
13
|
+
//# sourceMappingURL=AlterLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlterLog.js","sourceRoot":"","sources":["../../../src/components/AlterLog.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAI1C,IAAa,QAAQ,GAArB,MAAa,QAAQ;IACnB,SAAS,CAAC,KAAa,EAAE,GAAoB,EAAE,GAAG,IAAW;QAC3D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AALY,QAAQ;IADpB,KAAK,CAAC,KAAK,CAAC;GACA,QAAQ,CAKpB;SALY,QAAQ","sourcesContent":["import {PlatformContext} from \"@tsed/common\";\nimport {Alter} from \"../decorators/alter\";\nimport {AlterHook} from \"../domain/AlterHook\";\n\n@Alter(\"log\")\nexport class AlterLog implements AlterHook {\n transform(event: string, ctx: PlatformContext, ...info: any[]): boolean {\n ctx.logger.debug({event, info});\n return false;\n }\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Constant } from "@tsed/common";
|
|
3
|
+
import { normalizePath } from "@tsed/common";
|
|
4
|
+
import { Alter } from "../decorators/alter.js";
|
|
5
|
+
let AlterSkip = class AlterSkip {
|
|
6
|
+
transform(value, ctx) {
|
|
7
|
+
if (value) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
const { request } = ctx;
|
|
11
|
+
const url = request.url.split("?")[0];
|
|
12
|
+
return !!this.whiteList.find((entry) => {
|
|
13
|
+
return normalizePath(this.baseUrl, entry) === url;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
__decorate([
|
|
18
|
+
Constant("formio.baseUrl", "/"),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], AlterSkip.prototype, "baseUrl", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
Constant("formio.whiteList", ["/spec.json"]),
|
|
23
|
+
__metadata("design:type", Array)
|
|
24
|
+
], AlterSkip.prototype, "whiteList", void 0);
|
|
25
|
+
AlterSkip = __decorate([
|
|
26
|
+
Alter("skip")
|
|
27
|
+
], AlterSkip);
|
|
28
|
+
export { AlterSkip };
|
|
29
|
+
//# sourceMappingURL=AlterSkip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlterSkip.js","sourceRoot":"","sources":["../../../src/components/AlterSkip.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAkB,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAI1C,IAAa,SAAS,GAAtB,MAAa,SAAS;IAOpB,SAAS,CAAC,KAAU,EAAE,GAAoB;QACxC,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAC,OAAO,EAAC,GAAG,GAAG,CAAC;QACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjBC;IADC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC;;0CAChB;AAGhB;IADC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,YAAY,CAAC,CAAC;;4CACzB;AALT,SAAS;IADrB,KAAK,CAAC,MAAM,CAAC;GACD,SAAS,CAmBrB;SAnBY,SAAS","sourcesContent":["import {Constant, PlatformContext} from \"@tsed/common\";\nimport {normalizePath} from \"@tsed/common\";\nimport {Alter} from \"../decorators/alter\";\nimport {AlterHook} from \"../domain/AlterHook\";\n\n@Alter(\"skip\")\nexport class AlterSkip implements AlterHook {\n @Constant(\"formio.baseUrl\", \"/\")\n baseUrl: string;\n\n @Constant(\"formio.whiteList\", [\"/spec.json\"])\n whiteList: string[];\n\n transform(value: any, ctx: PlatformContext): any {\n if (value) {\n return true;\n }\n\n const {request} = ctx;\n const url = request.url.split(\"?\")[0];\n\n return !!this.whiteList.find((entry) => {\n return normalizePath(this.baseUrl, entry) === url;\n });\n }\n}\n"]}
|