@paroicms/server 1.40.0 → 1.41.1
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/dist/common/mail/sendMail.helpers.d.ts +1 -10
- package/dist/common/mail/sendMail.helpers.js.map +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/context.js +2 -2
- package/dist/context.js.map +1 -1
- package/dist/express/public-api-middlewares.d.ts +2 -0
- package/dist/express/public-api-middlewares.js +42 -0
- package/dist/express/public-api-middlewares.js.map +1 -0
- package/dist/express/static-middlewares.d.ts +1 -1
- package/dist/express/static-middlewares.js +22 -6
- package/dist/express/static-middlewares.js.map +1 -1
- package/dist/helpers/make-plugin-site-context.d.ts +4 -0
- package/dist/helpers/make-plugin-site-context.js +32 -0
- package/dist/helpers/make-plugin-site-context.js.map +1 -0
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/core/fields/preprocess-fields.js +6 -2
- package/dist/modules/core/fields/preprocess-fields.js.map +1 -1
- package/dist/modules/public-api/mail/validate-recaptcha-response.d.ts +5 -0
- package/dist/modules/public-api/mail/validate-recaptcha-response.js +25 -0
- package/dist/modules/public-api/mail/validate-recaptcha-response.js.map +1 -0
- package/dist/modules/public-api/public-api-controller.d.ts +0 -3
- package/dist/modules/public-api/public-api-controller.js +0 -15
- package/dist/modules/public-api/public-api-controller.js.map +1 -1
- package/dist/modules/public-site/feed/feed.middleware.js.map +1 -1
- package/dist/modules/public-site/liquidjs-filters/head-tags-filter.js +1 -0
- package/dist/modules/public-site/liquidjs-filters/head-tags-filter.js.map +1 -1
- package/dist/plugins/plugin-api.js +14 -5
- package/dist/plugins/plugin-api.js.map +1 -1
- package/dist/plugins/plugin-loader.d.ts +4 -2
- package/dist/plugins/plugin-loader.js +1 -1
- package/dist/plugins/plugin-loader.js.map +1 -1
- package/dist/site-context/create-site-context.js +4 -3
- package/dist/site-context/create-site-context.js.map +1 -1
- package/dist/site-context/site-context.types.d.ts +2 -2
- package/package.json +4 -4
- package/dist/helpers/simple-i18n.d.ts +0 -14
- package/dist/helpers/simple-i18n.js +0 -82
- package/dist/helpers/simple-i18n.js.map +0 -1
- package/dist/modules/public-api/mail/contact-form-mail.d.ts +0 -8
- package/dist/modules/public-api/mail/contact-form-mail.js +0 -96
- package/dist/modules/public-api/mail/contact-form-mail.js.map +0 -1
- package/dist/modules/public-api/mail/mail.dto.d.ts +0 -8
- package/dist/modules/public-api/mail/mail.dto.js +0 -56
- package/dist/modules/public-api/mail/mail.dto.js.map +0 -1
|
@@ -1,14 +1,5 @@
|
|
|
1
|
+
import { type MailData } from "@paroicms/plugin-lib";
|
|
1
2
|
import type { AppLog } from "@paroicms/server-lib";
|
|
2
|
-
export interface MailData {
|
|
3
|
-
subject: string;
|
|
4
|
-
html: string;
|
|
5
|
-
replyTo?: ReplyTo;
|
|
6
|
-
to: string;
|
|
7
|
-
}
|
|
8
|
-
export interface ReplyTo {
|
|
9
|
-
email: string;
|
|
10
|
-
name: string;
|
|
11
|
-
}
|
|
12
3
|
export declare function sendMail({ subject, html, replyTo, to }: MailData, { appLog }: {
|
|
13
4
|
appLog: AppLog;
|
|
14
5
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendMail.helpers.js","sourceRoot":"","sources":["../../../src/common/mail/sendMail.helpers.ts"],"names":[],"mappings":";;;AAAA,oDAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"sendMail.helpers.js","sourceRoot":"","sources":["../../../src/common/mail/sendMail.helpers.ts"],"names":[],"mappings":";;;AAAA,oDAAkE;AAClE,qDAA6E;AAE7E,2CAAwC;AAExC,MAAM,SAAS,GACb,CAAC,iBAAO,CAAC,UAAU,IAAI,iBAAO,CAAC,UAAU,EAAE,QAAQ;IACjD,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,IAAI,sBAAS,CAAC;QACZ,MAAM,EAAE,iBAAO,CAAC,UAAU,CAAC,MAAM;QACjC,WAAW,EAAE;YACX,WAAW,EAAE,iBAAO,CAAC,UAAU,CAAC,WAAW;YAC3C,eAAe,EAAE,iBAAO,CAAC,UAAU,CAAC,eAAe;SACpD;KACF,CAAC,CAAC;AAEF,KAAK,UAAU,QAAQ,CAC5B,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAY,EACxC,EAAE,MAAM,EAAsB;IAE9B,MAAM,IAAI,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,IAAI,IAAA,uBAAU,EAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAA,uBAAU,EAAC,OAAO,CAAC,KAAK,CAAC,GAAG;QAChE,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,CAAC,KAAK,CACV,cAAc,IAAI,CAAC,SAAS,CAAC;QAC3B,IAAI,EAAE,iBAAO,CAAC,UAAU,EAAE,IAAI;QAC9B,EAAE;QACF,WAAW;QACX,OAAO;QACP,IAAI;QACJ,IAAI;KACL,CAAC,EAAE,CACL,CAAC;IAEF,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAO,CAAC,UAAU;QAAE,OAAO;IAE9C,MAAM,OAAO,GAAG,IAAI,6BAAgB,CAAC;QACnC,MAAM,EAAE,iBAAO,CAAC,UAAU,CAAC,IAAI;QAC/B,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,EAAE,CAAC;SAClB;QACD,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QACzD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,OAAO;aACd;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,IAAI;iBACX;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,IAAI;iBACX;aACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AA/CD,4BA+CC"}
|
package/dist/context.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageSize } from "@paroicms/anywhere-lib";
|
|
2
|
-
import { type SimpleTranslator } from "
|
|
2
|
+
import { type SimpleTranslator } from "@paroicms/plugin-lib";
|
|
3
3
|
import type { SiteConf } from "./site-context/site-conf";
|
|
4
4
|
import type { SiteSchemaLibrary } from "./site-schema/site-schema-lib-reader";
|
|
5
5
|
export declare const dbAnyLanguage = ".";
|
package/dist/context.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.initializeContext = exports.simpleI18n = exports.platformAuthUrl = exports.platformJwtSecret = exports.jwtExpiresIn = exports.jwtSecret = exports.getSiteSchemaLib = exports.initSiteSchemaLib = exports.siteConfs = exports.thumbRealSize = exports.platformLog = exports.appConf = exports.typeValidator = exports.appName = exports.appVersion = exports.packageDir = exports.siteSchemaVersion = exports.dbAnyLanguage = void 0;
|
|
5
|
+
const plugin_lib_1 = require("@paroicms/plugin-lib");
|
|
5
6
|
const server_lib_1 = require("@paroicms/server-lib");
|
|
6
7
|
const validator_1 = require("@typeonly/validator");
|
|
7
8
|
const node_fs_1 = require("node:fs");
|
|
8
9
|
const node_path_1 = require("node:path");
|
|
9
10
|
const app_conf_provider_1 = require("./app-conf/app-conf-provider");
|
|
10
11
|
const jwt_secret_helpers_1 = require("./helpers/jwt-secret.helpers");
|
|
11
|
-
const simple_i18n_1 = require("./helpers/simple-i18n");
|
|
12
12
|
const pino_app_log_1 = require("./share/pino-app-log");
|
|
13
13
|
const read_configuration_1 = require("./share/read-configuration");
|
|
14
14
|
exports.dbAnyLanguage = ".";
|
|
@@ -55,7 +55,7 @@ exports.platformAuthUrl = exports.appConf.googleAuth && !exports.appConf.googleA
|
|
|
55
55
|
: undefined;
|
|
56
56
|
async function initializeContext(siteConfsVal) {
|
|
57
57
|
exports.siteConfs = siteConfsVal;
|
|
58
|
-
exports.simpleI18n = await (0,
|
|
58
|
+
exports.simpleI18n = await (0, plugin_lib_1.createSimpleTranslator)({
|
|
59
59
|
l10nDir: (0, node_path_1.join)(exports.packageDir, "locales"),
|
|
60
60
|
languages: server_lib_1.supportedLanguages,
|
|
61
61
|
appLog: exports.platformLog,
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;;AACA,qDAA0D;AAC1D,mDAAsD;AACtD,qCAA2E;AAC3E,yCAA0C;AAC1C,oEAAyD;AACzD,qEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
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.pluginPublicApiMiddleware = void 0;
|
|
7
|
+
const make_plugin_site_context_1 = __importDefault(require("../helpers/make-plugin-site-context"));
|
|
8
|
+
const site_context_1 = require("../site-context/site-context");
|
|
9
|
+
const http_helpers_1 = require("./http-helpers");
|
|
10
|
+
async function pluginPublicApiMiddleware(req, res, next) {
|
|
11
|
+
const path = req.path;
|
|
12
|
+
const prefix = "/api/plugin/";
|
|
13
|
+
if (!path.startsWith(prefix)) {
|
|
14
|
+
next();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
let siteContext;
|
|
18
|
+
try {
|
|
19
|
+
siteContext = await (0, site_context_1.getSiteContext)(req.hostname);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
(0, http_helpers_1.serve404SimpleHtml)(res);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const sepIndex = path.indexOf("/", prefix.length);
|
|
26
|
+
const pluginPublicDirName = sepIndex === -1 ? path.substring(prefix.length) : path.substring(prefix.length, sepIndex);
|
|
27
|
+
const relativePath = sepIndex === -1 ? "" : path.substring(sepIndex);
|
|
28
|
+
const plugin = siteContext.plugins.get(pluginPublicDirName);
|
|
29
|
+
if (!plugin || !plugin.publicApiHandler) {
|
|
30
|
+
(0, http_helpers_1.serve404SimpleHtml)(res);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
await plugin.publicApiHandler((0, make_plugin_site_context_1.default)(siteContext), req, res, relativePath);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
siteContext.siteLog.error(error);
|
|
38
|
+
(0, http_helpers_1.serve500Html)(res, siteContext);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.pluginPublicApiMiddleware = pluginPublicApiMiddleware;
|
|
42
|
+
//# sourceMappingURL=public-api-middlewares.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api-middlewares.js","sourceRoot":"","sources":["../../src/express/public-api-middlewares.ts"],"names":[],"mappings":";;;;;;AACA,mGAAwE;AACxE,+DAA8D;AAE9D,iDAAkE;AAE3D,KAAK,UAAU,yBAAyB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAgB;IAC3F,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,cAAc,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IAED,IAAI,WAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,IAAA,6BAAc,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,iCAAkB,EAAC,GAAG,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,mBAAmB,GACvB,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5F,MAAM,YAAY,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACxC,IAAA,iCAAkB,EAAC,GAAG,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAA,kCAAqB,EAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAA,2BAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAhCD,8DAgCC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function publicAssetsMiddleware(req: Request, res: Response, next: () => void): Promise<void>;
|
|
3
3
|
export declare function boMiddleware(req: Request, res: Response, next: () => void): Promise<void>;
|
|
4
4
|
export declare function boPluginsMiddleware(req: Request, res: Response, next: () => void): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.boPluginsMiddleware = exports.boMiddleware = exports.
|
|
3
|
+
exports.boPluginsMiddleware = exports.boMiddleware = exports.publicAssetsMiddleware = void 0;
|
|
4
4
|
const bo_1 = require("@paroicms/bo");
|
|
5
5
|
const server_lib_1 = require("@paroicms/server-lib");
|
|
6
6
|
const site_app_1 = require("@paroicms/site-app");
|
|
@@ -11,9 +11,9 @@ const context_1 = require("../context");
|
|
|
11
11
|
const site_context_1 = require("../site-context/site-context");
|
|
12
12
|
const http_constants_1 = require("./http-constants");
|
|
13
13
|
const http_helpers_1 = require("./http-helpers");
|
|
14
|
-
async function
|
|
14
|
+
async function publicAssetsMiddleware(req, res, next) {
|
|
15
15
|
let path = req.path;
|
|
16
|
-
if (!path.startsWith("/assets/")) {
|
|
16
|
+
if (!path.startsWith("/assets/") || !["GET", "HEAD"].includes(req.method)) {
|
|
17
17
|
next();
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
@@ -27,10 +27,26 @@ async function themeAssetsMiddleware(req, res, next) {
|
|
|
27
27
|
}
|
|
28
28
|
let pathPrefix;
|
|
29
29
|
let baseDir;
|
|
30
|
+
const pluginAssetsPrefix = "/assets/plugin/";
|
|
30
31
|
if (path.startsWith("/assets/site-app/")) {
|
|
31
32
|
pathPrefix = `${(0, data_format_1.getSiteAppBaseUrl)()}/`;
|
|
32
33
|
baseDir = site_app_1.distDir;
|
|
33
34
|
}
|
|
35
|
+
else if (path.startsWith(pluginAssetsPrefix)) {
|
|
36
|
+
const sepIndex = path.indexOf("/", pluginAssetsPrefix.length);
|
|
37
|
+
if (sepIndex === -1) {
|
|
38
|
+
void render404Asset(siteContext, res);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const pluginPublicDirName = path.substring(pluginAssetsPrefix.length, sepIndex);
|
|
42
|
+
const plugin = siteContext.plugins.get(pluginPublicDirName);
|
|
43
|
+
if (!plugin || !plugin.publicAssetsDir) {
|
|
44
|
+
void render404Asset(siteContext, res);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
baseDir = plugin.publicAssetsDir;
|
|
48
|
+
pathPrefix = `/assets/plugin/${plugin.publicDirName}/${plugin.plugin.version}/`;
|
|
49
|
+
}
|
|
34
50
|
else {
|
|
35
51
|
pathPrefix = `${(0, data_format_1.getAssetsBaseUrl)(siteContext)}/`;
|
|
36
52
|
baseDir = (0, node_path_1.join)(siteContext.themeDir, "assets");
|
|
@@ -56,10 +72,10 @@ async function themeAssetsMiddleware(req, res, next) {
|
|
|
56
72
|
(0, http_helpers_1.serve500Html)(res, siteContext);
|
|
57
73
|
}
|
|
58
74
|
}
|
|
59
|
-
exports.
|
|
75
|
+
exports.publicAssetsMiddleware = publicAssetsMiddleware;
|
|
60
76
|
async function boMiddleware(req, res, next) {
|
|
61
77
|
let path = req.path;
|
|
62
|
-
if (req.method
|
|
78
|
+
if (!["GET", "HEAD"].includes(req.method) ||
|
|
63
79
|
path.startsWith("/adm/api/v1") ||
|
|
64
80
|
(path !== "/adm" && !path.startsWith("/adm/"))) {
|
|
65
81
|
next();
|
|
@@ -94,7 +110,7 @@ async function boMiddleware(req, res, next) {
|
|
|
94
110
|
exports.boMiddleware = boMiddleware;
|
|
95
111
|
async function boPluginsMiddleware(req, res, next) {
|
|
96
112
|
const prefix = "/adm/plugins/";
|
|
97
|
-
if (req.method
|
|
113
|
+
if (!["GET", "HEAD"].includes(req.method) || !req.path.startsWith(prefix)) {
|
|
98
114
|
next();
|
|
99
115
|
return;
|
|
100
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-middlewares.js","sourceRoot":"","sources":["../../src/express/static-middlewares.ts"],"names":[],"mappings":";;;AAAA,qCAAoD;AACpD,qDAAkD;AAClD,iDAA+D;AAE/D,yCAAiC;AACjC,uDAA4E;AAC5E,2DAAwD;AACxD,wCAAgD;AAChD,+DAA8D;AAE9D,qDAAgD;AAChD,iDAAkE;AAE3D,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"static-middlewares.js","sourceRoot":"","sources":["../../src/express/static-middlewares.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PluginSiteContext } from "@paroicms/plugin-lib";
|
|
2
|
+
import type { SiteContext } from "../site-context/site-context.types";
|
|
3
|
+
export default function makePluginSiteContext(siteContext: SiteContext): PluginSiteContext;
|
|
4
|
+
export declare function createValidateRecaptchaResponseForPlugin(siteContext: Pick<SiteContext, "fqdn">): (gRecaptchaResponse: string | undefined) => Promise<boolean>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createValidateRecaptchaResponseForPlugin = void 0;
|
|
4
|
+
const sendMail_helpers_1 = require("../common/mail/sendMail.helpers");
|
|
5
|
+
const context_1 = require("../context");
|
|
6
|
+
const load_fields_queries_1 = require("../modules/core/fields/load-fields.queries");
|
|
7
|
+
const validate_recaptcha_response_1 = require("../modules/public-api/mail/validate-recaptcha-response");
|
|
8
|
+
function makePluginSiteContext(siteContext) {
|
|
9
|
+
return {
|
|
10
|
+
fqdn: siteContext.fqdn,
|
|
11
|
+
multilingual: siteContext.multilingual,
|
|
12
|
+
siteLog: siteContext.siteLog,
|
|
13
|
+
siteSchema: siteContext.siteSchema,
|
|
14
|
+
siteUrl: siteContext.siteUrl,
|
|
15
|
+
themeConf: siteContext.themeConf,
|
|
16
|
+
validateRecaptchaResponse: createValidateRecaptchaResponseForPlugin(siteContext),
|
|
17
|
+
getSiteFieldValue: async (options) => {
|
|
18
|
+
return await (0, load_fields_queries_1.getSiteFieldValue)(siteContext, options);
|
|
19
|
+
},
|
|
20
|
+
sendMail: sendMail_helpers_1.sendMail,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
exports.default = makePluginSiteContext;
|
|
24
|
+
function createValidateRecaptchaResponseForPlugin(siteContext) {
|
|
25
|
+
if (!context_1.appConf.googleRecaptcha || context_1.appConf.googleRecaptcha.disabled) {
|
|
26
|
+
return () => Promise.resolve(true);
|
|
27
|
+
}
|
|
28
|
+
const { secretKey } = context_1.appConf.googleRecaptcha;
|
|
29
|
+
return (gRecaptchaResponse) => (0, validate_recaptcha_response_1.validateRecaptchaResponse)(siteContext, { gRecaptchaResponse, secretKey });
|
|
30
|
+
}
|
|
31
|
+
exports.createValidateRecaptchaResponseForPlugin = createValidateRecaptchaResponseForPlugin;
|
|
32
|
+
//# sourceMappingURL=make-plugin-site-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-plugin-site-context.js","sourceRoot":"","sources":["../../src/helpers/make-plugin-site-context.ts"],"names":[],"mappings":";;;AACA,sEAA2D;AAC3D,wCAAqC;AACrC,oFAA+E;AAC/E,wGAAmG;AAGnG,SAAwB,qBAAqB,CAAC,WAAwB;IACpE,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,yBAAyB,EAAE,wCAAwC,CAAC,WAAW,CAAC;QAChF,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,OAAO,MAAM,IAAA,uCAAiB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QACD,QAAQ,EAAR,2BAAQ;KACT,CAAC;AACJ,CAAC;AAdD,wCAcC;AACD,SAAgB,wCAAwC,CACtD,WAAsC;IAEtC,IAAI,CAAC,iBAAO,CAAC,eAAe,IAAI,iBAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QACjE,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,iBAAO,CAAC,eAAe,CAAC;IAC9C,OAAO,CAAC,kBAAsC,EAAE,EAAE,CAChD,IAAA,uDAAyB,EAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC;AAC9E,CAAC;AATD,4FASC"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ const server_lib_1 = require("@paroicms/server-lib");
|
|
|
11
11
|
const compression_1 = __importDefault(require("compression"));
|
|
12
12
|
const express_1 = __importDefault(require("express"));
|
|
13
13
|
const context_1 = require("./context");
|
|
14
|
+
const public_api_middlewares_1 = require("./express/public-api-middlewares");
|
|
14
15
|
const static_middlewares_1 = require("./express/static-middlewares");
|
|
15
16
|
const maintenance_task_1 = require("./maintenance/maintenance-task");
|
|
16
17
|
const shutdown_1 = require("./maintenance/shutdown");
|
|
@@ -34,6 +35,7 @@ async function start(options = {}) {
|
|
|
34
35
|
appLog: context_1.platformLog,
|
|
35
36
|
});
|
|
36
37
|
const expressApp = (0, express_1.default)();
|
|
38
|
+
expressApp.use(express_1.default.json());
|
|
37
39
|
const app = await core_1.NestFactory.create(app_module_1.AppModule, new platform_express_1.ExpressAdapter(expressApp), {
|
|
38
40
|
logger: new nest_custom_logger_1.NestCustomLogger(),
|
|
39
41
|
});
|
|
@@ -41,7 +43,8 @@ async function start(options = {}) {
|
|
|
41
43
|
app.enableCors({ credentials: true, origin: "*" });
|
|
42
44
|
app.use(static_middlewares_1.boPluginsMiddleware);
|
|
43
45
|
app.use(static_middlewares_1.boMiddleware);
|
|
44
|
-
app.use(
|
|
46
|
+
app.use(public_api_middlewares_1.pluginPublicApiMiddleware);
|
|
47
|
+
app.use(static_middlewares_1.publicAssetsMiddleware);
|
|
45
48
|
if (context_1.appConf.hostname) {
|
|
46
49
|
await app.listen(context_1.appConf.port, context_1.appConf.hostname);
|
|
47
50
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA2C;AAC3C,+DAAuF;AACvF,mFAA0E;AAC1E,qDAA8D;AAC9D,8DAAsC;AACtC,sDAA8B;AAC9B,uCAAkG;AAClG,qEAIsC;AACtC,qEAAuF;AACvF,qDAA8D;AAC9D,qDAAiD;AACjD,6DAAwD;AAExD,wDAAwF;AACxF,8DAAuE;AACvE,iFAA+E;AAQxE,KAAK,UAAU,KAAK,CAAC,UAAwB,EAAE;IACpD,IAAI,CAAC;QACH,MAAM,qBAAW,CAAC,UAAU,CAAC;QAC7B,IAAA,uCAAwB,GAAE,CAAC;QAE3B,IAAA,+CAAmB,EAAC,EAAE,GAAG,iBAAO,CAAC,cAAc,EAAE,MAAM,EAAE,qBAAW,EAAE,CAAC,CAAC;QACxE,MAAM,SAAS,GACb,iBAAO,CAAC,IAAI,KAAK,WAAW;YAC1B,CAAC,CAAC,MAAM,IAAA,6BAAiB,EAAC,iBAAO,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC;YACpE,CAAC,CAAC,MAAM,IAAA,qCAAyB,EAAC,iBAAO,CAAC,UAAU,CAAC,CAAC;QAE1D,MAAM,IAAA,2BAAiB,EAAC,SAAS,CAAC,CAAC;QACnC,IAAA,2BAAiB,EAAC,MAAM,IAAA,gDAAuB,GAAE,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,IAAA,0BAAa,EAAC,kCAAe,EAAE;YAC9C,aAAa,EAAE,IAAA,oBAAO,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,EAAE,qBAAW;SACpB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,iBAAO,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.preprocessField = exports.preprocessFields = void 0;
|
|
7
|
+
const make_plugin_site_context_1 = __importDefault(require("../../../helpers/make-plugin-site-context"));
|
|
4
8
|
const make_image_available_1 = require("../../../public-payload/make-image-available");
|
|
5
9
|
async function preprocessFields(siteContext, renderingContext, values, fieldTypes, options) {
|
|
6
10
|
const useImage = getUseImage(siteContext, renderingContext);
|
|
7
11
|
const context = {
|
|
8
|
-
siteContext,
|
|
12
|
+
siteContext: (0, make_plugin_site_context_1.default)(siteContext),
|
|
9
13
|
useImage,
|
|
10
14
|
};
|
|
11
15
|
for (const { name, dataType } of fieldTypes) {
|
|
@@ -21,7 +25,7 @@ exports.preprocessFields = preprocessFields;
|
|
|
21
25
|
async function preprocessField(siteContext, renderingContext, value, fieldTypes, options) {
|
|
22
26
|
const useImage = getUseImage(siteContext, renderingContext);
|
|
23
27
|
const context = {
|
|
24
|
-
siteContext,
|
|
28
|
+
siteContext: (0, make_plugin_site_context_1.default)(siteContext),
|
|
25
29
|
useImage,
|
|
26
30
|
};
|
|
27
31
|
const fieldPreprocessors = siteContext.fieldPreprocessors.get(fieldTypes.dataType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preprocess-fields.js","sourceRoot":"","sources":["../../../../src/modules/core/fields/preprocess-fields.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preprocess-fields.js","sourceRoot":"","sources":["../../../../src/modules/core/fields/preprocess-fields.ts"],"names":[],"mappings":";;;;;;AAEA,yGAA8E;AAE9E,uFAAoG;AAI7F,KAAK,UAAU,gBAAgB,CACpC,WAAwB,EACxB,gBAAkC,EAClC,MAAmB,EACnB,UAAuB,EACvB,OAAkC;IAElC,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC5D,MAAM,OAAO,GAA6B;QACxC,WAAW,EAAE,IAAA,kCAAqB,EAAC,WAAW,CAAC;QAC/C,QAAQ;KACT,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5C,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,kBAAkB;YAAE,SAAS;QAClC,KAAK,MAAM,YAAY,IAAI,kBAAkB,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAnBD,4CAmBC;AAEM,KAAK,UAAU,eAAe,CACnC,WAAwB,EACxB,gBAAkC,EAClC,KAAc,EACd,UAAqB,EACrB,OAAkC;IAElC,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC5D,MAAM,OAAO,GAA6B;QACxC,WAAW,EAAE,IAAA,kCAAqB,EAAC,WAAW,CAAC;QAC/C,QAAQ;KACT,CAAC;IACF,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnF,IAAI,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,KAAK,MAAM,YAAY,IAAI,kBAAkB,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAnBD,0CAmBC;AAED,SAAS,WAAW,CAAC,WAAwB,EAAE,gBAAkC;IAC/E,OAAO,KAAK,EAAE,OAA8C,EAAE,EAAE;QAC9D,MAAM,KAAK,GAA4B,MAAM,IAAA,yCAAkB,EAAC,WAAW,EAAE,gBAAgB,EAAE;YAC7F,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAEvD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SiteContext } from "../../../site-context/site-context.types";
|
|
2
|
+
export declare function validateRecaptchaResponse(siteContext: Pick<SiteContext, "fqdn">, { gRecaptchaResponse, secretKey, }: {
|
|
3
|
+
gRecaptchaResponse: string | undefined;
|
|
4
|
+
secretKey: string;
|
|
5
|
+
}): Promise<boolean>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateRecaptchaResponse = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
async function validateRecaptchaResponse(siteContext, { gRecaptchaResponse, secretKey, }) {
|
|
6
|
+
if (!gRecaptchaResponse)
|
|
7
|
+
throw new common_1.BadRequestException("Missing gRecaptchaResponse");
|
|
8
|
+
if (!secretKey) {
|
|
9
|
+
throw new Error("Invalid configuration, missing 'recaptchaPrivateKey'");
|
|
10
|
+
}
|
|
11
|
+
const url = `https://www.google.com/recaptcha/api/siteverify?secret=${secretKey}&response=${gRecaptchaResponse}`;
|
|
12
|
+
const response = await fetch(url, {
|
|
13
|
+
method: "post",
|
|
14
|
+
});
|
|
15
|
+
if (response.status < 200 || response.status >= 300) {
|
|
16
|
+
throw new Error("Failed to call the Google Recaptcha API");
|
|
17
|
+
}
|
|
18
|
+
const result = (await response.json());
|
|
19
|
+
if (result.hostname !== siteContext.fqdn) {
|
|
20
|
+
throw new common_1.UnauthorizedException();
|
|
21
|
+
}
|
|
22
|
+
return result.success;
|
|
23
|
+
}
|
|
24
|
+
exports.validateRecaptchaResponse = validateRecaptchaResponse;
|
|
25
|
+
//# sourceMappingURL=validate-recaptcha-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-recaptcha-response.js","sourceRoot":"","sources":["../../../../src/modules/public-api/mail/validate-recaptcha-response.ts"],"names":[],"mappings":";;;AAAA,2CAA4E;AAgBrE,KAAK,UAAU,yBAAyB,CAC7C,WAAsC,EACtC,EACE,kBAAkB,EAClB,SAAS,GAIV;IAED,IAAI,CAAC,kBAAkB;QAAE,MAAM,IAAI,4BAAmB,CAAC,4BAA4B,CAAC,CAAC;IACrF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,GAAG,GAAG,0DAA0D,SAAS,aAAa,kBAAkB,EAAE,CAAC;IACjH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsC,CAAC;IAC5E,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,8BAAqB,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AA1BD,8DA0BC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { SendMailInput } from "./mail/mail.dto";
|
|
2
1
|
import { PartialsParamsInput } from "./partials/partials-params.dto";
|
|
3
2
|
import { SearchTextOptionsInput } from "./search-text/search-text.dto";
|
|
4
3
|
import { type Tracker } from "@paroicms/server-lib";
|
|
5
4
|
import type { Request, Response } from "express";
|
|
6
5
|
import type { SiteContext } from "../../site-context/site-context.types";
|
|
7
|
-
import { type SendMailResponseType } from "./mail/contact-form-mail";
|
|
8
6
|
import { type SearchTextOptions } from "./search-text/search-text.queries";
|
|
9
7
|
interface HealthCheckType {
|
|
10
8
|
status: string;
|
|
@@ -19,7 +17,6 @@ export declare class PublicApiController {
|
|
|
19
17
|
search(query: SearchTextOptionsInput, req: Request, res: Response): Promise<{
|
|
20
18
|
total: number;
|
|
21
19
|
} | undefined>;
|
|
22
|
-
sendMail(req: Request, input: SendMailInput): Promise<SendMailResponseType>;
|
|
23
20
|
}
|
|
24
21
|
export interface SearchAndRenderOptions extends SearchTextOptions {
|
|
25
22
|
templateName: string;
|
|
@@ -13,7 +13,6 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.searchAndRender = exports.PublicApiController = void 0;
|
|
16
|
-
const mail_dto_1 = require("./mail/mail.dto");
|
|
17
16
|
const partials_params_dto_1 = require("./partials/partials-params.dto");
|
|
18
17
|
const search_text_dto_1 = require("./search-text/search-text.dto");
|
|
19
18
|
const common_1 = require("@nestjs/common");
|
|
@@ -31,7 +30,6 @@ const doc_values_queries_1 = require("../../public-payload/doc-values.queries");
|
|
|
31
30
|
const site_payload_1 = require("../../public-payload/site-payload");
|
|
32
31
|
const site_context_1 = require("../../site-context/site-context");
|
|
33
32
|
const class_validator_options_1 = require("./class-validator-options");
|
|
34
|
-
const contact_form_mail_1 = require("./mail/contact-form-mail");
|
|
35
33
|
const search_text_queries_1 = require("./search-text/search-text.queries");
|
|
36
34
|
let PublicApiController = class PublicApiController {
|
|
37
35
|
healthCheck() {
|
|
@@ -92,10 +90,6 @@ let PublicApiController = class PublicApiController {
|
|
|
92
90
|
}
|
|
93
91
|
siteContext.siteLog.stats((0, tracker_report_1.trackerReportToMessage)(tracker.toReport(), `serve ${req.url}`));
|
|
94
92
|
}
|
|
95
|
-
async sendMail(req, input) {
|
|
96
|
-
const siteContext = await (0, site_context_1.getSiteContext)(req.hostname);
|
|
97
|
-
return await (0, contact_form_mail_1.sendContactFormMail)(siteContext, input);
|
|
98
|
-
}
|
|
99
93
|
};
|
|
100
94
|
exports.PublicApiController = PublicApiController;
|
|
101
95
|
__decorate([
|
|
@@ -123,15 +117,6 @@ __decorate([
|
|
|
123
117
|
__metadata("design:paramtypes", [search_text_dto_1.SearchTextOptionsInput, Object, Object]),
|
|
124
118
|
__metadata("design:returntype", Promise)
|
|
125
119
|
], PublicApiController.prototype, "search", null);
|
|
126
|
-
__decorate([
|
|
127
|
-
(0, common_1.HttpCode)(200),
|
|
128
|
-
(0, common_1.Post)("submit-contact-form"),
|
|
129
|
-
__param(0, (0, common_1.Req)()),
|
|
130
|
-
__param(1, (0, common_1.Body)()),
|
|
131
|
-
__metadata("design:type", Function),
|
|
132
|
-
__metadata("design:paramtypes", [Object, mail_dto_1.SendMailInput]),
|
|
133
|
-
__metadata("design:returntype", Promise)
|
|
134
|
-
], PublicApiController.prototype, "sendMail", null);
|
|
135
120
|
exports.PublicApiController = PublicApiController = __decorate([
|
|
136
121
|
(0, common_1.Controller)("api/v1"),
|
|
137
122
|
(0, common_1.UsePipes)(new common_1.ValidationPipe(class_validator_options_1.classValidatorOptions))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api-controller.js","sourceRoot":"","sources":["../../../src/modules/public-api/public-api-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"public-api-controller.js","sourceRoot":"","sources":["../../../src/modules/public-api/public-api-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.middleware.js","sourceRoot":"","sources":["../../../../src/modules/public-site/feed/feed.middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiE;AACjE,qDAAmD;AACnD,qDAAqD;AAErD,iEAAqE;AACrE,2DAAkF;AAClF,oGAAsG;AACtG,qEAAoE;AAEpE,qDAAmD;AACnD,iDAA8C;AAGvC,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACvD,MAAM,MAAM,GAAG,IAAA,2BAAY,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAc,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"feed.middleware.js","sourceRoot":"","sources":["../../../../src/modules/public-site/feed/feed.middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiE;AACjE,qDAAmD;AACnD,qDAAqD;AAErD,iEAAqE;AACrE,2DAAkF;AAClF,oGAAsG;AACtG,qEAAoE;AAEpE,qDAAmD;AACnD,iDAA8C;AAGvC,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACvD,MAAM,MAAM,GAAG,IAAA,2BAAY,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAc,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpF,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE;gBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,IAAA,wBAAW,EAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;aACnD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE;gBACrC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,eAAe;gBAChD,OAAO,EAAE,IAAA,wBAAW,EAAC,WAAW,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AA7BY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CA6B1B;AAED,KAAK,UAAU,SAAS,CACtB,WAAwB,EACxB,GAAY,EACZ,GAAa,EACb,EAAE,QAAQ,EAAE,OAAO,EAAyC;IAE5D,MAAM,OAAO,GAAG,IAAA,0BAAa,GAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAA,yBAAY,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,MAAM,IAAA,0CAAsB,EAAC,WAAW,EAAE;QACjE,QAAQ;QACR,OAAO;QACP,aAAa,EAAE,IAAA,mCAAsB,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KACzD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,oCAAoB,EAAC,WAAW,EAAE,OAAO,EAAE;QACzD,QAAQ;QACR,GAAG;QACH,GAAG;QACH,WAAW,EAAE,oCAAoC;KAClD,CAAC,CAAC;IACH,IAAI,MAAM,OAAO,CAAC,cAAc,EAAE;QAAE,OAAO;IAE3C,MAAM,IAAI,GAAG,MAAM,IAAA,gCAAe,EAAC,WAAW,EAAE,gBAAgB,EAAE;QAChE,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -54,6 +54,7 @@ async function generateHeadTags(siteContext, renderingContext, docValues) {
|
|
|
54
54
|
});
|
|
55
55
|
tags.push(`<link rel="alternate" type="application/rss+xml" title="${(0, plugin_lib_1.escapeHtml)(feedDescription)}" href="${(0, plugin_lib_1.escapeHtml)(feedUrl)}">`);
|
|
56
56
|
}
|
|
57
|
+
tags.push(...siteContext.headTags);
|
|
57
58
|
return tags.length === 0 ? "" : `${tags.join("\n")}\n`;
|
|
58
59
|
}
|
|
59
60
|
//# sourceMappingURL=head-tags-filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head-tags-filter.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-filters/head-tags-filter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"head-tags-filter.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-filters/head-tags-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,19 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.initialisePlugins = void 0;
|
|
4
4
|
const liquidjs_filter_1 = require("../liquidjs-tools/liquidjs-filter");
|
|
5
5
|
function initialisePlugins(siteContext, plugins) {
|
|
6
|
-
const
|
|
7
|
-
|
|
6
|
+
for (const p of plugins) {
|
|
7
|
+
const api = createPluginApi(siteContext, p);
|
|
8
8
|
try {
|
|
9
|
-
plugin.siteInit?.(api);
|
|
9
|
+
p.plugin.siteInit?.(api);
|
|
10
10
|
}
|
|
11
11
|
catch (error) {
|
|
12
|
-
siteContext.siteLog.error(`Failed initializing plugin '${pluginName}'`);
|
|
12
|
+
siteContext.siteLog.error(`Failed initializing plugin '${p.pluginName}'`);
|
|
13
13
|
throw error;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.initialisePlugins = initialisePlugins;
|
|
18
|
-
function createPluginApi(siteContext) {
|
|
18
|
+
function createPluginApi(siteContext, plugin) {
|
|
19
19
|
const { liquidEngine } = siteContext;
|
|
20
20
|
return {
|
|
21
21
|
registerLiquidFilter(filterName, handler, options) {
|
|
@@ -24,6 +24,15 @@ function createPluginApi(siteContext) {
|
|
|
24
24
|
raw: options?.raw ?? false,
|
|
25
25
|
});
|
|
26
26
|
},
|
|
27
|
+
setPublicAssetsDirectory(directory) {
|
|
28
|
+
plugin.publicAssetsDir = directory;
|
|
29
|
+
},
|
|
30
|
+
addHeadTag(...htmlTags) {
|
|
31
|
+
siteContext.headTags.push(...htmlTags);
|
|
32
|
+
},
|
|
33
|
+
setPublicApiHandler(handler) {
|
|
34
|
+
plugin.publicApiHandler = handler;
|
|
35
|
+
},
|
|
27
36
|
registerFieldProcessor(dataType, handler) {
|
|
28
37
|
const existingPreprocessor = siteContext.fieldPreprocessors.get(dataType);
|
|
29
38
|
if (!existingPreprocessor) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/plugins/plugin-api.ts"],"names":[],"mappings":";;;AACA,uEAA4E;AAI5E,SAAgB,iBAAiB,CAAC,WAAwB,EAAE,OAAiB;IAC3E,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/plugins/plugin-api.ts"],"names":[],"mappings":";;;AACA,uEAA4E;AAI5E,SAAgB,iBAAiB,CAAC,WAAwB,EAAE,OAAiB;IAC3E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;YAC1E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAVD,8CAUC;AAED,SAAS,eAAe,CAAC,WAAwB,EAAE,MAAc;IAC/D,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IAErC,OAAO;QACL,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO;YAC/C,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE;gBACtC,OAAO,EAAE,IAAA,yCAAuB,EAAC,WAAW,EAAE,OAAO,CAAC;gBACtD,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,KAAK;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,wBAAwB,CAAC,SAAS;YAChC,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,UAAU,CAAC,GAAG,QAAQ;YACpB,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,mBAAmB,CAAC,OAAO;YACzB,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC;QACpC,CAAC;QACD,sBAAsB,CAAC,QAAQ,EAAE,OAAO;YACtC,MAAM,oBAAoB,GAAG,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1E,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type { ParoiCmsPlugin } from "@paroicms/plugin-lib";
|
|
1
|
+
import type { ParoiCmsPlugin, PublicApiHandler } from "@paroicms/plugin-lib";
|
|
2
2
|
import type { SiteConf } from "../site-context/site-conf";
|
|
3
3
|
export interface Plugin {
|
|
4
4
|
pluginName: string;
|
|
5
5
|
plugin: ParoiCmsPlugin;
|
|
6
6
|
boPluginUrl: string;
|
|
7
|
-
|
|
7
|
+
publicDirName: string;
|
|
8
|
+
publicAssetsDir?: string;
|
|
9
|
+
publicApiHandler?: PublicApiHandler;
|
|
8
10
|
}
|
|
9
11
|
export declare function loadPlugins(siteConf: Pick<SiteConf, "siteDir" | "siteUrl">, pluginNames: string[]): Map<string, Plugin>;
|
|
@@ -12,7 +12,7 @@ function loadPlugins(siteConf, pluginNames) {
|
|
|
12
12
|
const plugin = getImportedPlugin(siteConf, pluginName);
|
|
13
13
|
if (plugin) {
|
|
14
14
|
const { boPluginUrl, urlPath } = urlProvider(pluginName);
|
|
15
|
-
map.set(pluginName, { pluginName, plugin, boPluginUrl, urlPath });
|
|
15
|
+
map.set(pluginName, { pluginName, plugin, boPluginUrl, publicDirName: urlPath });
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
return map;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/plugins/plugin-loader.ts"],"names":[],"mappings":";;;AAAA,yDAA6D;AAE7D,wCAAyC;AAEzC,qDAAuE;AAEvE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/plugins/plugin-loader.ts"],"names":[],"mappings":";;;AAAA,yDAA6D;AAE7D,wCAAyC;AAEzC,qDAAuE;AAEvE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsC,CAAC;AAWtE,SAAgB,WAAW,CACzB,QAA+C,EAC/C,WAAqB;IAErB,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;YACzD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAdD,kCAcC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAIhD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,OAAO,CAAC,UAAkB,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAA,oCAAmB,EAAC,UAAU,CAAC,CAAC;QACjD,IAAI,OAA2B,CAAC;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxB,OAAO,GAAG,OAAO,CAAC;oBAClB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,GAAG,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,QAAQ,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO;YACL,WAAW,EAAE,GAAG,OAAO,gBAAgB,OAAO,EAAE;YAChD,OAAO;SACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAA+C,EAC/C,UAAkB;IAElB,MAAM,YAAY,GAAG,IAAA,+BAAc,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1D,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACrC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1B,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qBAAW,CAAC,KAAK,CACf,mBAAmB,UAAU,eAAe,QAAQ,CAAC,OAAO,MAAM,IAAA,wBAAS,EAAC,KAAK,CAAC,EAAE,CACrF,CAAC;QACF,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAe;IACxC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,GAAG,GAAG,MAAa,CAAC;IAC1B,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createSiteContext = void 0;
|
|
7
7
|
const common_1 = require("@nestjs/common");
|
|
8
|
+
const plugin_lib_1 = require("@paroicms/plugin-lib");
|
|
8
9
|
const server_database_media_storage_1 = require("@paroicms/server-database-media-storage");
|
|
9
10
|
const server_image_cache_engine_1 = require("@paroicms/server-image-cache-engine");
|
|
10
11
|
const server_lib_1 = require("@paroicms/server-lib");
|
|
@@ -13,7 +14,6 @@ const liquidjs_1 = require("liquidjs");
|
|
|
13
14
|
const node_path_1 = require("node:path");
|
|
14
15
|
const text_cache_1 = require("../common/text-cache");
|
|
15
16
|
const context_1 = require("../context");
|
|
16
|
-
const simple_i18n_1 = require("../helpers/simple-i18n");
|
|
17
17
|
const liquidjs_filter_1 = require("../liquidjs-tools/liquidjs-filter");
|
|
18
18
|
const render_1 = __importDefault(require("../liquidjs-tools/render-clone/render"));
|
|
19
19
|
const maintenance_task_1 = require("../maintenance/maintenance-task");
|
|
@@ -79,7 +79,7 @@ async function createSiteContext(siteConf) {
|
|
|
79
79
|
strictFilters: true,
|
|
80
80
|
outputEscape: "escape",
|
|
81
81
|
});
|
|
82
|
-
const themeTranslator = await (0,
|
|
82
|
+
const themeTranslator = await (0, plugin_lib_1.createSimpleTranslator)({
|
|
83
83
|
l10nDir: (0, node_path_1.join)(themeDir, "locales"),
|
|
84
84
|
languages: siteSchema.languages,
|
|
85
85
|
appLog: siteLog,
|
|
@@ -105,7 +105,8 @@ async function createSiteContext(siteConf) {
|
|
|
105
105
|
themeTranslator,
|
|
106
106
|
multilingual: siteSchema.languages.length > 1,
|
|
107
107
|
themeConf,
|
|
108
|
-
plugins: new Map(plugins.map((plugin) => [plugin.
|
|
108
|
+
plugins: new Map(plugins.map((plugin) => [plugin.publicDirName, plugin])),
|
|
109
|
+
headTags: [],
|
|
109
110
|
logNextQuery,
|
|
110
111
|
siteLog,
|
|
111
112
|
fieldPreprocessors: new Map(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-site-context.js","sourceRoot":"","sources":["../../src/site-context/create-site-context.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAmD;AAEnD,2FAAuE;AACvE,mFAA6E;AAC7E,qDAAuD;AACvD,iFAI4C;AAC5C,uCAAkC;AAClC,yCAAiC;AAEjC,qDAA0F;AAC1F,wCAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"create-site-context.js","sourceRoot":"","sources":["../../src/site-context/create-site-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { SiteSchema, ThemeConf } from "@paroicms/anywhere-lib";
|
|
2
|
-
import type { FieldPreprocessor } from "@paroicms/plugin-lib";
|
|
2
|
+
import type { FieldPreprocessor, SimpleTranslator } from "@paroicms/plugin-lib";
|
|
3
3
|
import type { MediaStorage } from "@paroicms/server-database-media-storage";
|
|
4
4
|
import type { ImageCacheEngine } from "@paroicms/server-image-cache-engine";
|
|
5
5
|
import type { TextCacheSystem } from "@paroicms/server-text-cache-system";
|
|
6
6
|
import type { Liquid } from "liquidjs";
|
|
7
7
|
import type { DataSource } from "typeorm";
|
|
8
|
-
import type { SimpleTranslator } from "../helpers/simple-i18n";
|
|
9
8
|
import type { Plugin } from "../plugins/plugin-loader";
|
|
10
9
|
import type { AppLog } from "../share/pino-app-log";
|
|
11
10
|
export interface SiteContext {
|
|
@@ -29,6 +28,7 @@ export interface SiteContext {
|
|
|
29
28
|
multilingual: boolean;
|
|
30
29
|
themeConf: ThemeConf;
|
|
31
30
|
plugins: Map<string, Plugin>;
|
|
31
|
+
headTags: string[];
|
|
32
32
|
logNextQuery: (count?: number) => void;
|
|
33
33
|
siteLog: AppLog;
|
|
34
34
|
fieldPreprocessors: Map<string, FieldPreprocessor[]>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.41.1",
|
|
4
4
|
"description": "The ParoiCMS server",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cms",
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
"@paroi/data-formatters-lib": "~0.3.0",
|
|
50
50
|
"@paroicms/anywhere-lib": "1.15.0",
|
|
51
51
|
"@paroicms/bo": "1.32.0",
|
|
52
|
-
"@paroicms/plugin-lib": "0.
|
|
52
|
+
"@paroicms/plugin-lib": "0.5.1",
|
|
53
53
|
"@paroicms/server-database-media-storage": "1.6.4",
|
|
54
|
-
"@paroicms/server-image-cache-engine": "1.
|
|
54
|
+
"@paroicms/server-image-cache-engine": "1.9.1",
|
|
55
55
|
"@paroicms/server-lib": "1.5.7",
|
|
56
56
|
"@paroicms/server-text-cache-system": "1.5.5",
|
|
57
|
-
"@paroicms/site-app": "1.
|
|
57
|
+
"@paroicms/site-app": "1.8.0",
|
|
58
58
|
"@typeonly/validator": "~0.6.0",
|
|
59
59
|
"archiver": "~7.0.1",
|
|
60
60
|
"bcrypt": "~5.1.0",
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { AppLog } from "@paroicms/server-lib";
|
|
2
|
-
export interface SimpleTranslator {
|
|
3
|
-
translate: (options: SimpleTranslateOptions) => string;
|
|
4
|
-
}
|
|
5
|
-
export interface SimpleTranslateOptions {
|
|
6
|
-
language: string;
|
|
7
|
-
key: string;
|
|
8
|
-
args?: (string | number)[];
|
|
9
|
-
}
|
|
10
|
-
export declare function createSimpleTranslator(options: {
|
|
11
|
-
l10nDir: string;
|
|
12
|
-
languages: string[];
|
|
13
|
-
appLog: Pick<AppLog, "warn">;
|
|
14
|
-
}): Promise<SimpleTranslator>;
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createSimpleTranslator = void 0;
|
|
4
|
-
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
5
|
-
const promises_1 = require("node:fs/promises");
|
|
6
|
-
const node_path_1 = require("node:path");
|
|
7
|
-
async function createSimpleTranslator(options) {
|
|
8
|
-
const labels = await loadLabels(options);
|
|
9
|
-
return {
|
|
10
|
-
translate: (options) => translate(labels, options),
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
exports.createSimpleTranslator = createSimpleTranslator;
|
|
14
|
-
function translate(labels, { args = [], key, language }) {
|
|
15
|
-
let label = labels.get(language)?.[key] ?? key;
|
|
16
|
-
const variables = findVariablesInString(label, args.length);
|
|
17
|
-
variables.reverse();
|
|
18
|
-
for (const { indexInString, variableName, variableNumber } of variables) {
|
|
19
|
-
const value = args[variableNumber - 1];
|
|
20
|
-
const before = label.substring(0, indexInString);
|
|
21
|
-
const after = label.substring(indexInString + variableName.length);
|
|
22
|
-
label = `${before}${value}${after}`;
|
|
23
|
-
}
|
|
24
|
-
return label;
|
|
25
|
-
}
|
|
26
|
-
function findVariablesInString(str, max) {
|
|
27
|
-
const matches = [];
|
|
28
|
-
const regex = /\$[0-9]+/g;
|
|
29
|
-
let match;
|
|
30
|
-
while (true) {
|
|
31
|
-
match = regex.exec(str);
|
|
32
|
-
if (!match)
|
|
33
|
-
break;
|
|
34
|
-
const [variableName] = match;
|
|
35
|
-
const variableNumber = (0, data_formatters_lib_1.nbVal)(variableName.substring(1), { varName: variableName });
|
|
36
|
-
if (variableNumber <= max) {
|
|
37
|
-
matches.push({
|
|
38
|
-
variableName,
|
|
39
|
-
variableNumber,
|
|
40
|
-
indexInString: match.index,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return matches;
|
|
45
|
-
}
|
|
46
|
-
async function loadLabels({ l10nDir, languages, appLog, }) {
|
|
47
|
-
const labels = new Map();
|
|
48
|
-
for (const language of languages) {
|
|
49
|
-
let content;
|
|
50
|
-
try {
|
|
51
|
-
content = await (0, promises_1.readFile)((0, node_path_1.join)(l10nDir, `${language}.json`), "utf-8");
|
|
52
|
-
}
|
|
53
|
-
catch {
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
try {
|
|
57
|
-
labels.set(language, flattenLocales(JSON.parse(content)));
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
appLog.warn(`invalid locale file '${(0, node_path_1.join)(l10nDir, `${language}.json`)}'`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return labels;
|
|
64
|
-
}
|
|
65
|
-
function flattenLocales(source, prefix = "") {
|
|
66
|
-
const result = {};
|
|
67
|
-
for (const [key, val] of Object.entries(source)) {
|
|
68
|
-
if (val === null)
|
|
69
|
-
throw new Error(`invalid null value for '${key}'`);
|
|
70
|
-
if (typeof val === "string") {
|
|
71
|
-
result[`${prefix}${key}`] = val;
|
|
72
|
-
}
|
|
73
|
-
else if (typeof val === "object") {
|
|
74
|
-
Object.assign(result, flattenLocales(val, `${prefix}${key}.`));
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
throw new Error(`invalid value for '${key}'`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return result;
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=simple-i18n.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple-i18n.js","sourceRoot":"","sources":["../../src/helpers/simple-i18n.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { SendMailInput } from "./mail.dto";
|
|
2
|
-
import type { SiteContext } from "../../../site-context/site-context.types";
|
|
3
|
-
export interface SendMailResponseType {
|
|
4
|
-
success: boolean;
|
|
5
|
-
message?: string;
|
|
6
|
-
senderEmail?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function sendContactFormMail(siteContext: Pick<SiteContext, "fqdn" | "cn" | "siteSchema" | "siteIds" | "siteLog">, input: SendMailInput): Promise<SendMailResponseType>;
|
|
@@ -1,96 +0,0 @@
|
|
|
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.sendContactFormMail = void 0;
|
|
7
|
-
const common_1 = require("@nestjs/common");
|
|
8
|
-
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
9
|
-
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
10
|
-
const plugin_lib_1 = require("@paroicms/plugin-lib");
|
|
11
|
-
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
12
|
-
const sendMail_helpers_1 = require("../../../common/mail/sendMail.helpers");
|
|
13
|
-
const context_1 = require("../../../context");
|
|
14
|
-
const load_fields_queries_1 = require("../../core/fields/load-fields.queries");
|
|
15
|
-
async function sendContactFormMail(siteContext, input) {
|
|
16
|
-
const { email, name, message, subject, gRecaptchaResponse } = input;
|
|
17
|
-
let contactEmail;
|
|
18
|
-
try {
|
|
19
|
-
contactEmail = (0, data_formatters_lib_1.strValOrUndef)(await (0, load_fields_queries_1.getSiteFieldValue)(siteContext, { fieldName: "contactEmail", language: input.language }));
|
|
20
|
-
if (!contactEmail)
|
|
21
|
-
throw new Error(`['${siteContext.fqdn}'] missing 'contactEmail' site field`);
|
|
22
|
-
if (context_1.appConf.googleRecaptcha && !context_1.appConf.googleRecaptcha.disabled) {
|
|
23
|
-
await validateRecaptchaResponse(siteContext, gRecaptchaResponse, context_1.appConf.googleRecaptcha.secretKey);
|
|
24
|
-
}
|
|
25
|
-
const noSubject = context_1.simpleI18n.translate({
|
|
26
|
-
key: "contactForm.noSubject",
|
|
27
|
-
language: input.language,
|
|
28
|
-
});
|
|
29
|
-
const contactFrom = context_1.simpleI18n.translate({
|
|
30
|
-
key: "contactForm.contactFrom",
|
|
31
|
-
language: input.language,
|
|
32
|
-
args: [siteContext.fqdn],
|
|
33
|
-
});
|
|
34
|
-
await (0, sendMail_helpers_1.sendMail)({
|
|
35
|
-
to: contactEmail,
|
|
36
|
-
replyTo: { email, name },
|
|
37
|
-
subject: `${subject ?? noSubject} ${contactFrom}`,
|
|
38
|
-
html: `<p>${context_1.simpleI18n.translate({
|
|
39
|
-
key: "contactForm.nameIs",
|
|
40
|
-
language: input.language,
|
|
41
|
-
args: [(0, plugin_lib_1.escapeHtml)(name)],
|
|
42
|
-
})}</p>
|
|
43
|
-
<p>${context_1.simpleI18n.translate({
|
|
44
|
-
key: "contactForm.emailIs",
|
|
45
|
-
language: input.language,
|
|
46
|
-
args: [(0, plugin_lib_1.escapeHtml)(email)],
|
|
47
|
-
})}</p>
|
|
48
|
-
<p>${(0, plugin_lib_1.escapeHtml)(message, { newLinesToBr: true })}</p>`,
|
|
49
|
-
}, { appLog: siteContext.siteLog });
|
|
50
|
-
return {
|
|
51
|
-
success: true,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
if (err instanceof common_1.BadRequestException)
|
|
56
|
-
throw err;
|
|
57
|
-
siteContext.siteLog.error(`fail to send mail: ${(0, anywhere_lib_1.messageOf)(err)}`);
|
|
58
|
-
return {
|
|
59
|
-
success: false,
|
|
60
|
-
message: contactEmail
|
|
61
|
-
? context_1.simpleI18n.translate({
|
|
62
|
-
key: "contactForm.sendUsAnEmailTo",
|
|
63
|
-
language: input.language,
|
|
64
|
-
args: [contactEmail],
|
|
65
|
-
})
|
|
66
|
-
: context_1.simpleI18n.translate({
|
|
67
|
-
key: "contactForm.sorryMessage",
|
|
68
|
-
language: input.language,
|
|
69
|
-
}),
|
|
70
|
-
senderEmail: email,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.sendContactFormMail = sendContactFormMail;
|
|
75
|
-
async function validateRecaptchaResponse(siteContext, gRecaptchaResponse, googleRecaptchaPrivateKey) {
|
|
76
|
-
if (!gRecaptchaResponse)
|
|
77
|
-
throw new common_1.BadRequestException("Missing gRecaptchaResponse");
|
|
78
|
-
if (!googleRecaptchaPrivateKey) {
|
|
79
|
-
throw new Error("Invalid configuration, missing 'recaptchaPrivateKey'");
|
|
80
|
-
}
|
|
81
|
-
const url = `https://www.google.com/recaptcha/api/siteverify?secret=${googleRecaptchaPrivateKey}&response=${gRecaptchaResponse}`;
|
|
82
|
-
const response = await (0, node_fetch_1.default)(url, {
|
|
83
|
-
method: "post",
|
|
84
|
-
});
|
|
85
|
-
if (response.status < 200 || response.status >= 300) {
|
|
86
|
-
throw new Error("Failed to call the Google Recaptcha API");
|
|
87
|
-
}
|
|
88
|
-
const payload = (await response.json());
|
|
89
|
-
if (!payload.success) {
|
|
90
|
-
throw new common_1.BadRequestException("invalid recaptcha response");
|
|
91
|
-
}
|
|
92
|
-
if (payload.hostname !== siteContext.fqdn) {
|
|
93
|
-
throw new common_1.UnauthorizedException();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=contact-form-mail.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contact-form-mail.js","sourceRoot":"","sources":["../../../../src/modules/public-api/mail/contact-form-mail.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SendMailInput = void 0;
|
|
13
|
-
const class_validator_1 = require("class-validator");
|
|
14
|
-
class SendMailInput {
|
|
15
|
-
language;
|
|
16
|
-
email;
|
|
17
|
-
name;
|
|
18
|
-
subject;
|
|
19
|
-
message;
|
|
20
|
-
gRecaptchaResponse;
|
|
21
|
-
}
|
|
22
|
-
exports.SendMailInput = SendMailInput;
|
|
23
|
-
__decorate([
|
|
24
|
-
(0, class_validator_1.IsString)(),
|
|
25
|
-
(0, class_validator_1.IsNotEmpty)(),
|
|
26
|
-
(0, class_validator_1.IsDefined)(),
|
|
27
|
-
__metadata("design:type", String)
|
|
28
|
-
], SendMailInput.prototype, "language", void 0);
|
|
29
|
-
__decorate([
|
|
30
|
-
(0, class_validator_1.IsEmail)(),
|
|
31
|
-
(0, class_validator_1.IsDefined)(),
|
|
32
|
-
__metadata("design:type", String)
|
|
33
|
-
], SendMailInput.prototype, "email", void 0);
|
|
34
|
-
__decorate([
|
|
35
|
-
(0, class_validator_1.IsString)(),
|
|
36
|
-
(0, class_validator_1.IsNotEmpty)(),
|
|
37
|
-
(0, class_validator_1.IsDefined)(),
|
|
38
|
-
__metadata("design:type", String)
|
|
39
|
-
], SendMailInput.prototype, "name", void 0);
|
|
40
|
-
__decorate([
|
|
41
|
-
(0, class_validator_1.IsString)(),
|
|
42
|
-
(0, class_validator_1.IsNotEmpty)(),
|
|
43
|
-
__metadata("design:type", String)
|
|
44
|
-
], SendMailInput.prototype, "subject", void 0);
|
|
45
|
-
__decorate([
|
|
46
|
-
(0, class_validator_1.IsString)(),
|
|
47
|
-
(0, class_validator_1.IsNotEmpty)(),
|
|
48
|
-
(0, class_validator_1.IsDefined)(),
|
|
49
|
-
__metadata("design:type", String)
|
|
50
|
-
], SendMailInput.prototype, "message", void 0);
|
|
51
|
-
__decorate([
|
|
52
|
-
(0, class_validator_1.IsString)(),
|
|
53
|
-
(0, class_validator_1.IsNotEmpty)(),
|
|
54
|
-
__metadata("design:type", String)
|
|
55
|
-
], SendMailInput.prototype, "gRecaptchaResponse", void 0);
|
|
56
|
-
//# sourceMappingURL=mail.dto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mail.dto.js","sourceRoot":"","sources":["../../../../src/modules/public-api/mail/mail.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2E;AAE3E,MAAa,aAAa;IAIxB,QAAQ,CAAU;IAIlB,KAAK,CAAU;IAKf,IAAI,CAAU;IAId,OAAO,CAAU;IAKjB,OAAO,CAAU;IAIjB,kBAAkB,CAAU;CAC7B;AA3BD,sCA2BC;AAvBC;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;+CACM;AAIlB;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,2BAAS,GAAE;;4CACG;AAKf;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;2CACE;AAId;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8CACI;AAKjB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;8CACK;AAIjB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yDACe"}
|