@paroicms/server 1.81.1 → 1.83.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/dist/bo-backend/document/document.resolver.extend.js +1 -10
- package/dist/bo-backend/document/document.resolver.extend.js.map +1 -1
- package/dist/bo-backend/document/load-documents.queries.js.map +1 -1
- package/dist/bo-backend/fields/fields.resolver.js +30 -33
- package/dist/bo-backend/fields/fields.resolver.js.map +1 -1
- package/dist/bo-backend/fields/labeling.queries.d.ts +17 -0
- package/dist/bo-backend/fields/labeling.queries.js +80 -0
- package/dist/bo-backend/fields/labeling.queries.js.map +1 -0
- package/dist/bo-backend/fields/load-fields-of.queries.d.ts +5 -3
- package/dist/bo-backend/fields/load-fields-of.queries.js +13 -5
- package/dist/bo-backend/fields/load-fields-of.queries.js.map +1 -1
- package/dist/bo-backend/fields/load-fields.queries.d.ts +6 -4
- package/dist/bo-backend/fields/load-fields.queries.js +30 -54
- package/dist/bo-backend/fields/load-fields.queries.js.map +1 -1
- package/dist/bo-backend/fields/preprocess-fields.d.ts +3 -3
- package/dist/bo-backend/fields/preprocess-fields.js +35 -13
- package/dist/bo-backend/fields/preprocess-fields.js.map +1 -1
- package/dist/bo-backend/fields/save-fields.queries.d.ts +3 -3
- package/dist/bo-backend/fields/save-fields.queries.js +36 -13
- package/dist/bo-backend/fields/save-fields.queries.js.map +1 -1
- package/dist/bo-backend/media/add-media-to-node.js +18 -42
- package/dist/bo-backend/media/add-media-to-node.js.map +1 -1
- package/dist/bo-backend/media/media.js +5 -7
- package/dist/bo-backend/media/media.js.map +1 -1
- package/dist/bo-backend/node/node.queries.d.ts +1 -3
- package/dist/bo-backend/node/node.queries.js +28 -22
- package/dist/bo-backend/node/node.queries.js.map +1 -1
- package/dist/bo-backend/node/node.resolver.js +1 -4
- package/dist/bo-backend/node/node.resolver.js.map +1 -1
- package/dist/bo-backend/nodel/nodel-wrap.resolver.js.map +1 -1
- package/dist/bo-backend/nodel/nodel.queries.js +4 -1
- package/dist/bo-backend/nodel/nodel.queries.js.map +1 -1
- package/dist/bo-backend/part/part-node.queries.js.map +1 -1
- package/dist/bo-backend/part/part.queries.js.map +1 -1
- package/dist/common/data-format.d.ts +2 -2
- package/dist/common/data-format.js +2 -3
- package/dist/common/data-format.js.map +1 -1
- package/dist/common/media-handles.helpers.js +1 -1
- package/dist/common/media-handles.helpers.js.map +1 -1
- package/dist/common/text-cache.d.ts +5 -5
- package/dist/common/text-cache.js +10 -8
- package/dist/common/text-cache.js.map +1 -1
- package/dist/express/public-api-middlewares.js +1 -1
- package/dist/express/public-api-middlewares.js.map +1 -1
- package/dist/express/static-files-middlewares.js +2 -2
- package/dist/express/static-files-middlewares.js.map +1 -1
- package/dist/graphql/apollo-server-init.js +0 -2
- package/dist/graphql/apollo-server-init.js.map +1 -1
- package/dist/helpers/make-backend-plugin-service.js +6 -2
- package/dist/helpers/make-backend-plugin-service.js.map +1 -1
- package/dist/helpers/running-instance-connector.js +2 -9
- package/dist/helpers/running-instance-connector.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-drop.d.ts +3 -15
- package/dist/liquidjs-tools/liquidjs-drop.js +5 -16
- package/dist/liquidjs-tools/liquidjs-drop.js.map +1 -1
- package/dist/public-api/public-api-rendering.d.ts +2 -2
- package/dist/public-api/public-api-rendering.js +18 -19
- package/dist/public-api/public-api-rendering.js.map +1 -1
- package/dist/public-api/search-text/search-text.queries.d.ts +2 -2
- package/dist/public-payload/breadcrumb.queries.d.ts +2 -2
- package/dist/public-payload/breadcrumb.queries.js.map +1 -1
- package/dist/public-payload/create-doc-drop.d.ts +2 -2
- package/dist/public-payload/create-doc-drop.js +24 -59
- package/dist/public-payload/create-doc-drop.js.map +1 -1
- package/dist/public-payload/create-part-drop.d.ts +2 -2
- package/dist/public-payload/create-part-drop.js +1 -1
- package/dist/public-payload/create-part-drop.js.map +1 -1
- package/dist/public-payload/doc-values.queries.d.ts +10 -8
- package/dist/public-payload/doc-values.queries.js +21 -9
- package/dist/public-payload/doc-values.queries.js.map +1 -1
- package/dist/public-payload/excerpt.queries.js +3 -2
- package/dist/public-payload/excerpt.queries.js.map +1 -1
- package/dist/public-payload/field-values.d.ts +4 -4
- package/dist/public-payload/field-values.js +55 -21
- package/dist/public-payload/field-values.js.map +1 -1
- package/dist/public-payload/get-siblings.queries.d.ts +2 -2
- package/dist/public-payload/get-siblings.queries.js.map +1 -1
- package/dist/public-payload/load-default-image.js +3 -6
- package/dist/public-payload/load-default-image.js.map +1 -1
- package/dist/public-payload/make-public-payload.d.ts +4 -4
- package/dist/public-payload/make-public-payload.js.map +1 -1
- package/dist/public-payload/parts.queries.d.ts +1 -1
- package/dist/public-payload/parts.queries.js.map +1 -1
- package/dist/public-payload/public-payload.types.d.ts +60 -64
- package/dist/public-payload/site-payload.d.ts +2 -2
- package/dist/public-payload/site-payload.js.map +1 -1
- package/dist/public-payload/translations.queries.d.ts +4 -4
- package/dist/public-payload/translations.queries.js +8 -5
- package/dist/public-payload/translations.queries.js.map +1 -1
- package/dist/public-site/feed/feed-generator.js +51 -35
- package/dist/public-site/feed/feed-generator.js.map +1 -1
- package/dist/public-site/liquidjs-filters/info-filter.js +4 -1
- package/dist/public-site/liquidjs-filters/info-filter.js.map +1 -1
- package/dist/public-site/liquidjs-filters/open-graph-filter.d.ts +2 -2
- package/dist/public-site/liquidjs-filters/open-graph-filter.js.map +1 -1
- package/dist/public-site/liquidjs-filters/plugin-asset-url-filter.js +1 -1
- package/dist/public-site/liquidjs-filters/plugin-asset-url-filter.js.map +1 -1
- package/dist/public-site/liquidjs-tags/get-docs-tag.js +18 -3
- package/dist/public-site/liquidjs-tags/get-docs-tag.js.map +1 -1
- package/dist/public-site/liquidjs-tags/get-paginated-docs-tag.d.ts +3 -2
- package/dist/public-site/liquidjs-tags/get-paginated-docs-tag.js +17 -3
- package/dist/public-site/liquidjs-tags/get-paginated-docs-tag.js.map +1 -1
- package/dist/public-site/public-route/raw-document-payload.d.ts +2 -2
- package/dist/site-context/create-site-context.js +10 -8
- package/dist/site-context/create-site-context.js.map +1 -1
- package/dist/site-context/site-context.types.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/schema.graphql +6 -19
- package/dist/bo-backend/labeling/labeling.queries.d.ts +0 -15
- package/dist/bo-backend/labeling/labeling.queries.js +0 -47
- package/dist/bo-backend/labeling/labeling.queries.js.map +0 -1
- package/dist/bo-backend/labeling/labeling.resolver.d.ts +0 -3
- package/dist/bo-backend/labeling/labeling.resolver.js +0 -21
- package/dist/bo-backend/labeling/labeling.resolver.js.map +0 -1
- package/dist/public-payload/taxonomies.queries.d.ts +0 -14
- package/dist/public-payload/taxonomies.queries.js +0 -42
- package/dist/public-payload/taxonomies.queries.js.map +0 -1
|
@@ -1,28 +1,50 @@
|
|
|
1
|
+
import { unwrapReadFieldValue, } from "@paroicms/public-anywhere-lib";
|
|
1
2
|
import { makeBackendPluginRenderService } from "../../helpers/make-backend-plugin-service.js";
|
|
2
3
|
export async function preprocessFields(siteContext, renderingContext, values, fieldTypes, options = {}) {
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
const result = Object.fromEntries(Object.entries(values).map(([name, value]) => [name, unwrapReadFieldValue(value).value]));
|
|
5
|
+
for (const fieldType of fieldTypes) {
|
|
6
|
+
if (fieldType.storedAs === "labeling")
|
|
7
|
+
continue;
|
|
8
|
+
const { name, pluginName } = fieldType;
|
|
9
|
+
if (!pluginName)
|
|
10
|
+
continue;
|
|
11
|
+
const plugin = siteContext.plugins.get(pluginName);
|
|
12
|
+
if (!plugin)
|
|
13
|
+
continue;
|
|
14
|
+
const fieldPreprocessors = siteContext.fieldPreprocessors.get(pluginName);
|
|
5
15
|
if (!fieldPreprocessors)
|
|
6
16
|
continue;
|
|
7
|
-
|
|
8
|
-
|
|
17
|
+
let value = result[name];
|
|
18
|
+
for (const { preprocessor } of fieldPreprocessors) {
|
|
19
|
+
if (value === undefined)
|
|
9
20
|
break;
|
|
10
21
|
const service = makeBackendPluginRenderService(siteContext, renderingContext, plugin);
|
|
11
|
-
|
|
22
|
+
value = await preprocessor(service, value, options);
|
|
23
|
+
}
|
|
24
|
+
if (value !== undefined) {
|
|
25
|
+
result[name] = value;
|
|
12
26
|
}
|
|
13
27
|
}
|
|
28
|
+
return result;
|
|
14
29
|
}
|
|
15
|
-
export async function
|
|
16
|
-
|
|
30
|
+
export async function preprocessFieldForExcerpt(siteContext, renderingContext, value, fieldType, options = {}) {
|
|
31
|
+
if (value === undefined)
|
|
32
|
+
return;
|
|
33
|
+
let fieldValue = unwrapReadFieldValue(value).value;
|
|
34
|
+
if (!fieldType.pluginName)
|
|
35
|
+
return fieldValue;
|
|
36
|
+
const plugin = siteContext.plugins.get(fieldType.pluginName);
|
|
37
|
+
if (!plugin)
|
|
38
|
+
return fieldValue;
|
|
39
|
+
const fieldPreprocessors = siteContext.fieldPreprocessors.get(fieldType.pluginName);
|
|
17
40
|
if (!fieldPreprocessors)
|
|
18
|
-
return
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (v === undefined)
|
|
41
|
+
return fieldValue;
|
|
42
|
+
for (const { preprocessor } of fieldPreprocessors) {
|
|
43
|
+
if (fieldValue === undefined)
|
|
22
44
|
break;
|
|
23
45
|
const service = makeBackendPluginRenderService(siteContext, renderingContext, plugin);
|
|
24
|
-
|
|
46
|
+
fieldValue = await preprocessor(service, fieldValue, options);
|
|
25
47
|
}
|
|
26
|
-
return
|
|
48
|
+
return fieldValue;
|
|
27
49
|
}
|
|
28
50
|
//# sourceMappingURL=preprocess-fields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preprocess-fields.js","sourceRoot":"","sources":["../../../src/bo-backend/fields/preprocess-fields.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preprocess-fields.js","sourceRoot":"","sources":["../../../src/bo-backend/fields/preprocess-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAI9F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAwB,EACxB,gBAAkC,EAClC,MAAmC,EACnC,UAAyB,EACzB,UAAoC,EAAE;IAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CACzF,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU;YAAE,SAAS;QAChD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,CAAC,kBAAkB;YAAE,SAAS;QAElC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAEzB,KAAK,MAAM,EAAE,YAAY,EAAE,IAAI,kBAAkB,EAAE,CAAC;YAClD,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM;YAC/B,MAAM,OAAO,GAAG,8BAA8B,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;YACtF,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,WAAwB,EACxB,gBAAkC,EAClC,KAA2C,EAC3C,SAAsB,EACtB,UAAoC,EAAE;IAEtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAEhC,IAAI,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IAEnD,IAAI,CAAC,SAAS,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC;IAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAC/B,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpF,IAAI,CAAC,kBAAkB;QAAE,OAAO,UAAU,CAAC;IAE3C,KAAK,MAAM,EAAE,YAAY,EAAE,IAAI,kBAAkB,EAAE,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM;QACpC,MAAM,OAAO,GAAG,8BAA8B,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACtF,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type UpdateFieldValues } from "@paroicms/public-anywhere-lib";
|
|
2
2
|
import type { SiteContext } from "../../site-context/site-context.types.js";
|
|
3
|
-
export declare function parseFieldValues(jsonVal: string):
|
|
3
|
+
export declare function parseFieldValues(jsonVal: string): UpdateFieldValues;
|
|
4
4
|
export declare function saveFieldValues(siteContext: SiteContext, options: {
|
|
5
5
|
typeName: string;
|
|
6
6
|
nodeId: string;
|
|
7
7
|
language?: string;
|
|
8
|
-
values:
|
|
8
|
+
values: UpdateFieldValues;
|
|
9
9
|
force?: boolean;
|
|
10
10
|
}): Promise<void>;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { boolVal, nbVal, objVal, strVal, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
-
import { getNodeTypeByName
|
|
1
|
+
import { boolVal, isDef, nbVal, objVal, strVal, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { getNodeTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
3
|
+
import { isJsonFieldValue, isUpdateLabelingFieldValue, } from "@paroicms/public-anywhere-lib";
|
|
3
4
|
import { ApiError, stripHtmlTags } from "@paroicms/public-server-lib";
|
|
4
|
-
import { invalidateMultipleDocumentsInCache } from "../../common/text-cache.js";
|
|
5
|
+
import { invalidateDocumentRelationCache, invalidateMultipleDocumentsInCache, } from "../../common/text-cache.js";
|
|
5
6
|
import { dbAnyLanguage } from "../../context.js";
|
|
6
7
|
import { truncExcerptToWord } from "../../helpers/excerpt.helpers.js";
|
|
7
8
|
import { createNoRenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
8
9
|
import { languageIfNodel } from "./_fields.helpers.js";
|
|
9
|
-
import {
|
|
10
|
+
import { saveFieldLabeling } from "./labeling.queries.js";
|
|
11
|
+
import { preprocessFieldForExcerpt } from "./preprocess-fields.js";
|
|
10
12
|
export function parseFieldValues(jsonVal) {
|
|
11
13
|
try {
|
|
12
14
|
return objVal(JSON.parse(jsonVal));
|
|
@@ -37,6 +39,7 @@ async function saveFieldValuesInMainDb(siteContext, options) {
|
|
|
37
39
|
const fieldTypes = nodeType.fields ?? [];
|
|
38
40
|
const typeMap = new Map(fieldTypes.map((item) => [item.name, item]));
|
|
39
41
|
const excerpts = await generateAllExcerpts(siteContext, { values, typeMap });
|
|
42
|
+
const labelingFields = [];
|
|
40
43
|
await siteContext.cn.transaction(async (tx) => {
|
|
41
44
|
for (const [fieldName, value] of Object.entries(values)) {
|
|
42
45
|
if (value === undefined)
|
|
@@ -60,6 +63,18 @@ async function saveFieldValuesInMainDb(siteContext, options) {
|
|
|
60
63
|
excerpts,
|
|
61
64
|
});
|
|
62
65
|
break;
|
|
66
|
+
case "labeling": {
|
|
67
|
+
const termNodeIds = isUpdateLabelingFieldValue(value) ? value.t : null;
|
|
68
|
+
await saveFieldLabeling(tx, {
|
|
69
|
+
fieldType,
|
|
70
|
+
nodeId,
|
|
71
|
+
termNodeIds,
|
|
72
|
+
});
|
|
73
|
+
if (termNodeIds) {
|
|
74
|
+
labelingFields.push({ fieldType, termNodeIds });
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
63
78
|
case "mediaHandle":
|
|
64
79
|
throw new Error(`shouldn't include '${fieldType.storedAs}' field '${fieldName}' for saving`);
|
|
65
80
|
default:
|
|
@@ -67,6 +82,15 @@ async function saveFieldValuesInMainDb(siteContext, options) {
|
|
|
67
82
|
}
|
|
68
83
|
}
|
|
69
84
|
});
|
|
85
|
+
for (const { fieldType, termNodeIds } of labelingFields) {
|
|
86
|
+
for (const termNodeId of termNodeIds) {
|
|
87
|
+
await invalidateDocumentRelationCache(siteContext, {
|
|
88
|
+
relation: "labeled",
|
|
89
|
+
termNodeId,
|
|
90
|
+
fieldName: fieldType.name,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
70
94
|
}
|
|
71
95
|
async function generateAllExcerpts(siteContext, options) {
|
|
72
96
|
const { values, typeMap } = options;
|
|
@@ -78,12 +102,15 @@ async function generateAllExcerpts(siteContext, options) {
|
|
|
78
102
|
const fieldType = typeMap.get(fieldName);
|
|
79
103
|
if (!fieldType)
|
|
80
104
|
throw new Error(`should have the field type of '${fieldName}'`);
|
|
81
|
-
if (
|
|
105
|
+
if (fieldType.renderAs !== "html" || !fieldType.useAsExcerpt)
|
|
82
106
|
continue;
|
|
83
|
-
|
|
107
|
+
if (!isJsonFieldValue(value) && typeof value !== "string") {
|
|
108
|
+
throw new Error(`should be a json or string value '${fieldName}'`);
|
|
109
|
+
}
|
|
110
|
+
let plainText = strValOrUndef(await preprocessFieldForExcerpt(siteContext, renderingContext, value, fieldType, {
|
|
84
111
|
outputType: "plainText",
|
|
85
112
|
}));
|
|
86
|
-
if (fieldType.
|
|
113
|
+
if (fieldType.renderAs === "html" && fieldType.dataType === "string" && plainText === value) {
|
|
87
114
|
plainText = stripHtmlTags(strVal(value), { blockSeparator: " – " });
|
|
88
115
|
}
|
|
89
116
|
const excerpt = plainText ? truncExcerptToWord(plainText, 299) : undefined;
|
|
@@ -159,12 +186,8 @@ function fieldValueToDbString(value, dataType) {
|
|
|
159
186
|
return strVal(value);
|
|
160
187
|
if (dataType === "string")
|
|
161
188
|
return strVal(value);
|
|
162
|
-
if (dataType === "html")
|
|
163
|
-
return JSON.stringify(value.delta);
|
|
164
|
-
if (dataType === "quillDelta")
|
|
165
|
-
return JSON.stringify(value.delta);
|
|
166
189
|
if (dataType === "json")
|
|
167
|
-
return JSON.stringify(value);
|
|
168
|
-
throw new Error(`invalid
|
|
190
|
+
return isJsonFieldValue(value) && isDef(value.j) ? JSON.stringify(value.j) : null;
|
|
191
|
+
throw new Error(`invalid data type '${dataType}'`);
|
|
169
192
|
}
|
|
170
193
|
//# sourceMappingURL=save-fields.queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-fields.queries.js","sourceRoot":"","sources":["../../../src/bo-backend/fields/save-fields.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"save-fields.queries.js","sourceRoot":"","sources":["../../../src/bo-backend/fields/save-fields.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAOL,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AAExG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAsB,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAAwB,EACxB,OAOC;IAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAErE,MAAM,uBAAuB,CAAC,WAAW,EAAE;QACzC,GAAG,OAAO;QACV,QAAQ;KACT,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAE7B,MAAM,kCAAkC,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAExC,MAAM,kCAAkC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,WAAwB,EACxB,OAMC;IAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAErE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAgE,EAAE,CAAC;IAEvF,MAAM,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,QAAQ,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC3B,KAAK,SAAS;oBACZ,MAAM,qBAAqB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;oBACxE,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,kBAAkB,CAAC,EAAE,EAAE;wBAC3B,MAAM;wBACN,QAAQ;wBACR,SAAS;wBACT,KAAK;wBACL,QAAQ;qBACT,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,WAAW,GAAoB,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxF,MAAM,iBAAiB,CAAC,EAAE,EAAE;wBAC1B,SAAS;wBACT,MAAM;wBACN,WAAW;qBACZ,CAAC,CAAC;oBACH,IAAI,WAAW,EAAE,CAAC;wBAChB,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;oBAClD,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,aAAa;oBAChB,MAAM,IAAI,KAAK,CACb,sBAAsB,SAAS,CAAC,QAAQ,YAAY,SAAS,cAAc,CAC5E,CAAC;gBACJ;oBACE,MAAM,IAAI,KAAK,CAAC,uBAAwB,SAAyB,CAAC,QAAQ,GAAG,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,KAAK,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,cAAc,EAAE,CAAC;QACxD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,+BAA+B,CAAC,WAAW,EAAE;gBACjD,QAAQ,EAAE,SAAS;gBACnB,UAAU;gBACV,SAAS,EAAE,SAAS,CAAC,IAAI;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAUD,KAAK,UAAU,mBAAmB,CAChC,WAAwB,EACxB,OAGC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,GAAG,CAAC,CAAC;QAChF,IAAI,SAAS,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY;YAAE,SAAS;QACvE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,SAAS,GAAG,aAAa,CAC3B,MAAM,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/E,UAAU,EAAE,WAAW;SACxB,CAAC,CACH,CAAC;QACF,IAAI,SAAS,CAAC,QAAQ,KAAK,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YAC5F,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAKD,KAAK,UAAU,qBAAqB,CAClC,EAA2B,EAC3B,OAKC;IAED,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,aAAa,CAAC;IACjF,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE5D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,EAAE,CAAC,gBAAgB,CAAC;aACvB,KAAK,CAAC;YACL,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,UAAU;SACrB,CAAC;aACD,MAAM,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,CAAC,gBAAgB,CAAC;aACvB,MAAM,CAAC;YACN,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,MAAM;YACN,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,GAAG;SACJ,CAAC;aACD,UAAU,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC3C,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAKD,KAAK,UAAU,kBAAkB,CAC/B,EAA2B,EAC3B,OAMC;IAED,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,aAAa,CAAC;IACjF,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE5D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,EAAE,CAAC,aAAa,CAAC;aACpB,KAAK,CAAC;YACL,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,UAAU;SACrB,CAAC;aACD,MAAM,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,CAAC,aAAa,CAAC;aACpB,MAAM,CAAC;YACN,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,MAAM;YACN,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,GAAG;YACH,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;SAClC,CAAC;aACD,UAAU,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC3C,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAuB,EACvB,QAAuC;IAEvC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9D,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,MAAM;QACrB,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,GAAG,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { ApiError,
|
|
1
|
+
import { ApiError, makeUrlOfMediaFile } from "@paroicms/public-server-lib";
|
|
2
2
|
import { processOriginalImage } from "@paroicms/server-image-cache-engine";
|
|
3
3
|
import { getHandleOfSiteFavicon } from "../../common/media-handles.helpers.js";
|
|
4
4
|
import { invalidateMultipleDocumentsInCache } from "../../common/text-cache.js";
|
|
5
|
-
import {
|
|
6
|
-
import { createBoFaviconFrom, registerImageVariant } from "./media.js";
|
|
5
|
+
import { createBoFaviconFrom } from "./media.js";
|
|
7
6
|
export async function addMediaToNode(siteContext, file, options) {
|
|
8
7
|
const { binaryFile, mediaType, weightB, originalName } = file;
|
|
9
8
|
const { nodeId, nodeType, handle, attachedData, replace } = options;
|
|
@@ -17,33 +16,25 @@ export async function addMediaToNode(siteContext, file, options) {
|
|
|
17
16
|
nodeId,
|
|
18
17
|
exceptHandle: replace ? handle : undefined,
|
|
19
18
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
qualityPolicy: siteContext.siteSchema.imageQualityPolicy,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
19
|
+
const imageConverter = ({ binaryFile, mediaType }) => processOriginalImage({
|
|
20
|
+
binaryFile,
|
|
21
|
+
mediaType,
|
|
22
|
+
ApiError,
|
|
23
|
+
policy: mediaPolicy.image,
|
|
24
|
+
defaultPolicy: siteContext.siteSchema.mediaPolicies.default.image,
|
|
25
|
+
qualityPolicy: siteContext.siteSchema.imageQualityPolicy,
|
|
26
|
+
});
|
|
31
27
|
const media = await siteContext.mediaStorage.addMedia({
|
|
32
|
-
binaryFile:
|
|
33
|
-
mediaType:
|
|
34
|
-
weightB:
|
|
28
|
+
binaryFile: binaryFile,
|
|
29
|
+
mediaType: mediaType,
|
|
30
|
+
weightB: weightB,
|
|
35
31
|
handle,
|
|
36
32
|
originalName,
|
|
37
|
-
image: originalImage
|
|
38
|
-
? {
|
|
39
|
-
width: originalImage.width,
|
|
40
|
-
height: originalImage.height,
|
|
41
|
-
lossless: originalImage.lossless,
|
|
42
|
-
}
|
|
43
|
-
: undefined,
|
|
44
33
|
attachedData: attachedData,
|
|
45
34
|
replace,
|
|
46
35
|
nodeId,
|
|
36
|
+
}, {
|
|
37
|
+
imageConverter,
|
|
47
38
|
});
|
|
48
39
|
const result = {
|
|
49
40
|
uid: media.uid,
|
|
@@ -57,26 +48,11 @@ export async function addMediaToNode(siteContext, file, options) {
|
|
|
57
48
|
absoluteUrl: true,
|
|
58
49
|
}),
|
|
59
50
|
};
|
|
60
|
-
if (
|
|
51
|
+
if (media.kind !== "image")
|
|
61
52
|
return result;
|
|
62
53
|
if (handle === getHandleOfSiteFavicon()) {
|
|
63
54
|
await createBoFaviconFrom(siteContext, binaryFile);
|
|
64
55
|
}
|
|
65
|
-
await registerImageVariant(siteContext, {
|
|
66
|
-
imageRef: {
|
|
67
|
-
height: originalImage.height,
|
|
68
|
-
imageUid: media.uid,
|
|
69
|
-
mediaType: media.mediaType,
|
|
70
|
-
width: originalImage.width,
|
|
71
|
-
},
|
|
72
|
-
realSize: thumbRealSize,
|
|
73
|
-
autoCrop: true,
|
|
74
|
-
versionedUrl: true,
|
|
75
|
-
absoluteUrl: true,
|
|
76
|
-
dependsOnUsedKey: "bo",
|
|
77
|
-
slug: generateImageSlug(media.originalName),
|
|
78
|
-
originalName,
|
|
79
|
-
});
|
|
80
56
|
if (nodeType.kind === "site") {
|
|
81
57
|
await siteContext.textCache.invalidateAll();
|
|
82
58
|
}
|
|
@@ -85,8 +61,8 @@ export async function addMediaToNode(siteContext, file, options) {
|
|
|
85
61
|
}
|
|
86
62
|
return {
|
|
87
63
|
...result,
|
|
88
|
-
width:
|
|
89
|
-
height:
|
|
64
|
+
width: media.width,
|
|
65
|
+
height: media.height,
|
|
90
66
|
};
|
|
91
67
|
}
|
|
92
68
|
async function checkMediaPolicy(siteContext, { mediaPolicy, mediaType, weightB, nodeType, nodeId, exceptHandle, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-media-to-node.js","sourceRoot":"","sources":["../../../src/bo-backend/media/add-media-to-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"add-media-to-node.js","sourceRoot":"","sources":["../../../src/bo-backend/media/add-media-to-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,13 +35,11 @@ export async function createBoFaviconFrom(siteContext, binaryFile) {
|
|
|
35
35
|
weightB: result.weightB,
|
|
36
36
|
handle: getHandleOfSiteBoFavicon(),
|
|
37
37
|
originalName: "bo-favicon",
|
|
38
|
-
image:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
: undefined,
|
|
38
|
+
image: {
|
|
39
|
+
width: result.width,
|
|
40
|
+
height: result.height,
|
|
41
|
+
lossless: result.lossless,
|
|
42
|
+
},
|
|
45
43
|
replace: true,
|
|
46
44
|
nodeId: siteContext.siteIds.siteNodeId,
|
|
47
45
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/bo-backend/media/media.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAEL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUjD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAwD,EACxD,EACE,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,YAAY,GAUb;IAED,IAAI,QAAQ,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;QAC3C,OAAO,2BAA2B,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,GAC9D,MAAM,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAC9C,QAAQ;QACR,SAAS,EAAE,QAAQ;QACnB,QAAQ;QACR,gBAAgB;QAChB,IAAI;KACL,CAAC,CAAC;IAEL,OAAO;QACL,GAAG,EAAE,qBAAqB,CAAC,WAAW,EAAE;YACtC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS;YACT,WAAW;YACX,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YAC3D,IAAI;YACJ,WAAW;SACZ,CAAC;QACF,KAAK;QACL,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAwB,EAAE,UAAkB;IACpF,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;QACtC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,wBAAwB,EAAE;QAClC,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/bo-backend/media/media.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAEL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUjD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAwD,EACxD,EACE,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,YAAY,GAUb;IAED,IAAI,QAAQ,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;QAC3C,OAAO,2BAA2B,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,GAC9D,MAAM,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAC9C,QAAQ;QACR,SAAS,EAAE,QAAQ;QACnB,QAAQ;QACR,gBAAgB;QAChB,IAAI;KACL,CAAC,CAAC;IAEL,OAAO;QACL,GAAG,EAAE,qBAAqB,CAAC,WAAW,EAAE;YACtC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS;YACT,WAAW;YACX,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YAC3D,IAAI;YACJ,WAAW;SACZ,CAAC;QACF,KAAK;QACL,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAwB,EAAE,UAAkB;IACpF,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;QACtC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,wBAAwB,EAAE;QAClC,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;QACD,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU;KACvC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,WAAyC,EACzC,QAAkB,EAClB,YAAqB;IAErB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;IACrF,OAAO;QACL,GAAG,EAAE,kBAAkB,CAAC,WAAW,EAAE;YACnC,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,YAAY;SACb,CAAC;QACF,KAAK;QACL,MAAM;QACN,SAAS,EAAE,eAAe;KAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type Tracker } from "@paroicms/internal-server-lib";
|
|
2
2
|
import type { ScDocumentType } from "@paroicms/public-anywhere-lib";
|
|
3
3
|
import type { SiteContext } from "../../site-context/site-context.types.js";
|
|
4
|
-
import type { LabelingSeed } from "../labeling/labeling.queries.js";
|
|
5
4
|
export interface NodeSeed {
|
|
6
5
|
id: string;
|
|
7
6
|
typeName: string;
|
|
@@ -15,9 +14,8 @@ export declare function findOneNode({ cn }: SiteContext, id: string): Promise<No
|
|
|
15
14
|
export declare function readTranslationsOf({ cn }: SiteContext, nodeId: string): Promise<string[]>;
|
|
16
15
|
export declare function setNodePublishDate(siteContext: SiteContext, { nodeId, publishDate }: {
|
|
17
16
|
nodeId: string;
|
|
18
|
-
publishDate: Date;
|
|
17
|
+
publishDate: Date | null;
|
|
19
18
|
}): Promise<void>;
|
|
20
|
-
export declare function loadLabelingTermsOf({ cn }: SiteContext, labeledId: string): Promise<LabelingSeed[]>;
|
|
21
19
|
export declare function getNodeDepth(siteContext: Pick<SiteContext, "cn">, tracker: Tracker, nodeId: string): Promise<number>;
|
|
22
20
|
export declare function countNodeChildrenOf(siteContext: Pick<SiteContext, "cn">, parendId: string): Promise<number>;
|
|
23
21
|
export declare function getScheduledNodes(siteContext: Pick<SiteContext, "cn">): Promise<{
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { dateValOrUndef,
|
|
1
|
+
import { dateValOrUndef, nbVal, strVal } from "@paroi/data-formatters-lib";
|
|
2
2
|
import { mainDbSchemaName } from "@paroicms/connector";
|
|
3
3
|
import { getNodeTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
4
4
|
import { sqliteDateTime } from "@paroicms/internal-server-lib";
|
|
5
5
|
import { ApiError } from "@paroicms/public-server-lib";
|
|
6
|
-
import {
|
|
6
|
+
import { toNodeObjectType } from "../../common/data-format.js";
|
|
7
7
|
import { depKeysOfNodeRelationCache, invalidateMultipleDocumentsInCache, invalidateNodeInCache, makeCacheDependencyKey, makeDependencyKeysForDocuments, } from "../../common/text-cache.js";
|
|
8
8
|
import { getDocumentNodeIdOfPart } from "../part/part.queries.js";
|
|
9
9
|
export async function getTypeNameOf(siteContext, nodeId) {
|
|
@@ -50,12 +50,20 @@ export async function setNodePublishDate(siteContext, { nodeId, publishDate }) {
|
|
|
50
50
|
const nodeType = getNodeTypeByName(siteSchema, typeName);
|
|
51
51
|
await cn("PaNode")
|
|
52
52
|
.where("id", nodeId)
|
|
53
|
-
.update({ publishDate: sqliteDateTime(publishDate) });
|
|
53
|
+
.update({ publishDate: publishDate === null ? null : sqliteDateTime(publishDate) });
|
|
54
54
|
if (nodeType.kind === "document") {
|
|
55
|
-
await invalidateOrScheduleDocument(siteContext, {
|
|
55
|
+
await invalidateOrScheduleDocument(siteContext, {
|
|
56
|
+
nodeId,
|
|
57
|
+
publishDate: publishDate ?? undefined,
|
|
58
|
+
prevPublishDate,
|
|
59
|
+
});
|
|
56
60
|
}
|
|
57
61
|
else {
|
|
58
|
-
await invalidateOrSchedulePart(siteContext, {
|
|
62
|
+
await invalidateOrSchedulePart(siteContext, {
|
|
63
|
+
nodeId,
|
|
64
|
+
publishDate: publishDate ?? undefined,
|
|
65
|
+
prevPublishDate,
|
|
66
|
+
});
|
|
59
67
|
}
|
|
60
68
|
}
|
|
61
69
|
async function invalidateOrScheduleDocument(siteContext, options) {
|
|
@@ -63,7 +71,7 @@ async function invalidateOrScheduleDocument(siteContext, options) {
|
|
|
63
71
|
const now = Date.now();
|
|
64
72
|
const wasPublished = prevPublishDate !== undefined && prevPublishDate.getTime() <= now;
|
|
65
73
|
const eventKey = makeCacheDependencyKey({ nodeId });
|
|
66
|
-
if (publishDate.getTime() <= now) {
|
|
74
|
+
if (publishDate && publishDate.getTime() <= now) {
|
|
67
75
|
if (wasPublished) {
|
|
68
76
|
await invalidateNodeInCache(siteContext, { nodeId });
|
|
69
77
|
}
|
|
@@ -80,37 +88,35 @@ async function invalidateOrScheduleDocument(siteContext, options) {
|
|
|
80
88
|
if (wasPublished) {
|
|
81
89
|
await invalidateMultipleDocumentsInCache(siteContext, { nodeId, fully: true });
|
|
82
90
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
91
|
+
if (publishDate) {
|
|
92
|
+
const newDocDepKeys = await depKeysOfNodeRelationCache(siteContext, {
|
|
93
|
+
parentOfNodeId: nodeId,
|
|
94
|
+
relation: "children",
|
|
95
|
+
});
|
|
96
|
+
await siteContext.textCache.scheduleInvalidation(eventKey, newDocDepKeys, publishDate);
|
|
97
|
+
}
|
|
88
98
|
}
|
|
89
99
|
}
|
|
90
100
|
async function invalidateOrSchedulePart(siteContext, options) {
|
|
91
101
|
const { nodeId, publishDate } = options;
|
|
92
102
|
const documentNodeId = await getDocumentNodeIdOfPart(siteContext, nodeId);
|
|
93
103
|
const eventKey = makeCacheDependencyKey({ nodeId: documentNodeId, relation: "updated" });
|
|
94
|
-
if (publishDate.getTime() <= Date.now()) {
|
|
104
|
+
if (publishDate && publishDate.getTime() <= Date.now()) {
|
|
95
105
|
await invalidateMultipleDocumentsInCache(siteContext, {
|
|
96
106
|
nodeId: documentNodeId,
|
|
97
107
|
});
|
|
98
108
|
}
|
|
99
|
-
else {
|
|
109
|
+
else if (publishDate) {
|
|
100
110
|
const depKeys = makeDependencyKeysForDocuments(siteContext, documentNodeId);
|
|
101
111
|
await siteContext.textCache.scheduleInvalidation(eventKey, depKeys, publishDate);
|
|
102
112
|
}
|
|
103
113
|
}
|
|
104
|
-
export async function loadLabelingTermsOf({ cn }, labeledId) {
|
|
105
|
-
const rows = await cn("PaLabeling as f")
|
|
106
|
-
.select("f.lead", "f.termId", "l2.typeName as parentTypeName")
|
|
107
|
-
.innerJoin("PaNode as l1", "l1.id", "f.termId")
|
|
108
|
-
.innerJoin("PaNode as l2", "l2.id", "l1.parentId")
|
|
109
|
-
.where("f.labeledId", labeledId);
|
|
110
|
-
return listVal(rows, formatLabelingObjectType);
|
|
111
|
-
}
|
|
112
114
|
export async function getNodeDepth(siteContext, tracker, nodeId) {
|
|
113
|
-
const row = await siteContext
|
|
115
|
+
const row = await siteContext
|
|
116
|
+
.cn("PaNode as l")
|
|
117
|
+
.select("l.depth")
|
|
118
|
+
.where("l.id", nodeId)
|
|
119
|
+
.first();
|
|
114
120
|
tracker.trackAccess(mainDbSchemaName, "PaNode", "read");
|
|
115
121
|
if (!row)
|
|
116
122
|
throw new ApiError(`cannot find node '${nodeId}'`, 404);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.queries.js","sourceRoot":"","sources":["../../../src/bo-backend/node/node.queries.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"node.queries.js","sourceRoot":"","sources":["../../../src/bo-backend/node/node.queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { authGuard } from "../auth/auth.helper.js";
|
|
2
|
-
import { findOneNode,
|
|
2
|
+
import { findOneNode, readTranslationsOf, setNodePublishDate, } from "./node.queries.js";
|
|
3
3
|
import { reorderNodes } from "./ordered-node.queries.js";
|
|
4
4
|
export const nodeResolvers = {
|
|
5
5
|
Query: {
|
|
@@ -26,9 +26,6 @@ export const nodeResolvers = {
|
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
28
|
Node: {
|
|
29
|
-
labeledBy: async ({ id }, _args, { siteContext }) => {
|
|
30
|
-
return await loadLabelingTermsOf(siteContext, id);
|
|
31
|
-
},
|
|
32
29
|
scheduled: async ({ publishDate }, _args) => {
|
|
33
30
|
if (!publishDate)
|
|
34
31
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.resolver.js","sourceRoot":"","sources":["../../../src/bo-backend/node/node.resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAEL,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"node.resolver.js","sourceRoot":"","sources":["../../../src/bo-backend/node/node.resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAEL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,KAAK,EAAE;QACL,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC7D,OAAO,MAAM,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;KACF;IACD,QAAQ,EAAE;QACR,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3F,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,MAAM,kBAAkB,CAAC,WAAW,EAAE;gBACpC,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YACH,OAAO,MAAM,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3F,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,OAAO,YAAY,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,YAAY,EAAE,KAAK,EACjB,OAAO,EACP,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EACnC,EAAE,WAAW,EAAE,WAAW,EAAE,EAC5B,EAAE;YACF,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,OAAO,YAAY,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;KACF;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,KAAK,EAAE,EAAE,WAAW,EAAY,EAAE,KAAK,EAAE,EAAE;YACpD,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC/B,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtD,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodel-wrap.resolver.js","sourceRoot":"","sources":["../../../src/bo-backend/nodel/nodel-wrap.resolver.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"nodel-wrap.resolver.js","sourceRoot":"","sources":["../../../src/bo-backend/nodel/nodel-wrap.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -231,7 +231,10 @@ function queryEnsurePublished(cn, query, d, language) {
|
|
|
231
231
|
.whereRaw(`l${d}.publishDate <= current_timestamp`);
|
|
232
232
|
}
|
|
233
233
|
export async function isOrphanNode(cn, nodeId) {
|
|
234
|
-
const row = await cn("PaNodel as s")
|
|
234
|
+
const row = (await cn("PaNodel as s")
|
|
235
|
+
.count("s.nodeId as cnt")
|
|
236
|
+
.where("s.nodeId", nodeId)
|
|
237
|
+
.first());
|
|
235
238
|
return nbVal(row?.cnt) === 0;
|
|
236
239
|
}
|
|
237
240
|
export async function searchDocuments(siteContext, options) {
|