@paroicms/server 1.11.1 → 1.12.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 +6 -2
- package/ddl/main.ddl.sql +2 -2
- package/dist/common/serve-html-or.d.ts +3 -3
- package/dist/common/serve-html-or.js +28 -24
- package/dist/common/serve-html-or.js.map +1 -1
- package/dist/express/http-helpers.d.ts +7 -4
- package/dist/express/http-helpers.js +40 -22
- package/dist/express/http-helpers.js.map +1 -1
- package/dist/helpers/url.helpers.d.ts +31 -0
- package/dist/helpers/url.helpers.js +31 -1
- package/dist/helpers/url.helpers.js.map +1 -1
- package/dist/helpers/utils-helper.d.ts +1 -2
- package/dist/helpers/utils-helper.js +6 -14
- package/dist/helpers/utils-helper.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-rendering/rendering-context.js +1 -1
- package/dist/liquidjs-tools/liquidjs-rendering/rendering-context.js.map +1 -1
- package/dist/modules/app.controller.js +12 -8
- package/dist/modules/app.controller.js.map +1 -1
- package/dist/modules/core/account/account.resolver.d.ts +1 -1
- package/dist/modules/core/account/account.resolver.js +2 -2
- package/dist/modules/core/account/account.resolver.js.map +1 -1
- package/dist/modules/core/document/document.resolver.d.ts +1 -1
- package/dist/modules/core/document/document.resolver.js +1 -1
- package/dist/modules/core/document/document.resolver.js.map +1 -1
- package/dist/modules/core/media/media-upload.controller.js +18 -4
- package/dist/modules/core/media/media-upload.controller.js.map +1 -1
- package/dist/modules/core/media/media.d.ts +10 -13
- package/dist/modules/core/media/media.js +15 -19
- package/dist/modules/core/media/media.js.map +1 -1
- package/dist/modules/core/media/media.resolver.d.ts +1 -1
- package/dist/modules/core/media/media.resolver.js +14 -4
- package/dist/modules/core/media/media.resolver.js.map +1 -1
- package/dist/modules/core/unprotected/unprotected.resolver.js +4 -1
- package/dist/modules/core/unprotected/unprotected.resolver.js.map +1 -1
- package/dist/modules/public-api/mail/contact-form-mail.d.ts +1 -1
- package/dist/modules/public-api/mail/contact-form-mail.js.map +1 -1
- package/dist/modules/public-api/password-reset/password-reset.controller.d.ts +1 -1
- package/dist/modules/public-api/password-reset/password-reset.controller.js +1 -1
- package/dist/modules/public-api/password-reset/password-reset.controller.js.map +1 -1
- package/dist/modules/public-api/password-reset/password-reset.service.d.ts +1 -1
- package/dist/modules/public-api/password-reset/password-reset.service.js.map +1 -1
- package/dist/modules/public-api/public-api-controller.d.ts +3 -3
- package/dist/modules/public-api/public-api-controller.js +6 -6
- package/dist/modules/public-api/public-api-controller.js.map +1 -1
- package/dist/modules/public-site/media-serve/_media-serve-helpers.d.ts +5 -11
- package/dist/modules/public-site/media-serve/_media-serve-helpers.js +14 -21
- package/dist/modules/public-site/media-serve/_media-serve-helpers.js.map +1 -1
- package/dist/modules/public-site/media-serve/media-serve.controller.d.ts +3 -1
- package/dist/modules/public-site/media-serve/media-serve.controller.js +139 -57
- package/dist/modules/public-site/media-serve/media-serve.controller.js.map +1 -1
- package/dist/modules/public-site/public-site.controller.js +1 -1
- package/dist/modules/public-site/public-site.middleware.js +3 -5
- package/dist/modules/public-site/public-site.middleware.js.map +1 -1
- package/dist/modules/security/complexity-plugin.d.ts +1 -1
- package/dist/modules/security/complexity-plugin.js +1 -1
- package/dist/modules/security/complexity-plugin.js.map +1 -1
- package/dist/public-payload/make-image-available.d.ts +1 -1
- package/dist/public-payload/make-image-available.js +14 -8
- package/dist/public-payload/make-image-available.js.map +1 -1
- package/dist/site-context/create-site-context.js +7 -7
- package/dist/site-context/create-site-context.js.map +1 -1
- package/dist/site-context/db-init/db-init.d.ts +2 -1
- package/dist/site-context/db-init/db-init.js +3 -3
- package/dist/site-context/db-init/db-init.js.map +1 -1
- package/dist/site-context/db-init/ddl-migration.d.ts +4 -2
- package/dist/site-context/db-init/ddl-migration.js +62 -3
- package/dist/site-context/db-init/ddl-migration.js.map +1 -1
- package/dist/site-context/site-conf.js +13 -2
- package/dist/site-context/site-conf.js.map +1 -1
- package/dist/types.to.json +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -13,7 +13,10 @@ npm i
|
|
|
13
13
|
npm run dev
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Then, connect to your back-office: http://localhost:8080/adm . Use `dev@localhost` for the login
|
|
16
|
+
Then, connect to your back-office: http://localhost:8080/adm . Use `dev@localhost` for the login,
|
|
17
|
+
and `init` for the password.
|
|
18
|
+
|
|
19
|
+
### Tips
|
|
17
20
|
|
|
18
21
|
Here are some tips:
|
|
19
22
|
|
|
@@ -33,7 +36,8 @@ Here are some tips:
|
|
|
33
36
|
|
|
34
37
|
## Documentation
|
|
35
38
|
|
|
36
|
-
|
|
39
|
+
- [Documentation on `config.json`](https://gitlab.com/paroi/opensource/paroicms/-/blob/main/documentation/configuration/index.md).
|
|
40
|
+
- [Documentation on `site-schema.json`](https://gitlab.com/paroi/opensource/paroicms/-/blob/main/documentation/json-of-site-schema/README.md).
|
|
37
41
|
|
|
38
42
|
## Contribute
|
|
39
43
|
|
package/ddl/main.ddl.sql
CHANGED
|
@@ -6,7 +6,7 @@ create table PaDbMetadata (
|
|
|
6
6
|
dbVersion integer not null
|
|
7
7
|
);
|
|
8
8
|
|
|
9
|
-
insert into PaDbMetadata (dbSchema, dbVersion) values ('main',
|
|
9
|
+
insert into PaDbMetadata (dbSchema, dbVersion) values ('main', 6);
|
|
10
10
|
|
|
11
11
|
create table PaAccount (
|
|
12
12
|
id integer not null primary key autoincrement,
|
|
@@ -22,7 +22,7 @@ create table PaLeaf (
|
|
|
22
22
|
leafType varchar(100) not null,
|
|
23
23
|
parentId integer references PaLeaf (id),
|
|
24
24
|
depth smallint not null,
|
|
25
|
-
relativeId varchar(
|
|
25
|
+
relativeId varchar(100) not null,
|
|
26
26
|
publishDate timestamp,
|
|
27
27
|
unique (parentId, relativeId)
|
|
28
28
|
);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { type Tracker } from "@paroicms/server-lib";
|
|
2
2
|
import type { Request, Response } from "express";
|
|
3
3
|
import type { SiteContext } from "../site-context/site-context.types";
|
|
4
|
-
export interface
|
|
4
|
+
export interface ServeTextOr {
|
|
5
5
|
serveFromCache: () => Promise<boolean>;
|
|
6
6
|
putInCacheAndServe: (html: string, dependencyKeys: string[]) => Promise<void>;
|
|
7
7
|
}
|
|
8
|
-
export declare function
|
|
8
|
+
export declare function serveTextFromCacheOr(siteContext: SiteContext, tracker: Tracker, options: {
|
|
9
9
|
cacheKey: string;
|
|
10
10
|
req: Request;
|
|
11
11
|
res: Response;
|
|
12
12
|
contentType?: string;
|
|
13
|
-
}):
|
|
13
|
+
}): ServeTextOr;
|
|
14
14
|
export declare function render404Html(siteContext: SiteContext, res: Response, options?: {
|
|
15
15
|
lang?: string;
|
|
16
16
|
}): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.render404Html = exports.
|
|
3
|
+
exports.render404Html = exports.serveTextFromCacheOr = void 0;
|
|
4
4
|
const server_lib_1 = require("@paroicms/server-lib");
|
|
5
5
|
const http_helpers_1 = require("../express/http-helpers");
|
|
6
6
|
const render_liquidjs_1 = require("../liquidjs-tools/liquidjs-rendering/render-liquidjs");
|
|
@@ -8,63 +8,67 @@ const rendering_context_1 = require("../liquidjs-tools/liquidjs-rendering/render
|
|
|
8
8
|
const make_basic_payload_1 = require("../public-payload/make-basic-payload");
|
|
9
9
|
const text_cache_1 = require("./text-cache");
|
|
10
10
|
const tracker_report_1 = require("./tracker-report");
|
|
11
|
-
function
|
|
11
|
+
function serveTextFromCacheOr(siteContext, tracker, options) {
|
|
12
12
|
const { cacheKey, req, res, contentType } = options;
|
|
13
13
|
return {
|
|
14
14
|
async serveFromCache() {
|
|
15
|
-
const
|
|
16
|
-
if (!
|
|
15
|
+
const cacheVal = await siteContext.textCache.getCacheValue(cacheKey, tracker);
|
|
16
|
+
if (!cacheVal)
|
|
17
17
|
return false;
|
|
18
|
-
(0, http_helpers_1.
|
|
18
|
+
(0, http_helpers_1.serveTextContent)({
|
|
19
19
|
res,
|
|
20
20
|
contentType,
|
|
21
|
-
|
|
22
|
-
or304:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
text: cacheVal.value,
|
|
22
|
+
or304: cacheVal.resourceVersion
|
|
23
|
+
? {
|
|
24
|
+
req,
|
|
25
|
+
etag: cacheVal.resourceVersion,
|
|
26
|
+
}
|
|
27
|
+
: undefined,
|
|
26
28
|
});
|
|
27
29
|
return true;
|
|
28
30
|
},
|
|
29
31
|
async putInCacheAndServe(html, dependencyKeys) {
|
|
30
|
-
const
|
|
32
|
+
const cacheVal = await siteContext.textCache.setCacheValue({
|
|
31
33
|
cacheKey,
|
|
32
34
|
dependencyKeys,
|
|
33
35
|
value: html,
|
|
34
36
|
}, tracker);
|
|
35
|
-
(0, http_helpers_1.
|
|
37
|
+
(0, http_helpers_1.serveTextContent)({
|
|
36
38
|
res,
|
|
37
39
|
contentType,
|
|
38
|
-
|
|
39
|
-
or304:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
text: cacheVal.value,
|
|
41
|
+
or304: cacheVal.resourceVersion
|
|
42
|
+
? {
|
|
43
|
+
req,
|
|
44
|
+
etag: cacheVal.resourceVersion,
|
|
45
|
+
}
|
|
46
|
+
: undefined,
|
|
43
47
|
});
|
|
44
48
|
},
|
|
45
49
|
};
|
|
46
50
|
}
|
|
47
|
-
exports.
|
|
51
|
+
exports.serveTextFromCacheOr = serveTextFromCacheOr;
|
|
48
52
|
async function render404Html(siteContext, res, options) {
|
|
49
53
|
const tracker = (0, server_lib_1.createTracker)();
|
|
50
54
|
const cacheKey = (0, text_cache_1.makeCacheKey)({ kind: "html", url: "404" });
|
|
51
|
-
let
|
|
52
|
-
if (!
|
|
55
|
+
let cacheVal = await siteContext.textCache.getCacheValue(cacheKey, tracker);
|
|
56
|
+
if (!cacheVal) {
|
|
53
57
|
const renderingContext = await (0, rendering_context_1.createRenderingContext)(siteContext, { cacheKey, tracker });
|
|
54
58
|
const html = await (0, render_liquidjs_1.renderLiquidTemplate)(siteContext, renderingContext, {
|
|
55
59
|
templateNames: ["404"],
|
|
56
60
|
payload: (0, make_basic_payload_1.makePublicBasicPayload)(siteContext, renderingContext, options),
|
|
57
61
|
});
|
|
58
|
-
|
|
62
|
+
cacheVal = await siteContext.textCache.setCacheValue({
|
|
59
63
|
cacheKey,
|
|
60
64
|
dependencyKeys: renderingContext.getDependencyKeys(),
|
|
61
65
|
value: html,
|
|
62
66
|
}, tracker);
|
|
63
67
|
}
|
|
64
|
-
(0, http_helpers_1.
|
|
65
|
-
status: 404,
|
|
68
|
+
(0, http_helpers_1.serveTextContent)({
|
|
66
69
|
res,
|
|
67
|
-
|
|
70
|
+
status: 404,
|
|
71
|
+
text: cacheVal.value,
|
|
68
72
|
});
|
|
69
73
|
siteContext.siteLog.stats((0, tracker_report_1.trackerReportToMessage)(tracker.toReport(), `serve ${404}`));
|
|
70
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-html-or.js","sourceRoot":"","sources":["../../src/common/serve-html-or.ts"],"names":[],"mappings":";;;AAAA,qDAAmE;AAEnE,
|
|
1
|
+
{"version":3,"file":"serve-html-or.js","sourceRoot":"","sources":["../../src/common/serve-html-or.ts"],"names":[],"mappings":";;;AAAA,qDAAmE;AAEnE,0DAA2D;AAC3D,0FAA4F;AAC5F,8FAAgG;AAChG,6EAA8E;AAE9E,6CAA4C;AAC5C,qDAA0D;AAO1D,SAAgB,oBAAoB,CAClC,WAAwB,EACxB,OAAgB,EAChB,OAQC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACpD,OAAO;QACL,KAAK,CAAC,cAAc;YAClB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAE5B,IAAA,+BAAgB,EAAC;gBACf,GAAG;gBACH,WAAW;gBACX,IAAI,EAAE,QAAQ,CAAC,KAAK;gBACpB,KAAK,EAAE,QAAQ,CAAC,eAAe;oBAC7B,CAAC,CAAC;wBACE,GAAG;wBACH,IAAI,EAAE,QAAQ,CAAC,eAAe;qBAC/B;oBACH,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,cAAc;YAC3C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,aAAa,CACxD;gBACE,QAAQ;gBACR,cAAc;gBACd,KAAK,EAAE,IAAI;aACZ,EACD,OAAO,CACR,CAAC;YAEF,IAAA,+BAAgB,EAAC;gBACf,GAAG;gBACH,WAAW;gBACX,IAAI,EAAE,QAAQ,CAAC,KAAK;gBACpB,KAAK,EAAE,QAAQ,CAAC,eAAe;oBAC7B,CAAC,CAAC;wBACE,GAAG;wBACH,IAAI,EAAE,QAAQ,CAAC,eAAe;qBAC/B;oBACH,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAxDD,oDAwDC;AAEM,KAAK,UAAU,aAAa,CACjC,WAAwB,EACxB,GAAa,EACb,OAA2B;IAE3B,MAAM,OAAO,GAAG,IAAA,0BAAa,GAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAA,yBAAY,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,QAAQ,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,gBAAgB,GAAG,MAAM,IAAA,0CAAsB,EAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAE1F,MAAM,IAAI,GAAG,MAAM,IAAA,sCAAoB,EAAC,WAAW,EAAE,gBAAgB,EAAE;YACrE,aAAa,EAAE,CAAC,KAAK,CAAC;YACtB,OAAO,EAAE,IAAA,2CAAsB,EAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC;SACxE,CAAC,CAAC;QAEH,QAAQ,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,aAAa,CAClD;YACE,QAAQ;YACR,cAAc,EAAE,gBAAgB,CAAC,iBAAiB,EAAE;YACpD,KAAK,EAAE,IAAI;SACZ,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,IAAA,+BAAgB,EAAC;QACf,GAAG;QACH,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,QAAQ,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,uCAAsB,EAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC;AAhCD,sCAgCC"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
2
|
import type { SiteContext } from "../site-context/site-context.types";
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function serveTextContent({ res, status, contentType, text, or304, }: {
|
|
4
4
|
res: Response;
|
|
5
5
|
status?: number;
|
|
6
6
|
contentType?: string;
|
|
7
|
-
|
|
7
|
+
text: string;
|
|
8
8
|
or304?: {
|
|
9
|
-
|
|
9
|
+
etag: string;
|
|
10
10
|
req: Request;
|
|
11
11
|
};
|
|
12
12
|
}): void;
|
|
13
13
|
export declare function serve500Html(res: Response, _siteContext?: SiteContext): void;
|
|
14
14
|
export declare function serve404SimpleHtml(res: Response): void;
|
|
15
|
-
export declare function serve304NotModified(res: Response
|
|
15
|
+
export declare function serve304NotModified(res: Response, headers: {
|
|
16
|
+
cacheControl: string;
|
|
17
|
+
etag: string;
|
|
18
|
+
}): void;
|
|
16
19
|
export declare function serve301Redirect(res: Response, redirectTo: string): void;
|
|
@@ -1,44 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.serve301Redirect = exports.serve304NotModified = exports.serve404SimpleHtml = exports.serve500Html = exports.
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
res.setHeader("Content-Type", contentType ?? "text/html");
|
|
3
|
+
exports.serve301Redirect = exports.serve304NotModified = exports.serve404SimpleHtml = exports.serve500Html = exports.serveTextContent = void 0;
|
|
4
|
+
function serveTextContent({ res, status, contentType, text, or304, }) {
|
|
5
|
+
const cacheControl = "no-cache";
|
|
7
6
|
if (or304) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
if (or304.req.headers["if-none-match"] === or304.etag) {
|
|
8
|
+
return serve304NotModified(res, {
|
|
9
|
+
cacheControl,
|
|
10
|
+
etag: or304.etag,
|
|
11
|
+
});
|
|
12
12
|
}
|
|
13
|
+
res.append("Cache-Control", cacheControl);
|
|
14
|
+
res.append("Etag", or304.etag);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
res.append("Cache-Control", cacheControl);
|
|
13
18
|
}
|
|
14
|
-
|
|
19
|
+
const buf = Buffer.from(text, "utf-8");
|
|
20
|
+
res.append("Content-Type", contentType ?? "text/html; charset=utf-8");
|
|
21
|
+
res.append("Content-Length", buf.byteLength.toString());
|
|
22
|
+
res.status(status ?? 200);
|
|
23
|
+
res.send(buf);
|
|
15
24
|
res.end();
|
|
16
25
|
}
|
|
17
|
-
exports.
|
|
26
|
+
exports.serveTextContent = serveTextContent;
|
|
18
27
|
function serve500Html(res, _siteContext) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
const html = `<!DOCTYPE html>
|
|
29
|
+
<p>Internal error</p>`;
|
|
30
|
+
serveTextContent({
|
|
31
|
+
res,
|
|
32
|
+
status: 500,
|
|
33
|
+
text: html,
|
|
34
|
+
});
|
|
24
35
|
}
|
|
25
36
|
exports.serve500Html = serve500Html;
|
|
26
37
|
function serve404SimpleHtml(res) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
38
|
+
const html = `<!DOCTYPE html>
|
|
39
|
+
<p>404 Not Found</p>`;
|
|
40
|
+
serveTextContent({
|
|
41
|
+
res,
|
|
42
|
+
status: 404,
|
|
43
|
+
text: html,
|
|
44
|
+
});
|
|
32
45
|
}
|
|
33
46
|
exports.serve404SimpleHtml = serve404SimpleHtml;
|
|
34
|
-
function serve304NotModified(res) {
|
|
47
|
+
function serve304NotModified(res, headers) {
|
|
48
|
+
res.append("Cache-Control", headers.cacheControl);
|
|
49
|
+
res.append("Etag", headers.etag);
|
|
35
50
|
res.status(304);
|
|
51
|
+
res.send();
|
|
36
52
|
res.end();
|
|
37
53
|
}
|
|
38
54
|
exports.serve304NotModified = serve304NotModified;
|
|
39
55
|
function serve301Redirect(res, redirectTo) {
|
|
40
56
|
res.set("location", redirectTo);
|
|
41
|
-
res.status(301)
|
|
57
|
+
res.status(301);
|
|
58
|
+
res.send();
|
|
59
|
+
res.end();
|
|
42
60
|
}
|
|
43
61
|
exports.serve301Redirect = serve301Redirect;
|
|
44
62
|
//# sourceMappingURL=http-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-helpers.js","sourceRoot":"","sources":["../../src/express/http-helpers.ts"],"names":[],"mappings":";;;AAGA,SAAgB,
|
|
1
|
+
{"version":3,"file":"http-helpers.js","sourceRoot":"","sources":["../../src/express/http-helpers.ts"],"names":[],"mappings":";;;AAGA,SAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,MAAM,EACN,WAAW,EACX,IAAI,EACJ,KAAK,GAaN;IACC,MAAM,YAAY,GAAG,UAAU,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YACtD,OAAO,mBAAmB,CAAC,GAAG,EAAE;gBAC9B,YAAY;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,IAAI,0BAA0B,CAAC,CAAC;IACtE,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;IAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC;AAvCD,4CAuCC;AAED,SAAgB,YAAY,CAAC,GAAa,EAAE,YAA0B;IACpE,MAAM,IAAI,GAAG;sBACO,CAAC;IACrB,gBAAgB,CAAC;QACf,GAAG;QACH,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AARD,oCAQC;AAED,SAAgB,kBAAkB,CAAC,GAAa;IAC9C,MAAM,IAAI,GAAG;qBACM,CAAC;IACpB,gBAAgB,CAAC;QACf,GAAG;QACH,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AARD,gDAQC;AAED,SAAgB,mBAAmB,CACjC,GAAa,EACb,OAA+C;IAE/C,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC;AATD,kDASC;AAED,SAAgB,gBAAgB,CAAC,GAAa,EAAE,UAAkB;IAChE,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC;AALD,4CAKC"}
|
|
@@ -1,2 +1,33 @@
|
|
|
1
|
+
import type { CompleteVariantName } from "@paroicms/server-image-cache-engine";
|
|
1
2
|
import type { SiteConf } from "../site-context/site-conf";
|
|
3
|
+
import type { SiteContext } from "../site-context/site-context.types";
|
|
2
4
|
export declare function getBoUrl(siteConf: SiteConf, path?: string): string;
|
|
5
|
+
export interface UrlOfMediaFileValues {
|
|
6
|
+
mediaUid: string;
|
|
7
|
+
mediaType: string;
|
|
8
|
+
originalName: string | undefined;
|
|
9
|
+
absoluteUrl?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function makeUrlOfMediaFile(siteContext: Pick<SiteContext, "siteUrl">, values: UrlOfMediaFileValues): string;
|
|
12
|
+
export declare function makeUrlOfMediaFile(siteContext: Pick<SiteContext, "siteUrl">, values: UrlOfMediaFileValues, options: {
|
|
13
|
+
returnObj: true;
|
|
14
|
+
}): {
|
|
15
|
+
url: string;
|
|
16
|
+
fileName: string;
|
|
17
|
+
};
|
|
18
|
+
export interface UrlOfImageVariantValues {
|
|
19
|
+
mediaUid: string;
|
|
20
|
+
mediaType: string;
|
|
21
|
+
completeVariantName: CompleteVariantName;
|
|
22
|
+
resourceVersion: string | undefined;
|
|
23
|
+
slug: string | undefined;
|
|
24
|
+
absoluteUrl?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function makeUrlOfImageVariant(siteContext: Pick<SiteContext, "siteUrl">, values: UrlOfImageVariantValues): string;
|
|
27
|
+
export declare function makeUrlOfImageVariant(siteContext: Pick<SiteContext, "siteUrl">, values: UrlOfImageVariantValues, options: {
|
|
28
|
+
returnObj: true;
|
|
29
|
+
}): {
|
|
30
|
+
url: string;
|
|
31
|
+
fileName: string;
|
|
32
|
+
};
|
|
33
|
+
export declare function fileExtensionOf(mediaType: string): string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getBoUrl = void 0;
|
|
3
|
+
exports.fileExtensionOf = exports.makeUrlOfImageVariant = exports.makeUrlOfMediaFile = exports.getBoUrl = void 0;
|
|
4
4
|
const context_1 = require("../context");
|
|
5
5
|
function getBoUrl(siteConf, path) {
|
|
6
6
|
const { https } = context_1.appConf.thisServer;
|
|
@@ -9,4 +9,34 @@ function getBoUrl(siteConf, path) {
|
|
|
9
9
|
return `${protocol}://${fqdn}${context_1.boPublicPort !== 80 ? `:${context_1.boPublicPort}` : ""}${path ?? ""}`;
|
|
10
10
|
}
|
|
11
11
|
exports.getBoUrl = getBoUrl;
|
|
12
|
+
function makeUrlOfMediaFile(siteContext, values, options) {
|
|
13
|
+
const { mediaUid, mediaType, originalName, absoluteUrl } = values;
|
|
14
|
+
const fileName = `${originalName ?? "unamed"}${fileExtensionOf(mediaType)}`;
|
|
15
|
+
const relUrl = `/medias/${encodeURIComponent(mediaUid)}/file/${encodeURIComponent(fileName)}`;
|
|
16
|
+
const url = absoluteUrl ? `${siteContext.siteUrl}${relUrl}` : relUrl;
|
|
17
|
+
return options?.returnObj ? { url, fileName } : url;
|
|
18
|
+
}
|
|
19
|
+
exports.makeUrlOfMediaFile = makeUrlOfMediaFile;
|
|
20
|
+
function makeUrlOfImageVariant(siteContext, values, options) {
|
|
21
|
+
const { mediaUid, mediaType, completeVariantName, slug, resourceVersion, absoluteUrl } = values;
|
|
22
|
+
const fileName = `${slug ?? "unamed"}-${completeVariantName}${fileExtensionOf(mediaType)}`;
|
|
23
|
+
let relUrl;
|
|
24
|
+
if (resourceVersion) {
|
|
25
|
+
relUrl = `/medias/${encodeURIComponent(mediaUid)}/image/${encodeURIComponent(resourceVersion)}/${encodeURIComponent(fileName)}`;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
relUrl = `/medias/${encodeURIComponent(mediaUid)}/image/${encodeURIComponent(fileName)}`;
|
|
29
|
+
}
|
|
30
|
+
const url = absoluteUrl ? `${siteContext.siteUrl}${relUrl}` : relUrl;
|
|
31
|
+
return options?.returnObj ? { url, fileName } : url;
|
|
32
|
+
}
|
|
33
|
+
exports.makeUrlOfImageVariant = makeUrlOfImageVariant;
|
|
34
|
+
function fileExtensionOf(mediaType) {
|
|
35
|
+
const regexMatchArray = mediaType.match(/\w+\/([-+.\w]+)/);
|
|
36
|
+
if (!regexMatchArray) {
|
|
37
|
+
throw new Error("media extension is incorrect.");
|
|
38
|
+
}
|
|
39
|
+
return `.${regexMatchArray[1]}`;
|
|
40
|
+
}
|
|
41
|
+
exports.fileExtensionOf = fileExtensionOf;
|
|
12
42
|
//# sourceMappingURL=url.helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.helpers.js","sourceRoot":"","sources":["../../src/helpers/url.helpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"url.helpers.js","sourceRoot":"","sources":["../../src/helpers/url.helpers.ts"],"names":[],"mappings":";;;AACA,wCAAmD;AAInD,SAAgB,QAAQ,CAAC,QAAkB,EAAE,IAAa;IACxD,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAO,CAAC,UAAU,CAAC;IACrC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,GAAG,QAAQ,MAAM,IAAI,GAAG,sBAAY,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,sBAAY,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;AAC9F,CAAC;AALD,4BAKC;AAkBD,SAAgB,kBAAkB,CAChC,WAAyC,EACzC,MAA4B,EAC5B,OAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAClE,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;IAE5E,MAAM,MAAM,GAAG,WAAW,kBAAkB,CAAC,QAAQ,CAAC,SAAS,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAE9F,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACtD,CAAC;AAZD,gDAYC;AAoBD,SAAgB,qBAAqB,CACnC,WAAyC,EACzC,MAA+B,EAC/B,OAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAEhG,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,QAAQ,IAAI,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3F,IAAI,MAAc,CAAC;IACnB,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,GAAG,WAAW,kBAAkB,CAAC,QAAQ,CAAC,UAAU,kBAAkB,CAC1E,eAAe,CAChB,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,WAAW,kBAAkB,CAAC,QAAQ,CAAC,UAAU,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3F,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACtD,CAAC;AAnBD,sDAmBC;AAED,SAAgB,eAAe,CAAC,SAAiB;IAC/C,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE3D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC;AARD,0CAQC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export declare function toHttpHeaderIfModifiedSince(time: unknown): string;
|
|
2
|
-
export declare function mediaTypeToFileExtension(mediaType: string): string;
|
|
3
1
|
export declare function pascalCaseToDashed(s: string): string;
|
|
4
2
|
export declare function toLeafId(leafOrSectionId: string): string;
|
|
3
|
+
export declare function removeExtensionFromFileName(fileName: string): string;
|
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
3
|
+
exports.removeExtensionFromFileName = exports.toLeafId = exports.pascalCaseToDashed = void 0;
|
|
5
4
|
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
6
|
-
function toHttpHeaderIfModifiedSince(time) {
|
|
7
|
-
return (0, data_formatters_lib_1.dateVal)(time).toUTCString();
|
|
8
|
-
}
|
|
9
|
-
exports.toHttpHeaderIfModifiedSince = toHttpHeaderIfModifiedSince;
|
|
10
|
-
function mediaTypeToFileExtension(mediaType) {
|
|
11
|
-
const regexMatchArray = mediaType.match(/\w+\/([-+.\w]+)/);
|
|
12
|
-
if (!regexMatchArray) {
|
|
13
|
-
throw new Error("media extension is incorrect.");
|
|
14
|
-
}
|
|
15
|
-
return regexMatchArray[1];
|
|
16
|
-
}
|
|
17
|
-
exports.mediaTypeToFileExtension = mediaTypeToFileExtension;
|
|
18
5
|
function pascalCaseToDashed(s) {
|
|
19
6
|
return s
|
|
20
7
|
.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`)
|
|
@@ -29,4 +16,9 @@ function toLeafId(leafOrSectionId) {
|
|
|
29
16
|
: leafOrSectionId;
|
|
30
17
|
}
|
|
31
18
|
exports.toLeafId = toLeafId;
|
|
19
|
+
function removeExtensionFromFileName(fileName) {
|
|
20
|
+
const i = fileName.lastIndexOf(".");
|
|
21
|
+
return i === -1 ? fileName : fileName.slice(0, i);
|
|
22
|
+
}
|
|
23
|
+
exports.removeExtensionFromFileName = removeExtensionFromFileName;
|
|
32
24
|
//# sourceMappingURL=utils-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-helper.js","sourceRoot":"","sources":["../../src/helpers/utils-helper.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils-helper.js","sourceRoot":"","sources":["../../src/helpers/utils-helper.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AAExD,SAAgB,kBAAkB,CAAC,CAAS;IAC1C,OAAO,CAAC;SACL,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;SAC/C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC;AAND,gDAMC;AAED,SAAgB,QAAQ,CAAC,eAAuB;IAC9C,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,IAAA,6BAAc,EAAC,eAAe,CAAC,CAAC,MAAM;QACxC,CAAC,CAAC,eAAe,CAAC;AACtB,CAAC;AAJD,4BAIC;AAED,SAAgB,2BAA2B,CAAC,QAAgB;IAC1D,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAHD,kEAGC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.makeTagCacheKeyForRendering = exports.createRenderingContext = void 0;
|
|
4
4
|
let renderingSeq = 0n;
|
|
5
5
|
async function createRenderingContext(siteContext, options) {
|
|
6
|
-
await siteContext.imageCache.
|
|
6
|
+
await siteContext.imageCache.resetUsedKey({ usedKey: options.cacheKey });
|
|
7
7
|
const { cacheKey, tracker } = options;
|
|
8
8
|
const cache = new Map();
|
|
9
9
|
const dependencies = new Set(options.dependencyKey ? [options.dependencyKey] : undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rendering-context.js","sourceRoot":"","sources":["../../../src/liquidjs-tools/liquidjs-rendering/rendering-context.ts"],"names":[],"mappings":";;;AAGA,IAAI,YAAY,GAAG,EAAE,CAAC;AAmBf,KAAK,UAAU,sBAAsB,CAC1C,WAA4C,EAC5C,OAIC;IAED,MAAM,WAAW,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"rendering-context.js","sourceRoot":"","sources":["../../../src/liquidjs-tools/liquidjs-rendering/rendering-context.ts"],"names":[],"mappings":";;;AAGA,IAAI,YAAY,GAAG,EAAE,CAAC;AAmBf,KAAK,UAAU,sBAAsB,CAC1C,WAA4C,EAC5C,OAIC;IAED,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEzE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClG,OAAO;QACL,WAAW,EAAE,EAAE,YAAY;QAC3B,QAAQ;QACR,OAAO;QACP,iBAAiB;YACf,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QACD,gBAAgB,CAAC,GAAG,cAAc;YAChC,KAAK,MAAM,GAAG,IAAI,cAAc;gBAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;QACD,iBAAiB,CAAC,GAAG;YACnB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE3B,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC;QACD,iBAAiB,CAAC,GAAG,EAAE,GAAG;YACxB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC;AAhCD,wDAgCC;AAED,SAAgB,2BAA2B,CACzC,QAAgB,EAChB,EAAE,aAAa,EAA2B;IAE1C,OAAO,GAAG,QAAQ,IAAI,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;AAC5F,CAAC;AALD,kEAKC"}
|
|
@@ -13,17 +13,17 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.AppController = void 0;
|
|
16
|
-
const node_stream_1 = require("node:stream");
|
|
17
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const server_image_cache_engine_1 = require("@paroicms/server-image-cache-engine");
|
|
18
|
+
const node_stream_1 = require("node:stream");
|
|
18
19
|
const media_handles_helpers_1 = require("../common/media-handles.helpers");
|
|
19
20
|
const serve_html_or_1 = require("../common/serve-html-or");
|
|
20
21
|
const context_1 = require("../context");
|
|
21
22
|
const http_helpers_1 = require("../express/http-helpers");
|
|
22
|
-
const utils_helper_1 = require("../helpers/utils-helper");
|
|
23
23
|
const site_context_1 = require("../site-context/site-context");
|
|
24
24
|
let AppController = class AppController {
|
|
25
25
|
robotsTxt(res) {
|
|
26
|
-
res.setHeader("Content-Type", "text/plain");
|
|
26
|
+
res.setHeader("Content-Type", "text/plain; charset=utf-8");
|
|
27
27
|
if (!context_1.appConf.allowRobots) {
|
|
28
28
|
res.send(`User-agent: *
|
|
29
29
|
Disallow: /`);
|
|
@@ -37,9 +37,12 @@ Disallow: /`);
|
|
|
37
37
|
const media = await siteContext.mediaStorage.getMedia({ handle });
|
|
38
38
|
if (media?.kind !== "image")
|
|
39
39
|
return await (0, serve_html_or_1.render404Html)(siteContext, res);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
if (req.headers["if-none-match"] === media.resourceVersion) {
|
|
41
|
+
return (0, http_helpers_1.serve304NotModified)(res, {
|
|
42
|
+
cacheControl: "no-cache",
|
|
43
|
+
etag: media.resourceVersion,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
43
46
|
const file = await siteContext.imageCache.getOrCreateImageWithBinary({
|
|
44
47
|
variantName: "16x16",
|
|
45
48
|
imageRef: {
|
|
@@ -49,12 +52,13 @@ Disallow: /`);
|
|
|
49
52
|
mediaType: media.mediaType,
|
|
50
53
|
},
|
|
51
54
|
mediaType: "image/x-icon",
|
|
52
|
-
|
|
55
|
+
dependsOnUsedKey: "favicon16x16",
|
|
56
|
+
slug: (0, server_image_cache_engine_1.generateImageSlug)(media.originalName),
|
|
53
57
|
});
|
|
54
58
|
if (!file)
|
|
55
59
|
throw new Error(`favicon variant of '${media.uid}' should be available here`);
|
|
56
60
|
res.setHeader("content-type", file.mediaType);
|
|
57
|
-
res.append("
|
|
61
|
+
res.append("Etag", file.resourceVersion);
|
|
58
62
|
node_stream_1.Readable.from(file.binaryFile)
|
|
59
63
|
.on("data", (chunk) => {
|
|
60
64
|
res.write(chunk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.controller.js","sourceRoot":"","sources":["../../src/modules/app.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"app.controller.js","sourceRoot":"","sources":["../../src/modules/app.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2D;AAC3D,mFAAwE;AAExE,6CAAuC;AACvC,2EAAyE;AACzE,2DAAwD;AACxD,wCAAqC;AACrC,0DAA8D;AAC9D,+DAA8D;AAGvD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAExB,SAAS,CAAQ,GAAa;QAC5B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;QAE3D,IAAI,CAAC,iBAAO,CAAC,WAAW,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC;YACH,CAAC,CAAC;YACR,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAQ,GAAY,EAAS,GAAa;QACrD,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAc,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAA,8CAAsB,GAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO;YAAE,OAAO,MAAM,IAAA,6BAAa,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAE1E,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3D,OAAO,IAAA,kCAAmB,EAAC,GAAG,EAAE;gBAC9B,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,KAAK,CAAC,eAAe;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,0BAA0B,CAAC;YACnE,WAAW,EAAE,OAAO;YACpB,QAAQ,EAAE;gBACR,QAAQ,EAAE,KAAK,CAAC,GAAG;gBACnB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B;YACD,SAAS,EAAE,cAAc;YACzB,gBAAgB,EAAE,cAAc;YAChC,IAAI,EAAE,IAAA,6CAAiB,EAAC,KAAK,CAAC,YAAY,CAAC;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,GAAG,4BAA4B,CAAC,CAAC;QAEzF,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzC,sBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;aAC3B,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACpB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;aACD,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACd,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC;CACF,CAAA;AAzDY,sCAAa;AAExB;IADC,IAAA,YAAG,EAAC,aAAa,CAAC;IACR,WAAA,IAAA,YAAG,GAAE,CAAA;;;;8CAUf;AAGK;IADL,IAAA,YAAG,EAAC,cAAc,CAAC;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;4CAyCxC;wBAxDU,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAyDzB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { AccountObjectType, AccountPreferencesInput, AuthenticatedAccountObjectType, CreateAccountInput, UpdateAccountInput } from "./account.schema";
|
|
1
2
|
import { JwtService } from "@nestjs/jwt";
|
|
2
3
|
import type { GraphqlContext } from "../../graphql.types";
|
|
3
|
-
import { AccountObjectType, AccountPreferencesInput, AuthenticatedAccountObjectType, CreateAccountInput, UpdateAccountInput } from "./account.schema";
|
|
4
4
|
export declare class AccountResolver {
|
|
5
5
|
private jwtService;
|
|
6
6
|
constructor(jwtService: JwtService);
|
|
@@ -13,13 +13,13 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.AccountResolver = void 0;
|
|
16
|
-
const
|
|
16
|
+
const account_schema_1 = require("./account.schema");
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
18
19
|
const jwt_1 = require("@nestjs/jwt");
|
|
19
20
|
const site_context_1 = require("../../../site-context/site-context");
|
|
20
21
|
const jwt_auth_guard_1 = require("../auth/jwt.auth.guard");
|
|
21
22
|
const account_queries_1 = require("./account.queries");
|
|
22
|
-
const account_schema_1 = require("./account.schema");
|
|
23
23
|
let AccountResolver = class AccountResolver {
|
|
24
24
|
jwtService;
|
|
25
25
|
constructor(jwtService) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/account/account.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"account.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/account/account.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,qDAM0B;AAE1B,2CAA2F;AAC3F,6CAA+E;AAC/E,qCAAyC;AACzC,qEAAoE;AAEpE,2DAAsD;AACtD,uDAS2B;AAGpB,IAAM,eAAe,GAArB,MAAM,eAAe;IACc;IAAxC,YAAwC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAI5D,AAAN,KAAK,CAAC,OAAO,CAAY,EAAE,IAAI,EAAkB,EAAkC,EAAU;QAC3F,OAAO,MAAM,IAAA,4BAAU,EAAC,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CACJ,EAAE,IAAI,EAAE,GAAG,EAAkB;QAExC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,4BAAmB,CAAC,gCAAgC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,0BAAiB,CAAC,2BAA2B,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,IAAA,yCAAuB,EAAC,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CAAY,EAAE,IAAI,EAAkB;QACnD,OAAO,MAAM,IAAA,gCAAc,EAAC,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAIK,AAAN,KAAK,CAAC,aAAa,CACN,EAAE,IAAI,EAAkB,EACnB,MAA0B;QAE1C,OAAO,MAAM,IAAA,+BAAa,EAAC,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAIK,AAAN,KAAK,CAAC,aAAa,CACN,EAAE,IAAI,EAAkB,EACI,SAAiB,EACxC,MAA0B;QAE1C,OAAO,MAAM,IAAA,+BAAa,EAAC,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAIK,AAAN,KAAK,CAAC,aAAa,CACN,EAAE,IAAI,EAAkB,EACI,SAAiB;QAExD,MAAM,IAAA,+BAAa,EAAC,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAGK,AAAN,KAAK,CAAC,oBAAoB,CACb,EAAE,IAAI,EAAkB,EACI,SAAiB;QAExD,MAAM,IAAA,sCAAoB,EAAC,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAIK,AAAN,KAAK,CAAC,qBAAqB,CACd,EAAE,IAAI,EAAkB,EACI,SAAiB,EACxC,MAA+B;QAE/C,MAAM,IAAA,uCAAqB,EAAC,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3E,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;AA/EY,0CAAe;AAKpB;IAFL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,kCAAiB,CAAC;IAChB,WAAA,IAAA,iBAAO,GAAE,CAAA;IAA4B,WAAA,IAAA,cAAI,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,YAAE,EAAE,CAAC,CAAA;;;;8CAEjF;AAIK;IAFL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,+CAA8B,CAAC;IAEzC,WAAA,IAAA,iBAAO,GAAE,CAAA;;;;kDAWX;AAIK;IAFL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,kCAAiB,CAAC,CAAC;IACd,WAAA,IAAA,iBAAO,GAAE,CAAA;;;;kDAE3B;AAIK;IAFL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,kCAAiB,CAAC;IAE/B,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,QAAQ,CAAC,CAAA;;6CAAS,mCAAkB;;oDAG3C;AAIK;IAFL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,kCAAiB,CAAC;IAE/B,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,YAAE,EAAE,CAAC,CAAA;IACrC,WAAA,IAAA,cAAI,EAAC,QAAQ,CAAC,CAAA;;qDAAS,mCAAkB;;oDAG3C;AAIK;IAFL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAErB,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,YAAE,EAAE,CAAC,CAAA;;;;oDAIvC;AAGK;IADL,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAErB,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,YAAE,EAAE,CAAC,CAAA;;;;2DAIvC;AAIK;IAFL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAEpB,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,YAAE,EAAE,CAAC,CAAA;IACrC,WAAA,IAAA,cAAI,EAAC,QAAQ,CAAC,CAAA;;qDAAS,wCAAuB;;4DAIhD;0BA9EU,eAAe;IAD3B,IAAA,kBAAQ,GAAE;IAEI,WAAA,IAAA,eAAM,EAAC,gBAAU,CAAC,CAAA;qCAAqB,gBAAU;GADnD,eAAe,CA+E3B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { GraphqlContext } from "../../graphql.types";
|
|
2
1
|
import { CreateDocumentValuesInput, CreateLeafWithDocumentValuesInput, DocumentObjectType, UpdateDocumentMetaValuesInput, UpdateDocumentTitleValuesInput } from "./document.schema";
|
|
2
|
+
import type { GraphqlContext } from "../../graphql.types";
|
|
3
3
|
export declare class DocumentResolver {
|
|
4
4
|
document({ fqdn }: GraphqlContext, id: string): Promise<DocumentObjectType>;
|
|
5
5
|
updateDocumentTitle({ fqdn }: GraphqlContext, values: UpdateDocumentTitleValuesInput, id: string): Promise<DocumentObjectType>;
|
|
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.DocumentResolver = void 0;
|
|
16
|
+
const document_schema_1 = require("./document.schema");
|
|
16
17
|
const common_1 = require("@nestjs/common");
|
|
17
18
|
const graphql_1 = require("@nestjs/graphql");
|
|
18
19
|
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
@@ -21,7 +22,6 @@ const data_format_1 = require("../../../common/data-format");
|
|
|
21
22
|
const site_context_1 = require("../../../site-context/site-context");
|
|
22
23
|
const make_url_1 = require("../../public-site/public-route/make-url");
|
|
23
24
|
const jwt_auth_guard_1 = require("../auth/jwt.auth.guard");
|
|
24
|
-
const document_schema_1 = require("./document.schema");
|
|
25
25
|
const load_documents_queries_1 = require("./load-documents.queries");
|
|
26
26
|
const save_documents_queries_1 = require("./save-documents.queries");
|
|
27
27
|
let DocumentResolver = class DocumentResolver {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/document/document.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"document.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/document/document.resolver.ts"],"names":[],"mappings":"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"}
|