@paroicms/server 0.146.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/README.md +3 -0
- package/ddl/main.ddl.sql +84 -0
- package/dist/backup/site/archiver.helper.d.ts +12 -0
- package/dist/backup/site/archiver.helper.js +46 -0
- package/dist/backup/site/archiver.helper.js.map +1 -0
- package/dist/backup/site/backup.d.ts +5 -0
- package/dist/backup/site/backup.js +118 -0
- package/dist/backup/site/backup.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +5 -0
- package/dist/cli.js.map +1 -0
- package/dist/common/child-ordering-query.d.ts +13 -0
- package/dist/common/child-ordering-query.js +107 -0
- package/dist/common/child-ordering-query.js.map +1 -0
- package/dist/common/data-format.d.ts +19 -0
- package/dist/common/data-format.js +86 -0
- package/dist/common/data-format.js.map +1 -0
- package/dist/common/mail/html-helpers.d.ts +7 -0
- package/dist/common/mail/html-helpers.js +46 -0
- package/dist/common/mail/html-helpers.js.map +1 -0
- package/dist/common/mail/sendMail.helpers.d.ts +14 -0
- package/dist/common/mail/sendMail.helpers.js +51 -0
- package/dist/common/mail/sendMail.helpers.js.map +1 -0
- package/dist/common/media-handles.helpers.d.ts +19 -0
- package/dist/common/media-handles.helpers.js +52 -0
- package/dist/common/media-handles.helpers.js.map +1 -0
- package/dist/common/serve-html-or.d.ts +16 -0
- package/dist/common/serve-html-or.js +72 -0
- package/dist/common/serve-html-or.js.map +1 -0
- package/dist/common/text-cache.d.ts +57 -0
- package/dist/common/text-cache.js +87 -0
- package/dist/common/text-cache.js.map +1 -0
- package/dist/common/tracker-report.d.ts +2 -0
- package/dist/common/tracker-report.js +27 -0
- package/dist/common/tracker-report.js.map +1 -0
- package/dist/context.d.ts +29 -0
- package/dist/context.js +60 -0
- package/dist/context.js.map +1 -0
- package/dist/express/http-helpers.d.ts +16 -0
- package/dist/express/http-helpers.js +44 -0
- package/dist/express/http-helpers.js.map +1 -0
- package/dist/express/static-middlewares.d.ts +3 -0
- package/dist/express/static-middlewares.js +114 -0
- package/dist/express/static-middlewares.js.map +1 -0
- package/dist/helpers/configuration.helpers.d.ts +2 -0
- package/dist/helpers/configuration.helpers.js +8 -0
- package/dist/helpers/configuration.helpers.js.map +1 -0
- package/dist/helpers/excerpt.helpers.d.ts +2 -0
- package/dist/helpers/excerpt.helpers.js +31 -0
- package/dist/helpers/excerpt.helpers.js.map +1 -0
- package/dist/helpers/excerpt.helpers.spec.d.ts +1 -0
- package/dist/helpers/excerpt.helpers.spec.js +133 -0
- package/dist/helpers/excerpt.helpers.spec.js.map +1 -0
- package/dist/helpers/jwt-secret.helpers.d.ts +2 -0
- package/dist/helpers/jwt-secret.helpers.js +30 -0
- package/dist/helpers/jwt-secret.helpers.js.map +1 -0
- package/dist/helpers/label-translator.helper.d.ts +9 -0
- package/dist/helpers/label-translator.helper.js +14 -0
- package/dist/helpers/label-translator.helper.js.map +1 -0
- package/dist/helpers/passwordEncrypt-helper.d.ts +2 -0
- package/dist/helpers/passwordEncrypt-helper.js +37 -0
- package/dist/helpers/passwordEncrypt-helper.js.map +1 -0
- package/dist/helpers/relative-id-helper.d.ts +10 -0
- package/dist/helpers/relative-id-helper.js +37 -0
- package/dist/helpers/relative-id-helper.js.map +1 -0
- package/dist/helpers/search-text-helper.d.ts +7 -0
- package/dist/helpers/search-text-helper.js +27 -0
- package/dist/helpers/search-text-helper.js.map +1 -0
- package/dist/helpers/simple-i18n.d.ts +14 -0
- package/dist/helpers/simple-i18n.js +82 -0
- package/dist/helpers/simple-i18n.js.map +1 -0
- package/dist/helpers/special-account.helpers.d.ts +9 -0
- package/dist/helpers/special-account.helpers.js +43 -0
- package/dist/helpers/special-account.helpers.js.map +1 -0
- package/dist/helpers/url.helpers.d.ts +2 -0
- package/dist/helpers/url.helpers.js +12 -0
- package/dist/helpers/url.helpers.js.map +1 -0
- package/dist/helpers/utils-helper.d.ts +4 -0
- package/dist/helpers/utils-helper.js +32 -0
- package/dist/helpers/utils-helper.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -0
- package/dist/maintenance/maintenance-task.d.ts +4 -0
- package/dist/maintenance/maintenance-task.js +27 -0
- package/dist/maintenance/maintenance-task.js.map +1 -0
- package/dist/maintenance/shutdown.d.ts +7 -0
- package/dist/maintenance/shutdown.js +51 -0
- package/dist/maintenance/shutdown.js.map +1 -0
- package/dist/modules/app.controller.d.ts +5 -0
- package/dist/modules/app.controller.js +89 -0
- package/dist/modules/app.controller.js.map +1 -0
- package/dist/modules/app.module.d.ts +2 -0
- package/dist/modules/app.module.js +48 -0
- package/dist/modules/app.module.js.map +1 -0
- package/dist/modules/core/account/account.model.d.ts +18 -0
- package/dist/modules/core/account/account.model.js +59 -0
- package/dist/modules/core/account/account.model.js.map +1 -0
- package/dist/modules/core/account/account.module.d.ts +2 -0
- package/dist/modules/core/account/account.module.js +20 -0
- package/dist/modules/core/account/account.module.js.map +1 -0
- package/dist/modules/core/account/account.queries.d.ts +18 -0
- package/dist/modules/core/account/account.queries.js +150 -0
- package/dist/modules/core/account/account.queries.js.map +1 -0
- package/dist/modules/core/account/account.resolver.d.ts +11 -0
- package/dist/modules/core/account/account.resolver.js +107 -0
- package/dist/modules/core/account/account.resolver.js.map +1 -0
- package/dist/modules/core/account/account.schema.d.ts +24 -0
- package/dist/modules/core/account/account.schema.js +114 -0
- package/dist/modules/core/account/account.schema.js.map +1 -0
- package/dist/modules/core/account-auth/account-auth.controller.d.ts +5 -0
- package/dist/modules/core/account-auth/account-auth.controller.js +46 -0
- package/dist/modules/core/account-auth/account-auth.controller.js.map +1 -0
- package/dist/modules/core/account-auth/account-auth.module.d.ts +2 -0
- package/dist/modules/core/account-auth/account-auth.module.js +24 -0
- package/dist/modules/core/account-auth/account-auth.module.js.map +1 -0
- package/dist/modules/core/account-auth/account-auth.service.d.ts +5 -0
- package/dist/modules/core/account-auth/account-auth.service.js +41 -0
- package/dist/modules/core/account-auth/account-auth.service.js.map +1 -0
- package/dist/modules/core/account-auth/account-auth.strategy.d.ts +10 -0
- package/dist/modules/core/account-auth/account-auth.strategy.js +49 -0
- package/dist/modules/core/account-auth/account-auth.strategy.js.map +1 -0
- package/dist/modules/core/auth/auth.module.d.ts +2 -0
- package/dist/modules/core/auth/auth.module.js +35 -0
- package/dist/modules/core/auth/auth.module.js.map +1 -0
- package/dist/modules/core/auth/auth.service.d.ts +11 -0
- package/dist/modules/core/auth/auth.service.js +164 -0
- package/dist/modules/core/auth/auth.service.js.map +1 -0
- package/dist/modules/core/auth/auth.types.d.ts +27 -0
- package/dist/modules/core/auth/auth.types.js +3 -0
- package/dist/modules/core/auth/auth.types.js.map +1 -0
- package/dist/modules/core/auth/jwt.auth.guard.d.ts +6 -0
- package/dist/modules/core/auth/jwt.auth.guard.js +23 -0
- package/dist/modules/core/auth/jwt.auth.guard.js.map +1 -0
- package/dist/modules/core/auth/jwt.strategy.d.ts +10 -0
- package/dist/modules/core/auth/jwt.strategy.js +35 -0
- package/dist/modules/core/auth/jwt.strategy.js.map +1 -0
- package/dist/modules/core/backup/backup.controller.d.ts +7 -0
- package/dist/modules/core/backup/backup.controller.js +61 -0
- package/dist/modules/core/backup/backup.controller.js.map +1 -0
- package/dist/modules/core/backup/backup.module.d.ts +2 -0
- package/dist/modules/core/backup/backup.module.js +22 -0
- package/dist/modules/core/backup/backup.module.js.map +1 -0
- package/dist/modules/core/backup/backup.resolver.d.ts +8 -0
- package/dist/modules/core/backup/backup.resolver.js +54 -0
- package/dist/modules/core/backup/backup.resolver.js.map +1 -0
- package/dist/modules/core/backup/backup.shema.d.ts +4 -0
- package/dist/modules/core/backup/backup.shema.js +30 -0
- package/dist/modules/core/backup/backup.shema.js.map +1 -0
- package/dist/modules/core/core.module.d.ts +2 -0
- package/dist/modules/core/core.module.js +50 -0
- package/dist/modules/core/core.module.js.map +1 -0
- package/dist/modules/core/document/document.helper.d.ts +2 -0
- package/dist/modules/core/document/document.helper.js +10 -0
- package/dist/modules/core/document/document.helper.js.map +1 -0
- package/dist/modules/core/document/document.model.d.ts +9 -0
- package/dist/modules/core/document/document.model.js +59 -0
- package/dist/modules/core/document/document.model.js.map +1 -0
- package/dist/modules/core/document/document.module.d.ts +2 -0
- package/dist/modules/core/document/document.module.js +25 -0
- package/dist/modules/core/document/document.module.js.map +1 -0
- package/dist/modules/core/document/document.resolver.d.ts +12 -0
- package/dist/modules/core/document/document.resolver.extend.d.ts +10 -0
- package/dist/modules/core/document/document.resolver.extend.js +69 -0
- package/dist/modules/core/document/document.resolver.extend.js.map +1 -0
- package/dist/modules/core/document/document.resolver.js +154 -0
- package/dist/modules/core/document/document.resolver.js.map +1 -0
- package/dist/modules/core/document/document.schema.d.ts +39 -0
- package/dist/modules/core/document/document.schema.js +181 -0
- package/dist/modules/core/document/document.schema.js.map +1 -0
- package/dist/modules/core/document/load-documents.queries.d.ts +17 -0
- package/dist/modules/core/document/load-documents.queries.js +119 -0
- package/dist/modules/core/document/load-documents.queries.js.map +1 -0
- package/dist/modules/core/document/save-documents.queries.d.ts +18 -0
- package/dist/modules/core/document/save-documents.queries.js +199 -0
- package/dist/modules/core/document/save-documents.queries.js.map +1 -0
- package/dist/modules/core/document/search-document-item.resolver.d.ts +7 -0
- package/dist/modules/core/document/search-document-item.resolver.js +58 -0
- package/dist/modules/core/document/search-document-item.resolver.js.map +1 -0
- package/dist/modules/core/fields/_fields.helpers.d.ts +2 -0
- package/dist/modules/core/fields/_fields.helpers.js +12 -0
- package/dist/modules/core/fields/_fields.helpers.js.map +1 -0
- package/dist/modules/core/fields/fields.model.d.ts +17 -0
- package/dist/modules/core/fields/fields.model.js +99 -0
- package/dist/modules/core/fields/fields.model.js.map +1 -0
- package/dist/modules/core/fields/fields.module.d.ts +2 -0
- package/dist/modules/core/fields/fields.module.js +20 -0
- package/dist/modules/core/fields/fields.module.js.map +1 -0
- package/dist/modules/core/fields/fields.resolver.d.ts +14 -0
- package/dist/modules/core/fields/fields.resolver.js +165 -0
- package/dist/modules/core/fields/fields.resolver.js.map +1 -0
- package/dist/modules/core/fields/load-fields.queries.d.ts +20 -0
- package/dist/modules/core/fields/load-fields.queries.js +233 -0
- package/dist/modules/core/fields/load-fields.queries.js.map +1 -0
- package/dist/modules/core/fields/quill-delta.d.ts +1 -0
- package/dist/modules/core/fields/quill-delta.js +40 -0
- package/dist/modules/core/fields/quill-delta.js.map +1 -0
- package/dist/modules/core/fields/save-fields.queries.d.ts +9 -0
- package/dist/modules/core/fields/save-fields.queries.js +135 -0
- package/dist/modules/core/fields/save-fields.queries.js.map +1 -0
- package/dist/modules/core/leaf/leaf.model.d.ts +9 -0
- package/dist/modules/core/leaf/leaf.model.js +61 -0
- package/dist/modules/core/leaf/leaf.model.js.map +1 -0
- package/dist/modules/core/leaf/leaf.module.d.ts +2 -0
- package/dist/modules/core/leaf/leaf.module.js +21 -0
- package/dist/modules/core/leaf/leaf.module.js.map +1 -0
- package/dist/modules/core/leaf/leaf.queries.d.ts +21 -0
- package/dist/modules/core/leaf/leaf.queries.js +143 -0
- package/dist/modules/core/leaf/leaf.queries.js.map +1 -0
- package/dist/modules/core/leaf/leaf.resolver.d.ts +9 -0
- package/dist/modules/core/leaf/leaf.resolver.extend.d.ts +6 -0
- package/dist/modules/core/leaf/leaf.resolver.extend.js +42 -0
- package/dist/modules/core/leaf/leaf.resolver.extend.js.map +1 -0
- package/dist/modules/core/leaf/leaf.resolver.js +84 -0
- package/dist/modules/core/leaf/leaf.resolver.js.map +1 -0
- package/dist/modules/core/leaf/leaf.schema.d.ts +7 -0
- package/dist/modules/core/leaf/leaf.schema.js +45 -0
- package/dist/modules/core/leaf/leaf.schema.js.map +1 -0
- package/dist/modules/core/leaf-item/leaf-item.model.d.ts +6 -0
- package/dist/modules/core/leaf-item/leaf-item.model.js +44 -0
- package/dist/modules/core/leaf-item/leaf-item.model.js.map +1 -0
- package/dist/modules/core/leaf-item/leaf-item.queries.d.ts +9 -0
- package/dist/modules/core/leaf-item/leaf-item.queries.js +120 -0
- package/dist/modules/core/leaf-item/leaf-item.queries.js.map +1 -0
- package/dist/modules/core/login/login.controller.d.ts +8 -0
- package/dist/modules/core/login/login.controller.js +54 -0
- package/dist/modules/core/login/login.controller.js.map +1 -0
- package/dist/modules/core/login/login.module.d.ts +2 -0
- package/dist/modules/core/login/login.module.js +22 -0
- package/dist/modules/core/login/login.module.js.map +1 -0
- package/dist/modules/core/media/media-upload.controller.d.ts +21 -0
- package/dist/modules/core/media/media-upload.controller.js +160 -0
- package/dist/modules/core/media/media-upload.controller.js.map +1 -0
- package/dist/modules/core/media/media.d.ts +22 -0
- package/dist/modules/core/media/media.js +53 -0
- package/dist/modules/core/media/media.js.map +1 -0
- package/dist/modules/core/media/media.module.d.ts +2 -0
- package/dist/modules/core/media/media.module.js +22 -0
- package/dist/modules/core/media/media.module.js.map +1 -0
- package/dist/modules/core/media/media.resolver.d.ts +14 -0
- package/dist/modules/core/media/media.resolver.js +199 -0
- package/dist/modules/core/media/media.resolver.js.map +1 -0
- package/dist/modules/core/media/media.schema.d.ts +30 -0
- package/dist/modules/core/media/media.schema.js +144 -0
- package/dist/modules/core/media/media.schema.js.map +1 -0
- package/dist/modules/core/part/part.model.d.ts +6 -0
- package/dist/modules/core/part/part.model.js +44 -0
- package/dist/modules/core/part/part.model.js.map +1 -0
- package/dist/modules/core/part/part.module.d.ts +2 -0
- package/dist/modules/core/part/part.module.js +21 -0
- package/dist/modules/core/part/part.module.js.map +1 -0
- package/dist/modules/core/part/part.queries.d.ts +22 -0
- package/dist/modules/core/part/part.queries.js +167 -0
- package/dist/modules/core/part/part.queries.js.map +1 -0
- package/dist/modules/core/part/part.resolver.d.ts +14 -0
- package/dist/modules/core/part/part.resolver.extend.d.ts +5 -0
- package/dist/modules/core/part/part.resolver.extend.js +49 -0
- package/dist/modules/core/part/part.resolver.extend.js.map +1 -0
- package/dist/modules/core/part/part.resolver.js +135 -0
- package/dist/modules/core/part/part.resolver.js.map +1 -0
- package/dist/modules/core/part/part.schema.d.ts +12 -0
- package/dist/modules/core/part/part.schema.js +66 -0
- package/dist/modules/core/part/part.schema.js.map +1 -0
- package/dist/modules/core/section/section-wrap.resolver.d.ts +11 -0
- package/dist/modules/core/section/section-wrap.resolver.js +168 -0
- package/dist/modules/core/section/section-wrap.resolver.js.map +1 -0
- package/dist/modules/core/section/section.model.d.ts +6 -0
- package/dist/modules/core/section/section.model.js +44 -0
- package/dist/modules/core/section/section.model.js.map +1 -0
- package/dist/modules/core/section/section.module.d.ts +2 -0
- package/dist/modules/core/section/section.module.js +21 -0
- package/dist/modules/core/section/section.module.js.map +1 -0
- package/dist/modules/core/section/section.queries.d.ts +51 -0
- package/dist/modules/core/section/section.queries.js +228 -0
- package/dist/modules/core/section/section.queries.js.map +1 -0
- package/dist/modules/core/section/section.resolver.d.ts +7 -0
- package/dist/modules/core/section/section.resolver.js +78 -0
- package/dist/modules/core/section/section.resolver.js.map +1 -0
- package/dist/modules/core/section/section.schema.d.ts +27 -0
- package/dist/modules/core/section/section.schema.js +129 -0
- package/dist/modules/core/section/section.schema.js.map +1 -0
- package/dist/modules/core/site-fields/site-fields.model.d.ts +4 -0
- package/dist/modules/core/site-fields/site-fields.model.js +30 -0
- package/dist/modules/core/site-fields/site-fields.model.js.map +1 -0
- package/dist/modules/core/site-fields/site-fields.module.d.ts +2 -0
- package/dist/modules/core/site-fields/site-fields.module.js +20 -0
- package/dist/modules/core/site-fields/site-fields.module.js.map +1 -0
- package/dist/modules/core/site-fields/site-fields.queries.d.ts +9 -0
- package/dist/modules/core/site-fields/site-fields.queries.js +123 -0
- package/dist/modules/core/site-fields/site-fields.queries.js.map +1 -0
- package/dist/modules/core/site-fields/site-fields.resolver.d.ts +5 -0
- package/dist/modules/core/site-fields/site-fields.resolver.js +56 -0
- package/dist/modules/core/site-fields/site-fields.resolver.js.map +1 -0
- package/dist/modules/core/site-info/site-info.module.d.ts +2 -0
- package/dist/modules/core/site-info/site-info.module.js +20 -0
- package/dist/modules/core/site-info/site-info.module.js.map +1 -0
- package/dist/modules/core/site-info/site-info.resolver.d.ts +5 -0
- package/dist/modules/core/site-info/site-info.resolver.js +44 -0
- package/dist/modules/core/site-info/site-info.resolver.js.map +1 -0
- package/dist/modules/core/site-info/site-info.schema.d.ts +6 -0
- package/dist/modules/core/site-info/site-info.schema.js +36 -0
- package/dist/modules/core/site-info/site-info.schema.js.map +1 -0
- package/dist/modules/core/site-schema/site-schema.module.d.ts +2 -0
- package/dist/modules/core/site-schema/site-schema.module.js +20 -0
- package/dist/modules/core/site-schema/site-schema.module.js.map +1 -0
- package/dist/modules/core/site-schema/site-schema.resolver.d.ts +4 -0
- package/dist/modules/core/site-schema/site-schema.resolver.js +35 -0
- package/dist/modules/core/site-schema/site-schema.resolver.js.map +1 -0
- package/dist/modules/core/term-flag/term-flag.model.d.ts +6 -0
- package/dist/modules/core/term-flag/term-flag.model.js +45 -0
- package/dist/modules/core/term-flag/term-flag.model.js.map +1 -0
- package/dist/modules/core/term-flag/term-flag.module.d.ts +2 -0
- package/dist/modules/core/term-flag/term-flag.module.js +20 -0
- package/dist/modules/core/term-flag/term-flag.module.js.map +1 -0
- package/dist/modules/core/term-flag/term-flag.queries.d.ts +7 -0
- package/dist/modules/core/term-flag/term-flag.queries.js +44 -0
- package/dist/modules/core/term-flag/term-flag.queries.js.map +1 -0
- package/dist/modules/core/term-flag/term-flag.resolver.d.ts +5 -0
- package/dist/modules/core/term-flag/term-flag.resolver.js +47 -0
- package/dist/modules/core/term-flag/term-flag.resolver.js.map +1 -0
- package/dist/modules/core/term-flag/term-flag.schema.d.ts +9 -0
- package/dist/modules/core/term-flag/term-flag.schema.js +51 -0
- package/dist/modules/core/term-flag/term-flag.schema.js.map +1 -0
- package/dist/modules/core/term-flag/term-flag.service.d.ts +9 -0
- package/dist/modules/core/term-flag/term-flag.service.js +50 -0
- package/dist/modules/core/term-flag/term-flag.service.js.map +1 -0
- package/dist/modules/core/unprotected/unprotected.module.d.ts +2 -0
- package/dist/modules/core/unprotected/unprotected.module.js +20 -0
- package/dist/modules/core/unprotected/unprotected.module.js.map +1 -0
- package/dist/modules/core/unprotected/unprotected.resolver.d.ts +8 -0
- package/dist/modules/core/unprotected/unprotected.resolver.js +106 -0
- package/dist/modules/core/unprotected/unprotected.resolver.js.map +1 -0
- package/dist/modules/core/unprotected/unprotected.schema.d.ts +19 -0
- package/dist/modules/core/unprotected/unprotected.schema.js +93 -0
- package/dist/modules/core/unprotected/unprotected.schema.js.map +1 -0
- package/dist/modules/graphql.types.d.ts +6 -0
- package/dist/modules/graphql.types.js +3 -0
- package/dist/modules/graphql.types.js.map +1 -0
- package/dist/modules/private-api.module.d.ts +2 -0
- package/dist/modules/private-api.module.js +50 -0
- package/dist/modules/private-api.module.js.map +1 -0
- package/dist/modules/public-api/class-validator-options.d.ts +7 -0
- package/dist/modules/public-api/class-validator-options.js +11 -0
- package/dist/modules/public-api/class-validator-options.js.map +1 -0
- package/dist/modules/public-api/mail/contact-form-mail.d.ts +8 -0
- package/dist/modules/public-api/mail/contact-form-mail.js +96 -0
- package/dist/modules/public-api/mail/contact-form-mail.js.map +1 -0
- package/dist/modules/public-api/mail/mail.dto.d.ts +8 -0
- package/dist/modules/public-api/mail/mail.dto.js +56 -0
- package/dist/modules/public-api/mail/mail.dto.js.map +1 -0
- package/dist/modules/public-api/partials/partials-params.dto.d.ts +6 -0
- package/dist/modules/public-api/partials/partials-params.dto.js +45 -0
- package/dist/modules/public-api/partials/partials-params.dto.js.map +1 -0
- package/dist/modules/public-api/password-reset/password-reset.controller.d.ts +11 -0
- package/dist/modules/public-api/password-reset/password-reset.controller.js +59 -0
- package/dist/modules/public-api/password-reset/password-reset.controller.js.map +1 -0
- package/dist/modules/public-api/password-reset/password-reset.dto.d.ts +9 -0
- package/dist/modules/public-api/password-reset/password-reset.dto.js +55 -0
- package/dist/modules/public-api/password-reset/password-reset.dto.js.map +1 -0
- package/dist/modules/public-api/password-reset/password-reset.module.d.ts +2 -0
- package/dist/modules/public-api/password-reset/password-reset.module.js +22 -0
- package/dist/modules/public-api/password-reset/password-reset.module.js.map +1 -0
- package/dist/modules/public-api/password-reset/password-reset.service.d.ts +14 -0
- package/dist/modules/public-api/password-reset/password-reset.service.js +56 -0
- package/dist/modules/public-api/password-reset/password-reset.service.js.map +1 -0
- package/dist/modules/public-api/public-api-controller.d.ts +32 -0
- package/dist/modules/public-api/public-api-controller.js +198 -0
- package/dist/modules/public-api/public-api-controller.js.map +1 -0
- package/dist/modules/public-api/public-api.module.d.ts +2 -0
- package/dist/modules/public-api/public-api.module.js +22 -0
- package/dist/modules/public-api/public-api.module.js.map +1 -0
- package/dist/modules/public-api/search-text/search-text.dto.d.ts +7 -0
- package/dist/modules/public-api/search-text/search-text.dto.js +50 -0
- package/dist/modules/public-api/search-text/search-text.dto.js.map +1 -0
- package/dist/modules/public-api/search-text/search-text.queries.d.ts +14 -0
- package/dist/modules/public-api/search-text/search-text.queries.js +58 -0
- package/dist/modules/public-api/search-text/search-text.queries.js.map +1 -0
- package/dist/modules/public-site/app-exception-filter.d.ts +4 -0
- package/dist/modules/public-site/app-exception-filter.js +41 -0
- package/dist/modules/public-site/app-exception-filter.js.map +1 -0
- package/dist/modules/public-site/google-auth.controller.d.ts +10 -0
- package/dist/modules/public-site/google-auth.controller.js +127 -0
- package/dist/modules/public-site/google-auth.controller.js.map +1 -0
- package/dist/modules/public-site/helpers/format-date.helper.d.ts +3 -0
- package/dist/modules/public-site/helpers/format-date.helper.js +35 -0
- package/dist/modules/public-site/helpers/format-date.helper.js.map +1 -0
- package/dist/modules/public-site/helpers/format-date.helper.spec.d.ts +1 -0
- package/dist/modules/public-site/helpers/format-date.helper.spec.js +37 -0
- package/dist/modules/public-site/helpers/format-date.helper.spec.js.map +1 -0
- package/dist/modules/public-site/helpers/medias.helpers.d.ts +3 -0
- package/dist/modules/public-site/helpers/medias.helpers.js +16 -0
- package/dist/modules/public-site/helpers/medias.helpers.js.map +1 -0
- package/dist/modules/public-site/helpers/obfuscate.helper.d.ts +2 -0
- package/dist/modules/public-site/helpers/obfuscate.helper.js +27 -0
- package/dist/modules/public-site/helpers/obfuscate.helper.js.map +1 -0
- package/dist/modules/public-site/helpers/public-field-values.d.ts +10 -0
- package/dist/modules/public-site/helpers/public-field-values.js +76 -0
- package/dist/modules/public-site/helpers/public-field-values.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/format-date.d.ts +2 -0
- package/dist/modules/public-site/liquidjs-filters/format-date.js +14 -0
- package/dist/modules/public-site/liquidjs-filters/format-date.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/format-number.d.ts +2 -0
- package/dist/modules/public-site/liquidjs-filters/format-number.js +18 -0
- package/dist/modules/public-site/liquidjs-filters/format-number.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/info-filter.d.ts +2 -0
- package/dist/modules/public-site/liquidjs-filters/info-filter.js +144 -0
- package/dist/modules/public-site/liquidjs-filters/info-filter.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/inject-facebook-chat.d.ts +2 -0
- package/dist/modules/public-site/liquidjs-filters/inject-facebook-chat.js +38 -0
- package/dist/modules/public-site/liquidjs-filters/inject-facebook-chat.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/inject-menu-items-data.d.ts +3 -0
- package/dist/modules/public-site/liquidjs-filters/inject-menu-items-data.js +21 -0
- package/dist/modules/public-site/liquidjs-filters/inject-menu-items-data.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/make-excerpt.d.ts +2 -0
- package/dist/modules/public-site/liquidjs-filters/make-excerpt.js +10 -0
- package/dist/modules/public-site/liquidjs-filters/make-excerpt.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/obfuscate.d.ts +3 -0
- package/dist/modules/public-site/liquidjs-filters/obfuscate.js +15 -0
- package/dist/modules/public-site/liquidjs-filters/obfuscate.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/open-graph-filter.d.ts +4 -0
- package/dist/modules/public-site/liquidjs-filters/open-graph-filter.js +39 -0
- package/dist/modules/public-site/liquidjs-filters/open-graph-filter.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/translate-filter.1.d.ts +3 -0
- package/dist/modules/public-site/liquidjs-filters/translate-filter.1.js +12 -0
- package/dist/modules/public-site/liquidjs-filters/translate-filter.1.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/translate-filter.d.ts +3 -0
- package/dist/modules/public-site/liquidjs-filters/translate-filter.js +12 -0
- package/dist/modules/public-site/liquidjs-filters/translate-filter.js.map +1 -0
- package/dist/modules/public-site/liquidjs-rendering/render-clone/collection.d.ts +1 -0
- package/dist/modules/public-site/liquidjs-rendering/render-clone/collection.js +18 -0
- package/dist/modules/public-site/liquidjs-rendering/render-clone/collection.js.map +1 -0
- package/dist/modules/public-site/liquidjs-rendering/render-clone/forloop-drop.d.ts +15 -0
- package/dist/modules/public-site/liquidjs-rendering/render-clone/forloop-drop.js +40 -0
- package/dist/modules/public-site/liquidjs-rendering/render-clone/forloop-drop.js.map +1 -0
- package/dist/modules/public-site/liquidjs-rendering/render-clone/render.d.ts +13 -0
- package/dist/modules/public-site/liquidjs-rendering/render-clone/render.js +108 -0
- package/dist/modules/public-site/liquidjs-rendering/render-clone/render.js.map +1 -0
- package/dist/modules/public-site/liquidjs-rendering/render-liquidjs.d.ts +6 -0
- package/dist/modules/public-site/liquidjs-rendering/render-liquidjs.js +40 -0
- package/dist/modules/public-site/liquidjs-rendering/render-liquidjs.js.map +1 -0
- package/dist/modules/public-site/liquidjs-rendering/rendering-context.d.ts +27 -0
- package/dist/modules/public-site/liquidjs-rendering/rendering-context.js +46 -0
- package/dist/modules/public-site/liquidjs-rendering/rendering-context.js.map +1 -0
- package/dist/modules/public-site/liquidjs-tags/get-breadcrumb-liquidjs-tag.d.ts +13 -0
- package/dist/modules/public-site/liquidjs-tags/get-breadcrumb-liquidjs-tag.js +49 -0
- package/dist/modules/public-site/liquidjs-tags/get-breadcrumb-liquidjs-tag.js.map +1 -0
- package/dist/modules/public-site/liquidjs-tags/get-page-tag.d.ts +13 -0
- package/dist/modules/public-site/liquidjs-tags/get-page-tag.js +68 -0
- package/dist/modules/public-site/liquidjs-tags/get-page-tag.js.map +1 -0
- package/dist/modules/public-site/liquidjs-tags/get-pages-tag.d.ts +13 -0
- package/dist/modules/public-site/liquidjs-tags/get-pages-tag.js +94 -0
- package/dist/modules/public-site/liquidjs-tags/get-pages-tag.js.map +1 -0
- package/dist/modules/public-site/liquidjs-tags/get-siblings-liquidjs-tag.d.ts +13 -0
- package/dist/modules/public-site/liquidjs-tags/get-siblings-liquidjs-tag.js +61 -0
- package/dist/modules/public-site/liquidjs-tags/get-siblings-liquidjs-tag.js.map +1 -0
- package/dist/modules/public-site/liquidjs-tags/use-image-tag.d.ts +13 -0
- package/dist/modules/public-site/liquidjs-tags/use-image-tag.js +53 -0
- package/dist/modules/public-site/liquidjs-tags/use-image-tag.js.map +1 -0
- package/dist/modules/public-site/media-serve/_media-serve-helpers.d.ts +11 -0
- package/dist/modules/public-site/media-serve/_media-serve-helpers.js +26 -0
- package/dist/modules/public-site/media-serve/_media-serve-helpers.js.map +1 -0
- package/dist/modules/public-site/media-serve/media-serve.controller.d.ts +4 -0
- package/dist/modules/public-site/media-serve/media-serve.controller.js +140 -0
- package/dist/modules/public-site/media-serve/media-serve.controller.js.map +1 -0
- package/dist/modules/public-site/media-serve/media-serve.module.d.ts +2 -0
- package/dist/modules/public-site/media-serve/media-serve.module.js +20 -0
- package/dist/modules/public-site/media-serve/media-serve.module.js.map +1 -0
- package/dist/modules/public-site/oauth2-client.controller.d.ts +10 -0
- package/dist/modules/public-site/oauth2-client.controller.js +144 -0
- package/dist/modules/public-site/oauth2-client.controller.js.map +1 -0
- package/dist/modules/public-site/public-route/make-url.d.ts +11 -0
- package/dist/modules/public-site/public-route/make-url.js +150 -0
- package/dist/modules/public-site/public-route/make-url.js.map +1 -0
- package/dist/modules/public-site/public-route/public-route-parser.d.ts +16 -0
- package/dist/modules/public-site/public-route/public-route-parser.js +154 -0
- package/dist/modules/public-site/public-route/public-route-parser.js.map +1 -0
- package/dist/modules/public-site/public-route/raw-document-payload.d.ts +8 -0
- package/dist/modules/public-site/public-route/raw-document-payload.js +86 -0
- package/dist/modules/public-site/public-route/raw-document-payload.js.map +1 -0
- package/dist/modules/public-site/public-site.controller.d.ts +7 -0
- package/dist/modules/public-site/public-site.controller.js +58 -0
- package/dist/modules/public-site/public-site.controller.js.map +1 -0
- package/dist/modules/public-site/public-site.middleware.d.ts +5 -0
- package/dist/modules/public-site/public-site.middleware.js +67 -0
- package/dist/modules/public-site/public-site.middleware.js.map +1 -0
- package/dist/modules/public-site/public-site.module.d.ts +4 -0
- package/dist/modules/public-site/public-site.module.js +27 -0
- package/dist/modules/public-site/public-site.module.js.map +1 -0
- package/dist/modules/public-site/serve-document/serve-document.d.ts +20 -0
- package/dist/modules/public-site/serve-document/serve-document.js +60 -0
- package/dist/modules/public-site/serve-document/serve-document.js.map +1 -0
- package/dist/modules/security/app-throttler-guard.d.ts +8 -0
- package/dist/modules/security/app-throttler-guard.js +18 -0
- package/dist/modules/security/app-throttler-guard.js.map +1 -0
- package/dist/modules/security/complexity-plugin.d.ts +8 -0
- package/dist/modules/security/complexity-plugin.js +46 -0
- package/dist/modules/security/complexity-plugin.js.map +1 -0
- package/dist/modules/security/gqlThrottlerGuard.d.ts +8 -0
- package/dist/modules/security/gqlThrottlerGuard.js +24 -0
- package/dist/modules/security/gqlThrottlerGuard.js.map +1 -0
- package/dist/nest-custom-logger.d.ts +8 -0
- package/dist/nest-custom-logger.js +23 -0
- package/dist/nest-custom-logger.js.map +1 -0
- package/dist/public-payload/breadcrumb.queries.d.ts +5 -0
- package/dist/public-payload/breadcrumb.queries.js +26 -0
- package/dist/public-payload/breadcrumb.queries.js.map +1 -0
- package/dist/public-payload/create-page-drop.d.ts +11 -0
- package/dist/public-payload/create-page-drop.js +160 -0
- package/dist/public-payload/create-page-drop.js.map +1 -0
- package/dist/public-payload/create-page-part-drop.d.ts +7 -0
- package/dist/public-payload/create-page-part-drop.js +39 -0
- package/dist/public-payload/create-page-part-drop.js.map +1 -0
- package/dist/public-payload/create-page-payload-drop.d.ts +10 -0
- package/dist/public-payload/create-page-payload-drop.js +143 -0
- package/dist/public-payload/create-page-payload-drop.js.map +1 -0
- package/dist/public-payload/excerpt.queries.d.ts +10 -0
- package/dist/public-payload/excerpt.queries.js +38 -0
- package/dist/public-payload/excerpt.queries.js.map +1 -0
- package/dist/public-payload/field-values.d.ts +9 -0
- package/dist/public-payload/field-values.js +99 -0
- package/dist/public-payload/field-values.js.map +1 -0
- package/dist/public-payload/get-siblings.queries.d.ts +5 -0
- package/dist/public-payload/get-siblings.queries.js +117 -0
- package/dist/public-payload/get-siblings.queries.js.map +1 -0
- package/dist/public-payload/liquidjs-drop.d.ts +31 -0
- package/dist/public-payload/liquidjs-drop.js +45 -0
- package/dist/public-payload/liquidjs-drop.js.map +1 -0
- package/dist/public-payload/load-default-image.d.ts +8 -0
- package/dist/public-payload/load-default-image.js +52 -0
- package/dist/public-payload/load-default-image.js.map +1 -0
- package/dist/public-payload/make-basic-payload.d.ts +6 -0
- package/dist/public-payload/make-basic-payload.js +19 -0
- package/dist/public-payload/make-basic-payload.js.map +1 -0
- package/dist/public-payload/make-image-available.d.ts +26 -0
- package/dist/public-payload/make-image-available.js +38 -0
- package/dist/public-payload/make-image-available.js.map +1 -0
- package/dist/public-payload/page-values.queries.d.ts +27 -0
- package/dist/public-payload/page-values.queries.js +110 -0
- package/dist/public-payload/page-values.queries.js.map +1 -0
- package/dist/public-payload/parts.queries.d.ts +6 -0
- package/dist/public-payload/parts.queries.js +123 -0
- package/dist/public-payload/parts.queries.js.map +1 -0
- package/dist/public-payload/public-payload.types.d.ts +130 -0
- package/dist/public-payload/public-payload.types.js +3 -0
- package/dist/public-payload/public-payload.types.js.map +1 -0
- package/dist/public-payload/site-payload.d.ts +4 -0
- package/dist/public-payload/site-payload.js +43 -0
- package/dist/public-payload/site-payload.js.map +1 -0
- package/dist/public-payload/taxonomies.queries.d.ts +13 -0
- package/dist/public-payload/taxonomies.queries.js +45 -0
- package/dist/public-payload/taxonomies.queries.js.map +1 -0
- package/dist/public-payload/translations.queries.d.ts +7 -0
- package/dist/public-payload/translations.queries.js +62 -0
- package/dist/public-payload/translations.queries.js.map +1 -0
- package/dist/public.types.d.ts +5 -0
- package/dist/public.types.js +3 -0
- package/dist/public.types.js.map +1 -0
- package/dist/share/pino-app-log.d.ts +26 -0
- package/dist/share/pino-app-log.js +138 -0
- package/dist/share/pino-app-log.js.map +1 -0
- package/dist/share/read-configuration.d.ts +7 -0
- package/dist/share/read-configuration.js +31 -0
- package/dist/share/read-configuration.js.map +1 -0
- package/dist/site-backup/archiver.helper.d.ts +12 -0
- package/dist/site-backup/archiver.helper.js +43 -0
- package/dist/site-backup/archiver.helper.js.map +1 -0
- package/dist/site-backup/backup-tasks.d.ts +11 -0
- package/dist/site-backup/backup-tasks.js +98 -0
- package/dist/site-backup/backup-tasks.js.map +1 -0
- package/dist/site-backup/backup.d.ts +11 -0
- package/dist/site-backup/backup.helper.d.ts +3 -0
- package/dist/site-backup/backup.helper.js +13 -0
- package/dist/site-backup/backup.helper.js.map +1 -0
- package/dist/site-backup/backup.js +34 -0
- package/dist/site-backup/backup.js.map +1 -0
- package/dist/site-backup/default-data/default-config.d.ts +1 -0
- package/dist/site-backup/default-data/default-config.js +50 -0
- package/dist/site-backup/default-data/default-config.js.map +1 -0
- package/dist/site-backup/default-data/default-readme.d.ts +1 -0
- package/dist/site-backup/default-data/default-readme.js +8 -0
- package/dist/site-backup/default-data/default-readme.js.map +1 -0
- package/dist/site-context/db-init/db-init.d.ts +11 -0
- package/dist/site-context/db-init/db-init.js +37 -0
- package/dist/site-context/db-init/db-init.js.map +1 -0
- package/dist/site-context/db-init/ddl-migration.d.ts +13 -0
- package/dist/site-context/db-init/ddl-migration.js +26 -0
- package/dist/site-context/db-init/ddl-migration.js.map +1 -0
- package/dist/site-context/db-init/init-routing-points.d.ts +4 -0
- package/dist/site-context/db-init/init-routing-points.js +147 -0
- package/dist/site-context/db-init/init-routing-points.js.map +1 -0
- package/dist/site-context/site-conf.d.ts +17 -0
- package/dist/site-context/site-conf.js +103 -0
- package/dist/site-context/site-conf.js.map +1 -0
- package/dist/site-context/site-context.d.ts +11 -0
- package/dist/site-context/site-context.js +234 -0
- package/dist/site-context/site-context.js.map +1 -0
- package/dist/site-context/site-context.types.d.ts +46 -0
- package/dist/site-context/site-context.types.js +3 -0
- package/dist/site-context/site-context.types.js.map +1 -0
- package/dist/site-context/theme-conf-reader.d.ts +4 -0
- package/dist/site-context/theme-conf-reader.js +33 -0
- package/dist/site-context/theme-conf-reader.js.map +1 -0
- package/dist/site-context/theme-conf-types.d.ts +4 -0
- package/dist/site-context/theme-conf-types.js +3 -0
- package/dist/site-context/theme-conf-types.js.map +1 -0
- package/dist/site-schema/common-schema-reader.d.ts +6 -0
- package/dist/site-schema/common-schema-reader.js +29 -0
- package/dist/site-schema/common-schema-reader.js.map +1 -0
- package/dist/site-schema/merged-schema-lib.d.ts +30 -0
- package/dist/site-schema/merged-schema-lib.js +118 -0
- package/dist/site-schema/merged-schema-lib.js.map +1 -0
- package/dist/site-schema/read-locales.d.ts +24 -0
- package/dist/site-schema/read-locales.js +171 -0
- package/dist/site-schema/read-locales.js.map +1 -0
- package/dist/site-schema/site-schema-factory.d.ts +2 -0
- package/dist/site-schema/site-schema-factory.js +382 -0
- package/dist/site-schema/site-schema-factory.js.map +1 -0
- package/dist/site-schema/site-schema-helpers.d.ts +5 -0
- package/dist/site-schema/site-schema-helpers.js +27 -0
- package/dist/site-schema/site-schema-helpers.js.map +1 -0
- package/dist/site-schema/site-schema-lib-reader.d.ts +14 -0
- package/dist/site-schema/site-schema-lib-reader.js +48 -0
- package/dist/site-schema/site-schema-lib-reader.js.map +1 -0
- package/dist/start.d.ts +1 -0
- package/dist/start.js +5 -0
- package/dist/start.js.map +1 -0
- package/dist/types.to.json +1 -0
- package/locales/en.json +18 -0
- package/locales/fr.json +18 -0
- package/package.json +99 -0
- package/schema.gql +293 -0
- package/site-schema-lib/common-schema.json +36 -0
- package/site-schema-lib/common-schema.l10n.en.json +10 -0
- package/site-schema-lib/common-schema.l10n.fr.json +10 -0
- package/site-schema-lib/fields.site-schema.json +79 -0
- package/site-schema-lib/fields.site-schema.l10n.en.json +26 -0
- package/site-schema-lib/fields.site-schema.l10n.fr.json +26 -0
- package/site-schema-lib/gallery-page.site-schema.json +19 -0
- package/site-schema-lib/gallery-page.site-schema.l10n.en.json +11 -0
- package/site-schema-lib/gallery-page.site-schema.l10n.fr.json +11 -0
- package/site-schema-lib/lowcost.site-schema.json +84 -0
- package/site-schema-lib/lowcost.site-schema.l10n.en.json +30 -0
- package/site-schema-lib/lowcost.site-schema.l10n.fr.json +30 -0
- package/site-schema-lib/media-policies.site-schema.json +26 -0
- package/site-schema-lib/portfolio.site-schema.json +28 -0
- package/site-schema-lib/portfolio.site-schema.l10n.en.json +16 -0
- package/site-schema-lib/portfolio.site-schema.l10n.fr.json +16 -0
- package/site-schema-lib/post.site-schema.json +48 -0
- package/site-schema-lib/post.site-schema.l10n.en.json +28 -0
- package/site-schema-lib/post.site-schema.l10n.fr.json +27 -0
- package/site-schema-lib/simple-pages.site-schema.json +19 -0
- package/site-schema-lib/simple-pages.site-schema.l10n.en.json +11 -0
- package/site-schema-lib/simple-pages.site-schema.l10n.fr.json +11 -0
- package/site-schema-lib/special-page.site-schema.json +42 -0
- package/site-schema-lib/special-page.site-schema.l10n.en.json +16 -0
- package/site-schema-lib/special-page.site-schema.l10n.fr.json +16 -0
- package/site-schema-lib/tour.site-schema.json +70 -0
- package/site-schema-lib/tour.site-schema.l10n.en.json +37 -0
- package/site-schema-lib/tour.site-schema.l10n.fr.json +37 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadOrInsertSiteIds = void 0;
|
|
4
|
+
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
5
|
+
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
6
|
+
const document_model_1 = require("../../modules/core/document/document.model");
|
|
7
|
+
const leaf_queries_1 = require("../../modules/core/leaf/leaf.queries");
|
|
8
|
+
const section_model_1 = require("../../modules/core/section/section.model");
|
|
9
|
+
const site_schema_helpers_1 = require("../../site-schema/site-schema-helpers");
|
|
10
|
+
async function loadOrInsertSiteIds(mainCn, siteSchema) {
|
|
11
|
+
let siteLeafId = await loadSiteLeafId(mainCn);
|
|
12
|
+
if (siteLeafId === undefined) {
|
|
13
|
+
await populateInitialData(mainCn, siteSchema);
|
|
14
|
+
siteLeafId = await loadSiteLeafId(mainCn);
|
|
15
|
+
if (siteLeafId === undefined)
|
|
16
|
+
throw new Error("should have siteLeafId here");
|
|
17
|
+
}
|
|
18
|
+
const { home: routingPointIds } = await loadChildRoutingPointIds(mainCn, siteSchema, siteLeafId, [
|
|
19
|
+
siteSchema.documentTypes.home,
|
|
20
|
+
]);
|
|
21
|
+
return {
|
|
22
|
+
siteLeafId,
|
|
23
|
+
homeIds: routingPointIds,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
exports.loadOrInsertSiteIds = loadOrInsertSiteIds;
|
|
27
|
+
async function loadSiteLeafId(cn) {
|
|
28
|
+
const rows = await cn
|
|
29
|
+
.createQueryBuilder()
|
|
30
|
+
.select("l.id", "id")
|
|
31
|
+
.from("PaLeaf", "l")
|
|
32
|
+
.where("l.depth = -1")
|
|
33
|
+
.andWhere("l.leafType = :leafType", { leafType: site_schema_helpers_1.siteLeafType })
|
|
34
|
+
.getRawMany();
|
|
35
|
+
if (rows.length === 0)
|
|
36
|
+
return;
|
|
37
|
+
if (rows.length !== 1)
|
|
38
|
+
throw new Error(`it should not exist '${rows.length}' site leafs`);
|
|
39
|
+
const [row] = rows;
|
|
40
|
+
return (0, data_formatters_lib_1.strVal)(row.id);
|
|
41
|
+
}
|
|
42
|
+
async function loadChildRoutingPointIds(cn, siteSchema, parentLeafId, childTypes) {
|
|
43
|
+
const rows = await cn
|
|
44
|
+
.createQueryBuilder()
|
|
45
|
+
.select("s.leafId", "leafId")
|
|
46
|
+
.addSelect("s.lang", "lang")
|
|
47
|
+
.addSelect("l.leafType", "leafType")
|
|
48
|
+
.from("PaSection", "s")
|
|
49
|
+
.innerJoin("PaLeaf", "l", "l.id = s.leafId")
|
|
50
|
+
.where("l.parentId = :parentId", { parentId: parentLeafId })
|
|
51
|
+
.andWhere("l.leafType in (:...leafTypes)", { leafTypes: childTypes.map((t) => t.leafType) })
|
|
52
|
+
.andWhere("s.lang in (:...langs)", { langs: siteSchema.langs })
|
|
53
|
+
.getRawMany();
|
|
54
|
+
const formattedRows = rows.map((row) => ({
|
|
55
|
+
leafId: (0, data_formatters_lib_1.strVal)(row.leafId),
|
|
56
|
+
lang: (0, data_formatters_lib_1.strVal)(row.lang),
|
|
57
|
+
leafType: (0, data_formatters_lib_1.strVal)(row.leafType),
|
|
58
|
+
}));
|
|
59
|
+
const map = new Map();
|
|
60
|
+
for (const row of formattedRows) {
|
|
61
|
+
let ids = map.get(row.leafType);
|
|
62
|
+
if (!ids) {
|
|
63
|
+
ids = {
|
|
64
|
+
leafId: row.leafId,
|
|
65
|
+
leafType: row.leafType,
|
|
66
|
+
sectionIds: {},
|
|
67
|
+
};
|
|
68
|
+
map.set(row.leafType, ids);
|
|
69
|
+
}
|
|
70
|
+
ids.sectionIds[row.lang] = (0, anywhere_lib_1.encodeSectionId)(row);
|
|
71
|
+
}
|
|
72
|
+
for (const childType of childTypes) {
|
|
73
|
+
const ids = map.get(childType.leafType);
|
|
74
|
+
if (!ids) {
|
|
75
|
+
throw new Error(`missing document-type '${childType.leafType}' in the database, for parent '${parentLeafId}'`);
|
|
76
|
+
}
|
|
77
|
+
const langs = Object.keys(ids.sectionIds);
|
|
78
|
+
if (langs.length !== siteSchema.langs.length) {
|
|
79
|
+
throw new Error(`missing section(s) for '${childType.leafType}' in the database, found langs '${langs.join(",")}'`);
|
|
80
|
+
}
|
|
81
|
+
const subTypes = childRoutingPointsOf(siteSchema, childType);
|
|
82
|
+
if (subTypes.length > 0) {
|
|
83
|
+
ids.children = await loadChildRoutingPointIds(cn, siteSchema, ids.leafId, subTypes);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return Object.fromEntries(map);
|
|
87
|
+
}
|
|
88
|
+
function childRoutingPointsOf(siteSchema, documentType) {
|
|
89
|
+
const leafTypes = documentType.children ?? [];
|
|
90
|
+
return leafTypes
|
|
91
|
+
.map((leafType) => {
|
|
92
|
+
const documentType = siteSchema.documentTypes[leafType];
|
|
93
|
+
if (!documentType)
|
|
94
|
+
throw new Error(`missing document type '${leafType}'`);
|
|
95
|
+
return documentType;
|
|
96
|
+
})
|
|
97
|
+
.filter((t) => t.kind === "routingPoint");
|
|
98
|
+
}
|
|
99
|
+
async function populateInitialData(mainCn, siteSchema) {
|
|
100
|
+
const homeLeafId = await mainCn.transaction(async (cn) => {
|
|
101
|
+
const siteLeaf = await (0, leaf_queries_1.createLeaf)(siteSchema, cn, {
|
|
102
|
+
depth: -1,
|
|
103
|
+
leafType: site_schema_helpers_1.siteLeafType,
|
|
104
|
+
});
|
|
105
|
+
const documentType = siteSchema.documentTypes.home;
|
|
106
|
+
const homeLeaf = await (0, leaf_queries_1.createLeaf)(siteSchema, cn, {
|
|
107
|
+
depth: 0,
|
|
108
|
+
leafType: documentType.leafType,
|
|
109
|
+
parentId: siteLeaf.id,
|
|
110
|
+
});
|
|
111
|
+
await populateRoutingPointSections(cn, {
|
|
112
|
+
leafId: homeLeaf.id,
|
|
113
|
+
langs: siteSchema.langs,
|
|
114
|
+
withDocument: documentType.withData,
|
|
115
|
+
});
|
|
116
|
+
await populateChildRoutingPoints(cn, siteSchema, documentType, homeLeaf.id, 1);
|
|
117
|
+
return homeLeaf.id;
|
|
118
|
+
});
|
|
119
|
+
return homeLeafId;
|
|
120
|
+
}
|
|
121
|
+
async function populateChildRoutingPoints(cn, siteSchema, parentType, parentLeafId, childDepth) {
|
|
122
|
+
for (const leafType of parentType.children ?? []) {
|
|
123
|
+
const documentType = (0, anywhere_lib_1.getDocumentTypeByLeafType)(siteSchema, leafType);
|
|
124
|
+
if (documentType.kind !== "routingPoint")
|
|
125
|
+
continue;
|
|
126
|
+
const leaf = await (0, leaf_queries_1.createLeaf)(siteSchema, cn, {
|
|
127
|
+
parentId: parentLeafId,
|
|
128
|
+
depth: childDepth,
|
|
129
|
+
leafType,
|
|
130
|
+
});
|
|
131
|
+
await populateRoutingPointSections(cn, {
|
|
132
|
+
leafId: leaf.id,
|
|
133
|
+
langs: siteSchema.langs,
|
|
134
|
+
withDocument: documentType.withData,
|
|
135
|
+
});
|
|
136
|
+
await populateChildRoutingPoints(cn, siteSchema, documentType, leaf.id, childDepth + 1);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function populateRoutingPointSections(cn, { leafId, langs, withDocument }) {
|
|
140
|
+
for (const lang of langs) {
|
|
141
|
+
await cn.getRepository(section_model_1.SectionEntity).save({ lang, leafId, ready: true });
|
|
142
|
+
if (withDocument) {
|
|
143
|
+
await cn.getRepository(document_model_1.DocumentEntity).save({ lang, leafId });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=init-routing-points.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-routing-points.js","sourceRoot":"","sources":["../../../src/site-context/db-init/init-routing-points.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SitePlace } from "../public.types";
|
|
2
|
+
import { SingleSiteConf, SitePackConf } from "../typeonly/configuration-types";
|
|
3
|
+
export interface SiteConf {
|
|
4
|
+
fqdn: string;
|
|
5
|
+
siteName: string;
|
|
6
|
+
version?: string;
|
|
7
|
+
siteDir: string;
|
|
8
|
+
dataDir: string;
|
|
9
|
+
cacheDir: string;
|
|
10
|
+
backupDir: string;
|
|
11
|
+
siteUrl: string;
|
|
12
|
+
loadedOnce: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function createSiteConfsFromSingle(singleSiteConf: SingleSiteConf): Promise<Map<string, SiteConf>>;
|
|
15
|
+
export declare function loadSitePackConfs(sitePacks: SitePackConf[], sitePackPlaces?: {
|
|
16
|
+
[packName: string]: SitePlace[];
|
|
17
|
+
}): Promise<Map<string, SiteConf>>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadSitePackConfs = exports.createSiteConfsFromSingle = void 0;
|
|
4
|
+
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
5
|
+
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
6
|
+
const promises_1 = require("fs/promises");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
const context_1 = require("../context");
|
|
9
|
+
async function createSiteConfsFromSingle(singleSiteConf) {
|
|
10
|
+
const { publicPort, https } = context_1.appConf.thisServer;
|
|
11
|
+
const { siteDir, dataDir, cacheDir, backupDir, fqdn } = singleSiteConf;
|
|
12
|
+
const protocol = https ? "https" : "http";
|
|
13
|
+
const siteUrl = `${protocol}://${fqdn}${publicPort ? `:${publicPort}` : ""}`;
|
|
14
|
+
const version = await getPackageVersionIfExists(siteDir);
|
|
15
|
+
const site = {
|
|
16
|
+
fqdn,
|
|
17
|
+
siteName: fqdn,
|
|
18
|
+
version,
|
|
19
|
+
siteDir,
|
|
20
|
+
dataDir,
|
|
21
|
+
cacheDir,
|
|
22
|
+
backupDir,
|
|
23
|
+
siteUrl,
|
|
24
|
+
loadedOnce: false,
|
|
25
|
+
};
|
|
26
|
+
const result = new Map();
|
|
27
|
+
result.set(site.fqdn, site);
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
exports.createSiteConfsFromSingle = createSiteConfsFromSingle;
|
|
31
|
+
async function loadSitePackConfs(sitePacks, sitePackPlaces) {
|
|
32
|
+
const result = new Map();
|
|
33
|
+
for (const pack of sitePacks) {
|
|
34
|
+
const siteConfs = pack.sitesDir
|
|
35
|
+
? await readSiteConfsFromDirectory(pack.sitesDir, pack)
|
|
36
|
+
: createSiteConfsFromDependency(pack, sitePackPlaces?.[pack.packName]);
|
|
37
|
+
for (const site of siteConfs) {
|
|
38
|
+
if (result.has(site.fqdn))
|
|
39
|
+
throw new Error(`duplicated site '${site.fqdn}'`);
|
|
40
|
+
result.set(site.fqdn, site);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
exports.loadSitePackConfs = loadSitePackConfs;
|
|
46
|
+
async function readSiteConfsFromDirectory(sitesDir, pack) {
|
|
47
|
+
const dirNames = await (0, promises_1.readdir)(sitesDir);
|
|
48
|
+
const result = [];
|
|
49
|
+
for (const dirName of dirNames) {
|
|
50
|
+
if (dirName === "index")
|
|
51
|
+
continue;
|
|
52
|
+
const siteDir = (0, path_1.resolve)(sitesDir, dirName);
|
|
53
|
+
const version = await getPackageVersionIfExists(siteDir);
|
|
54
|
+
result.push(makeSiteConf({ domain: dirName, siteDir, version }, pack));
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
async function getPackageVersionIfExists(dir) {
|
|
59
|
+
try {
|
|
60
|
+
const content = JSON.parse(await (0, promises_1.readFile)((0, path_1.join)(dir, "package.json"), "utf8"));
|
|
61
|
+
return (0, data_formatters_lib_1.strValOrUndef)(content.version);
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function createSiteConfsFromDependency(pack, sitePlaces) {
|
|
67
|
+
if (!sitePlaces)
|
|
68
|
+
throw new Error(`missing 'sitesDir' or a place for pack '${pack.packName}'`);
|
|
69
|
+
return sitePlaces.map((place) => makeSiteConf(place, pack));
|
|
70
|
+
}
|
|
71
|
+
function makeSiteConf(place, pack) {
|
|
72
|
+
const { publicPort, https } = context_1.appConf.thisServer;
|
|
73
|
+
const { domain, siteDir, version } = place;
|
|
74
|
+
const fqdn = pack.serveAs === "fqdn" ? domain : `${toSubDomain(domain)}.${pack.parentDomain}`;
|
|
75
|
+
const protocol = https ? "https" : "http";
|
|
76
|
+
const siteUrl = `${protocol}://${fqdn}${publicPort ? `:${publicPort}` : ""}`;
|
|
77
|
+
const dataDir = (0, path_1.resolve)(pack.dataDir, domain);
|
|
78
|
+
const cacheDir = (0, path_1.resolve)(pack.cacheDir, domain);
|
|
79
|
+
const backupDir = (0, path_1.resolve)(pack.backupDir, domain);
|
|
80
|
+
return {
|
|
81
|
+
fqdn,
|
|
82
|
+
siteName: `${pack.packName}:${domain}`,
|
|
83
|
+
version,
|
|
84
|
+
siteDir,
|
|
85
|
+
dataDir,
|
|
86
|
+
cacheDir,
|
|
87
|
+
backupDir,
|
|
88
|
+
siteUrl,
|
|
89
|
+
loadedOnce: false,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function toSubDomain(dirName) {
|
|
93
|
+
let result = dirName;
|
|
94
|
+
if (result.startsWith("www.")) {
|
|
95
|
+
result = result.substring(4);
|
|
96
|
+
}
|
|
97
|
+
const extIndex = result.lastIndexOf(".");
|
|
98
|
+
if (extIndex !== -1) {
|
|
99
|
+
result = result.substring(0, extIndex);
|
|
100
|
+
}
|
|
101
|
+
return (0, anywhere_lib_1.generateSlug)(result).replaceAll(".", "-");
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=site-conf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-conf.js","sourceRoot":"","sources":["../../src/site-context/site-conf.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SiteConf } from "./site-conf";
|
|
2
|
+
import { SiteContext } from "./site-context.types";
|
|
3
|
+
export declare function getActiveSiteContexts(): IterableIterator<SiteContext>;
|
|
4
|
+
export declare function getSiteContext(fqdn: string): Promise<SiteContext>;
|
|
5
|
+
export declare function getSiteContext(fqdn: string, options: {
|
|
6
|
+
returnsUndef: true;
|
|
7
|
+
}): Promise<SiteContext | undefined>;
|
|
8
|
+
export declare const secureCreateSiteContext: typeof createSiteContext;
|
|
9
|
+
declare function createSiteContext(siteConf: SiteConf): Promise<SiteContext>;
|
|
10
|
+
export declare function unloadSiteContext(siteContext: SiteContext): Promise<void>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.unloadSiteContext = exports.secureCreateSiteContext = exports.getSiteContext = exports.getActiveSiteContexts = void 0;
|
|
7
|
+
const common_1 = require("@nestjs/common");
|
|
8
|
+
const async_lib_1 = require("@paroi/async-lib");
|
|
9
|
+
const server_database_media_storage_1 = require("@paroicms/server-database-media-storage");
|
|
10
|
+
const server_image_cache_engine_1 = require("@paroicms/server-image-cache-engine");
|
|
11
|
+
const server_lib_1 = require("@paroicms/server-lib");
|
|
12
|
+
const server_text_cache_system_1 = require("@paroicms/server-text-cache-system");
|
|
13
|
+
const liquidjs_1 = require("liquidjs");
|
|
14
|
+
const path_1 = require("path");
|
|
15
|
+
const context_1 = require("../context");
|
|
16
|
+
const simple_i18n_1 = require("../helpers/simple-i18n");
|
|
17
|
+
const maintenance_task_1 = require("../maintenance/maintenance-task");
|
|
18
|
+
const format_date_1 = require("../modules/public-site/liquidjs-filters/format-date");
|
|
19
|
+
const format_number_1 = require("../modules/public-site/liquidjs-filters/format-number");
|
|
20
|
+
const info_filter_1 = require("../modules/public-site/liquidjs-filters/info-filter");
|
|
21
|
+
const inject_facebook_chat_1 = require("../modules/public-site/liquidjs-filters/inject-facebook-chat");
|
|
22
|
+
const inject_menu_items_data_1 = require("../modules/public-site/liquidjs-filters/inject-menu-items-data");
|
|
23
|
+
const make_excerpt_1 = require("../modules/public-site/liquidjs-filters/make-excerpt");
|
|
24
|
+
const obfuscate_1 = require("../modules/public-site/liquidjs-filters/obfuscate");
|
|
25
|
+
const open_graph_filter_1 = require("../modules/public-site/liquidjs-filters/open-graph-filter");
|
|
26
|
+
const translate_filter_1 = require("../modules/public-site/liquidjs-filters/translate-filter");
|
|
27
|
+
const render_1 = __importDefault(require("../modules/public-site/liquidjs-rendering/render-clone/render"));
|
|
28
|
+
const get_page_tag_1 = require("../modules/public-site/liquidjs-tags/get-page-tag");
|
|
29
|
+
const get_pages_tag_1 = require("../modules/public-site/liquidjs-tags/get-pages-tag");
|
|
30
|
+
const use_image_tag_1 = require("../modules/public-site/liquidjs-tags/use-image-tag");
|
|
31
|
+
const site_schema_factory_1 = require("../site-schema/site-schema-factory");
|
|
32
|
+
const db_init_1 = require("./db-init/db-init");
|
|
33
|
+
const init_routing_points_1 = require("./db-init/init-routing-points");
|
|
34
|
+
const theme_conf_reader_1 = require("./theme-conf-reader");
|
|
35
|
+
const siteContexts = new Map();
|
|
36
|
+
function getActiveSiteContexts() {
|
|
37
|
+
return siteContexts.values();
|
|
38
|
+
}
|
|
39
|
+
exports.getActiveSiteContexts = getActiveSiteContexts;
|
|
40
|
+
async function getSiteContext(fqdn, options = {}) {
|
|
41
|
+
let siteContext = siteContexts.get(fqdn);
|
|
42
|
+
if (!siteContext) {
|
|
43
|
+
const siteConf = context_1.siteConfs.get(fqdn);
|
|
44
|
+
if (!siteConf) {
|
|
45
|
+
if (options.returnsUndef)
|
|
46
|
+
return;
|
|
47
|
+
throw new common_1.NotFoundException(`Site not found '${fqdn}'`);
|
|
48
|
+
}
|
|
49
|
+
siteContext = await (0, exports.secureCreateSiteContext)(siteConf);
|
|
50
|
+
siteContexts.set(fqdn, siteContext);
|
|
51
|
+
}
|
|
52
|
+
return siteContext;
|
|
53
|
+
}
|
|
54
|
+
exports.getSiteContext = getSiteContext;
|
|
55
|
+
exports.secureCreateSiteContext = (0, async_lib_1.enqueueOrMergeAsync)(createSiteContext, {
|
|
56
|
+
mergeWith: ({ fqdn }) => fqdn,
|
|
57
|
+
});
|
|
58
|
+
async function createSiteContext(siteConf) {
|
|
59
|
+
const { siteName, siteDir, dataDir, cacheDir, backupDir, fqdn } = siteConf;
|
|
60
|
+
const themeDir = (0, path_1.join)(siteDir, "theme");
|
|
61
|
+
const siteLog = context_1.platformLog.createChildLog({ fqdn });
|
|
62
|
+
await (0, server_lib_1.ensureDirectory)(dataDir);
|
|
63
|
+
await (0, server_lib_1.ensureDirectory)(cacheDir);
|
|
64
|
+
await (0, server_lib_1.ensureDirectory)(backupDir);
|
|
65
|
+
const siteSchema = await (0, site_schema_factory_1.loadSiteSchema)(siteDir);
|
|
66
|
+
const { mainCn, logNextQuery } = await (0, db_init_1.createOrOpenMainCn)(siteSchema, dataDir, {
|
|
67
|
+
siteName,
|
|
68
|
+
canCreate: context_1.appConf.devTools,
|
|
69
|
+
siteLog,
|
|
70
|
+
});
|
|
71
|
+
const siteIds = await (0, init_routing_points_1.loadOrInsertSiteIds)(mainCn, siteSchema);
|
|
72
|
+
const mediaStorage = new server_database_media_storage_1.MediaStorage({
|
|
73
|
+
siteName,
|
|
74
|
+
canCreate: context_1.appConf.devTools,
|
|
75
|
+
appLog: siteLog,
|
|
76
|
+
storage: {
|
|
77
|
+
type: "sqlite",
|
|
78
|
+
file: (0, path_1.join)(dataDir, "medias.sqlite"),
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
await mediaStorage.initialise(siteIds.siteLeafId);
|
|
82
|
+
const imageCache = await (0, server_image_cache_engine_1.createImageCacheEngine)({
|
|
83
|
+
siteName,
|
|
84
|
+
storage: {
|
|
85
|
+
type: "sqlite",
|
|
86
|
+
file: (0, path_1.join)(cacheDir, "image-cache.sqlite"),
|
|
87
|
+
},
|
|
88
|
+
appLog: siteLog,
|
|
89
|
+
getOriginalImage: async (uid) => {
|
|
90
|
+
const image = await mediaStorage.getMediaWithBinary(uid);
|
|
91
|
+
if (!image)
|
|
92
|
+
throw new common_1.NotFoundException(`Cannot find image '${uid}'`);
|
|
93
|
+
return image.binaryFile;
|
|
94
|
+
},
|
|
95
|
+
qualityPolicy: siteSchema.imageQualityPolicy,
|
|
96
|
+
timeToIdle: context_1.appConf.cacheTimeToIdle === "infinite"
|
|
97
|
+
? undefined
|
|
98
|
+
: context_1.appConf.cacheTimeToIdle === "disabled"
|
|
99
|
+
? "0d"
|
|
100
|
+
: context_1.appConf.cacheTimeToIdle,
|
|
101
|
+
});
|
|
102
|
+
const textCache = context_1.appConf.cacheTimeToIdle === "disabled"
|
|
103
|
+
? (0, server_text_cache_system_1.createNoTextCacheSystem)()
|
|
104
|
+
: await (0, server_text_cache_system_1.createTextCacheSystem)({
|
|
105
|
+
siteName,
|
|
106
|
+
storage: {
|
|
107
|
+
type: "sqlite",
|
|
108
|
+
file: (0, path_1.join)(cacheDir, "text-cache.sqlite"),
|
|
109
|
+
},
|
|
110
|
+
appLog: siteLog,
|
|
111
|
+
timeToIdle: context_1.appConf.cacheTimeToIdle === "infinite" ? undefined : context_1.appConf.cacheTimeToIdle,
|
|
112
|
+
});
|
|
113
|
+
if (!siteConf.loadedOnce) {
|
|
114
|
+
if (context_1.appConf.clearCacheAfterStart) {
|
|
115
|
+
if (context_1.appConf.clearImageCacheAfterStart) {
|
|
116
|
+
await imageCache.clearCache();
|
|
117
|
+
}
|
|
118
|
+
await textCache.clearCache();
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
await (0, maintenance_task_1.siteMaintenanceTask)({ imageCache, textCache });
|
|
122
|
+
}
|
|
123
|
+
siteConf.loadedOnce = true;
|
|
124
|
+
}
|
|
125
|
+
const liquidEngine = new liquidjs_1.Liquid({
|
|
126
|
+
root: (0, path_1.join)(themeDir, "templates"),
|
|
127
|
+
extname: ".liquid",
|
|
128
|
+
jsTruthy: true,
|
|
129
|
+
strictFilters: true,
|
|
130
|
+
outputEscape: "escape",
|
|
131
|
+
});
|
|
132
|
+
const themeTranslator = await (0, simple_i18n_1.createSimpleTranslator)({
|
|
133
|
+
l10nDir: (0, path_1.join)(themeDir, "locales"),
|
|
134
|
+
langs: siteSchema.langs,
|
|
135
|
+
appLog: siteLog,
|
|
136
|
+
});
|
|
137
|
+
const themeConf = await (0, theme_conf_reader_1.readThemeConfFile)(themeDir);
|
|
138
|
+
const siteContext = {
|
|
139
|
+
fqdn: siteConf.fqdn,
|
|
140
|
+
siteName,
|
|
141
|
+
version: siteConf.version,
|
|
142
|
+
siteDir,
|
|
143
|
+
dataDir,
|
|
144
|
+
cacheDir,
|
|
145
|
+
backupDir,
|
|
146
|
+
siteUrl: siteConf.siteUrl,
|
|
147
|
+
siteSchema,
|
|
148
|
+
themeDir,
|
|
149
|
+
mainCn,
|
|
150
|
+
siteIds,
|
|
151
|
+
liquidEngine,
|
|
152
|
+
mediaStorage,
|
|
153
|
+
imageCache,
|
|
154
|
+
textCache,
|
|
155
|
+
themeTranslator,
|
|
156
|
+
multilingual: siteSchema.langs.length > 1,
|
|
157
|
+
themeConf,
|
|
158
|
+
logNextQuery,
|
|
159
|
+
siteLog,
|
|
160
|
+
};
|
|
161
|
+
configureLiquidEngine(siteContext);
|
|
162
|
+
siteLog.info("Site loaded");
|
|
163
|
+
return siteContext;
|
|
164
|
+
}
|
|
165
|
+
function configureLiquidEngine(siteContext) {
|
|
166
|
+
const { liquidEngine } = siteContext;
|
|
167
|
+
liquidEngine.registerTag("include", createDisabledLiquidJSTag("include"));
|
|
168
|
+
liquidEngine.registerTag("render", render_1.default);
|
|
169
|
+
liquidEngine.registerTag("getPages", (0, get_pages_tag_1.createGetPagesLiquidJsTag)(siteContext));
|
|
170
|
+
liquidEngine.registerTag("getPage", (0, get_page_tag_1.createGetPageLiquidJsTag)(siteContext));
|
|
171
|
+
liquidEngine.registerTag("useImage", (0, use_image_tag_1.createUseImageLiquidJsTag)(siteContext));
|
|
172
|
+
liquidEngine.registerFilter("translate", function (str, ...args) {
|
|
173
|
+
return (0, translate_filter_1.translateLiquidJsFilter)(siteContext, str, this.context, args);
|
|
174
|
+
});
|
|
175
|
+
liquidEngine.registerFilter("formatNumber", function (str, ...args) {
|
|
176
|
+
return (0, format_number_1.formatNumberLiquidJsFilter)(str, this.context, args);
|
|
177
|
+
});
|
|
178
|
+
liquidEngine.registerFilter("obfuscate", function (str, ...args) {
|
|
179
|
+
return (0, obfuscate_1.obfuscateLiquidJsFilter)(str, this.context, args);
|
|
180
|
+
});
|
|
181
|
+
liquidEngine.registerFilter("obfuscateAsLink", {
|
|
182
|
+
handler: function (str, ...args) {
|
|
183
|
+
return (0, obfuscate_1.obfuscateAsLinkLiquidJsFilter)(str, this.context, args);
|
|
184
|
+
},
|
|
185
|
+
raw: true,
|
|
186
|
+
});
|
|
187
|
+
liquidEngine.registerFilter("makeExcerpt", function (str, ...args) {
|
|
188
|
+
return (0, make_excerpt_1.makeExcerptLiquidJsFilter)(str, this.context, args);
|
|
189
|
+
});
|
|
190
|
+
liquidEngine.registerFilter("formatDate", function (str, ...args) {
|
|
191
|
+
return (0, format_date_1.formatDateLiquidJsFilter)(str, this.context, args);
|
|
192
|
+
});
|
|
193
|
+
liquidEngine.registerFilter("injectFacebookChat", {
|
|
194
|
+
handler: function (str, ...args) {
|
|
195
|
+
return (0, inject_facebook_chat_1.injectFacebookChatLiquidJsFilter)(str, this.context, args);
|
|
196
|
+
},
|
|
197
|
+
raw: true,
|
|
198
|
+
});
|
|
199
|
+
liquidEngine.registerFilter("openGraphTags", {
|
|
200
|
+
handler: function (ogValues, ...args) {
|
|
201
|
+
return (0, open_graph_filter_1.injectOpenGraphTagsLiquidJsFilter)(siteContext, ogValues, this.context, args);
|
|
202
|
+
},
|
|
203
|
+
raw: true,
|
|
204
|
+
});
|
|
205
|
+
liquidEngine.registerFilter("info", {
|
|
206
|
+
handler: (val) => (0, info_filter_1.infoLiquidJsFilter)(siteContext, val),
|
|
207
|
+
raw: true,
|
|
208
|
+
});
|
|
209
|
+
liquidEngine.registerFilter("activateMenuItemsData", {
|
|
210
|
+
handler: function (pageId) {
|
|
211
|
+
return (0, inject_menu_items_data_1.injectMenuItemsData)(siteContext, pageId, this.context);
|
|
212
|
+
},
|
|
213
|
+
raw: false,
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
function createDisabledLiquidJSTag(name) {
|
|
217
|
+
return {
|
|
218
|
+
parse: () => {
|
|
219
|
+
throw new Error(`tag "${name}" disabled`);
|
|
220
|
+
},
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
async function unloadSiteContext(siteContext) {
|
|
224
|
+
siteContexts.delete(siteContext.fqdn);
|
|
225
|
+
await Promise.all([
|
|
226
|
+
siteContext.imageCache.close(),
|
|
227
|
+
siteContext.textCache.close(),
|
|
228
|
+
siteContext.mediaStorage.close(),
|
|
229
|
+
siteContext.mainCn.destroy(),
|
|
230
|
+
]);
|
|
231
|
+
context_1.platformLog.info(`Site '${siteContext.siteName}' unloaded`);
|
|
232
|
+
}
|
|
233
|
+
exports.unloadSiteContext = unloadSiteContext;
|
|
234
|
+
//# sourceMappingURL=site-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-context.js","sourceRoot":"","sources":["../../src/site-context/site-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { SiteSchema } from "@paroicms/anywhere-lib";
|
|
2
|
+
import { MediaStorage } from "@paroicms/server-database-media-storage";
|
|
3
|
+
import { ImageCacheEngine } from "@paroicms/server-image-cache-engine";
|
|
4
|
+
import { TextCacheSystem } from "@paroicms/server-text-cache-system";
|
|
5
|
+
import { Liquid } from "liquidjs";
|
|
6
|
+
import { DataSource } from "typeorm";
|
|
7
|
+
import { SimpleTranslator } from "../helpers/simple-i18n";
|
|
8
|
+
import { AppLog } from "../share/pino-app-log";
|
|
9
|
+
import { ThemeConf } from "./theme-conf-types";
|
|
10
|
+
export interface SiteContext {
|
|
11
|
+
fqdn: string;
|
|
12
|
+
siteName: string;
|
|
13
|
+
version?: string;
|
|
14
|
+
siteDir: string;
|
|
15
|
+
dataDir: string;
|
|
16
|
+
cacheDir: string;
|
|
17
|
+
backupDir: string;
|
|
18
|
+
siteUrl: string;
|
|
19
|
+
siteSchema: SiteSchema;
|
|
20
|
+
mainCn: DataSource;
|
|
21
|
+
siteIds: SiteIds;
|
|
22
|
+
themeDir: string;
|
|
23
|
+
liquidEngine: Liquid;
|
|
24
|
+
mediaStorage: MediaStorage;
|
|
25
|
+
imageCache: ImageCacheEngine;
|
|
26
|
+
textCache: TextCacheSystem;
|
|
27
|
+
themeTranslator: SimpleTranslator;
|
|
28
|
+
multilingual: boolean;
|
|
29
|
+
themeConf: ThemeConf;
|
|
30
|
+
logNextQuery: (count?: number) => void;
|
|
31
|
+
siteLog: AppLog;
|
|
32
|
+
}
|
|
33
|
+
export interface SiteIds {
|
|
34
|
+
siteLeafId: string;
|
|
35
|
+
homeIds: RoutingPointIds;
|
|
36
|
+
}
|
|
37
|
+
export interface RoutingPointIds {
|
|
38
|
+
leafId: string;
|
|
39
|
+
leafType: string;
|
|
40
|
+
sectionIds: {
|
|
41
|
+
[lang: string]: string;
|
|
42
|
+
};
|
|
43
|
+
children?: {
|
|
44
|
+
[leafType: string]: RoutingPointIds;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-context.types.js","sourceRoot":"","sources":["../../src/site-context/site-context.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatThemeConf = exports.readThemeConfFile = void 0;
|
|
4
|
+
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
5
|
+
const server_image_cache_engine_1 = require("@paroicms/server-image-cache-engine");
|
|
6
|
+
const promises_1 = require("fs/promises");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
const context_1 = require("../context");
|
|
9
|
+
async function readThemeConfFile(themeDir) {
|
|
10
|
+
const themeFile = (0, path_1.join)(themeDir, "theme.json");
|
|
11
|
+
try {
|
|
12
|
+
const content = await (0, promises_1.readFile)(themeFile, "utf-8");
|
|
13
|
+
const data = JSON.parse(content);
|
|
14
|
+
const result = context_1.typeValidator.validate("JsonOfThemeConf", data);
|
|
15
|
+
if (!result.valid)
|
|
16
|
+
throw new Error(result.error ?? "(missing message)");
|
|
17
|
+
return formatThemeConf(data);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
throw new Error(`invalid theme configuration '${themeFile}': ${(0, anywhere_lib_1.messageOf)(error)} `);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.readThemeConfFile = readThemeConfFile;
|
|
24
|
+
function formatThemeConf(val) {
|
|
25
|
+
val.fTextImages.forEach(checkVariantName);
|
|
26
|
+
return val;
|
|
27
|
+
}
|
|
28
|
+
exports.formatThemeConf = formatThemeConf;
|
|
29
|
+
function checkVariantName(val) {
|
|
30
|
+
if (!(0, server_image_cache_engine_1.isVariantName)(val))
|
|
31
|
+
throw new Error(`invalid variant '${val}'`);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=theme-conf-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-conf-reader.js","sourceRoot":"","sources":["../../src/site-context/theme-conf-reader.ts"],"names":[],"mappings":";;;AAAA,yDAAmD;AACnD,mFAAiF;AACjF,0CAAuC;AACvC,+BAA4B;AAC5B,wCAA2C;AAIpC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,uBAAa,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QACxE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,MAAM,IAAA,wBAAS,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAZD,8CAYC;AAED,SAAgB,eAAe,CAAC,GAAoB;IAClD,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,OAAO,GAAgB,CAAC;AAC1B,CAAC;AAHD,0CAGC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC,IAAA,yCAAa,EAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;AACvE,CAAC"}
|