@webiny/api-headless-cms-ddb-es 6.3.0 → 6.4.0-beta.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/configurations.js +27 -35
- package/configurations.js.map +1 -1
- package/definitions/entry.js +7 -9
- package/definitions/entry.js.map +1 -1
- package/definitions/group.js +7 -9
- package/definitions/group.js.map +1 -1
- package/definitions/model.js +7 -9
- package/definitions/model.js.map +1 -1
- package/definitions/types.d.ts +1 -0
- package/definitions/types.js +0 -3
- package/elasticsearch/createElasticsearchIndex.js +50 -67
- package/elasticsearch/createElasticsearchIndex.js.map +1 -1
- package/elasticsearch/deleteElasticsearchIndex.js +18 -26
- package/elasticsearch/deleteElasticsearchIndex.js.map +1 -1
- package/exports/api/cms/opensearch.js +2 -4
- package/feature.js +144 -153
- package/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchBodyModifier/index.js +0 -2
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js +28 -27
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js +2 -1
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js +2 -1
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/constants.js +2 -1
- package/features/CmsEntryOpenSearchFieldIndex/constants.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/feature.js +13 -12
- package/features/CmsEntryOpenSearchFieldIndex/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js +48 -65
- package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js +20 -30
- package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js +15 -16
- package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js +15 -18
- package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js +24 -29
- package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js +99 -144
- package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js +15 -16
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/index.js +0 -2
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js +26 -28
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js +2 -1
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js +2 -1
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/constants.js +2 -1
- package/features/CmsEntryOpenSearchFilter/constants.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/feature.js +9 -8
- package/features/CmsEntryOpenSearchFilter/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js +18 -15
- package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js +35 -53
- package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js +27 -40
- package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/index.js +0 -2
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchFullTextSearch/index.js +0 -2
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js +10 -9
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchIndex/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchIndex/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchIndex/feature.js +6 -5
- package/features/CmsEntryOpenSearchIndex/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchIndex/index.js +0 -2
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchQueryModifier/index.js +0 -2
- package/features/CmsEntryOpenSearchSortModifier/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchSortModifier/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchSortModifier/index.js +0 -2
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js +24 -20
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js +2 -1
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js +2 -1
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/feature.js +9 -8
- package/features/CmsEntryOpenSearchValueSearch/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js +14 -16
- package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js +31 -42
- package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js +15 -17
- package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/index.js +0 -2
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchValuesModifier/index.js +0 -2
- package/helpers/entryIndexHelpers.js +71 -123
- package/helpers/entryIndexHelpers.js.map +1 -1
- package/helpers/fieldIdentifier.js +18 -30
- package/helpers/fieldIdentifier.js.map +1 -1
- package/helpers/index.js +0 -2
- package/index.js +0 -2
- package/operations/entry/dataLoader/DataLoaderCache.js +22 -26
- package/operations/entry/dataLoader/DataLoaderCache.js.map +1 -1
- package/operations/entry/dataLoader/constants.js +2 -1
- package/operations/entry/dataLoader/constants.js.map +1 -1
- package/operations/entry/dataLoader/createBatchScheduleFn.js +6 -15
- package/operations/entry/dataLoader/createBatchScheduleFn.js.map +1 -1
- package/operations/entry/dataLoader/getAllEntryRevisions.js +18 -29
- package/operations/entry/dataLoader/getAllEntryRevisions.js.map +1 -1
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.js +27 -37
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.js.map +1 -1
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js +27 -37
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js.map +1 -1
- package/operations/entry/dataLoader/getRevisionById.js +32 -46
- package/operations/entry/dataLoader/getRevisionById.js.map +1 -1
- package/operations/entry/dataLoader/index.js +8 -9
- package/operations/entry/dataLoader/index.js.map +1 -1
- package/operations/entry/dataLoader/types.js +0 -3
- package/operations/entry/dataLoaders.js +81 -99
- package/operations/entry/dataLoaders.js.map +1 -1
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +6 -24
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -1
- package/operations/entry/elasticsearch/body.js +74 -125
- package/operations/entry/elasticsearch/body.js.map +1 -1
- package/operations/entry/elasticsearch/fields/createSystemField.js +6 -7
- package/operations/entry/elasticsearch/fields/createSystemField.js.map +1 -1
- package/operations/entry/elasticsearch/fields/live.js +45 -40
- package/operations/entry/elasticsearch/fields/live.js.map +1 -1
- package/operations/entry/elasticsearch/fields/location.js +45 -40
- package/operations/entry/elasticsearch/fields/location.js.map +1 -1
- package/operations/entry/elasticsearch/fields/state.js +99 -88
- package/operations/entry/elasticsearch/fields/state.js.map +1 -1
- package/operations/entry/elasticsearch/fields.js +193 -217
- package/operations/entry/elasticsearch/fields.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/applyFiltering.js +32 -45
- package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/exec.js +85 -114
- package/operations/entry/elasticsearch/filtering/exec.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/index.js +0 -2
- package/operations/entry/elasticsearch/filtering/path.js +24 -33
- package/operations/entry/elasticsearch/filtering/path.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/populated.js +8 -14
- package/operations/entry/elasticsearch/filtering/populated.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/values.js +11 -12
- package/operations/entry/elasticsearch/filtering/values.js.map +1 -1
- package/operations/entry/elasticsearch/fullTextSearch.js +43 -80
- package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -1
- package/operations/entry/elasticsearch/fullTextSearchFields.js +7 -17
- package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -1
- package/operations/entry/elasticsearch/initialQuery.js +37 -80
- package/operations/entry/elasticsearch/initialQuery.js.map +1 -1
- package/operations/entry/elasticsearch/keyword.js +13 -27
- package/operations/entry/elasticsearch/keyword.js.map +1 -1
- package/operations/entry/elasticsearch/plugins/operator.js +9 -20
- package/operations/entry/elasticsearch/plugins/operator.js.map +1 -1
- package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js +6 -4
- package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -1
- package/operations/entry/elasticsearch/sort.js +69 -92
- package/operations/entry/elasticsearch/sort.js.map +1 -1
- package/operations/entry/elasticsearch/transformValueForSearch.js +9 -14
- package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -1
- package/operations/entry/elasticsearch/types.js +0 -3
- package/operations/entry/index.js +1322 -1709
- package/operations/entry/index.js.map +1 -1
- package/operations/entry/keys.js +43 -63
- package/operations/entry/keys.js.map +1 -1
- package/operations/entry/recordType.js +4 -9
- package/operations/entry/recordType.js.map +1 -1
- package/operations/entry/transformations/convertEntryKeys.js +21 -26
- package/operations/entry/transformations/convertEntryKeys.js.map +1 -1
- package/operations/entry/transformations/index.js +85 -114
- package/operations/entry/transformations/index.js.map +1 -1
- package/operations/entry/transformations/modifyEntryValues.d.ts +1 -1
- package/operations/entry/transformations/modifyEntryValues.js +12 -17
- package/operations/entry/transformations/modifyEntryValues.js.map +1 -1
- package/operations/entry/transformations/transformEntryKeys.js +13 -16
- package/operations/entry/transformations/transformEntryKeys.js.map +1 -1
- package/operations/entry/transformations/transformEntryToIndex.js +17 -22
- package/operations/entry/transformations/transformEntryToIndex.js.map +1 -1
- package/operations/group/index.js +113 -134
- package/operations/group/index.js.map +1 -1
- package/operations/model/index.js +128 -156
- package/operations/model/index.js.map +1 -1
- package/package.json +23 -23
- package/tasks/createIndexTaskPlugin.js +35 -38
- package/tasks/createIndexTaskPlugin.js.map +1 -1
- package/types.js +7 -13
- package/types.js.map +1 -1
- package/values/NoValueContainer.js +8 -10
- package/values/NoValueContainer.js.map +1 -1
- package/definitions/types.js.map +0 -1
- package/exports/api/cms/opensearch.js.map +0 -1
- package/features/CmsEntryOpenSearchBodyModifier/index.js.map +0 -1
- package/features/CmsEntryOpenSearchFieldIndex/index.js.map +0 -1
- package/features/CmsEntryOpenSearchFilter/index.js.map +0 -1
- package/features/CmsEntryOpenSearchFullTextSearch/index.js.map +0 -1
- package/features/CmsEntryOpenSearchIndex/index.js.map +0 -1
- package/features/CmsEntryOpenSearchQueryModifier/index.js.map +0 -1
- package/features/CmsEntryOpenSearchSortModifier/index.js.map +0 -1
- package/features/CmsEntryOpenSearchValueSearch/index.js.map +0 -1
- package/features/CmsEntryOpenSearchValuesModifier/index.js.map +0 -1
- package/helpers/index.js.map +0 -1
- package/index.js.map +0 -1
- package/operations/entry/dataLoader/types.js.map +0 -1
- package/operations/entry/elasticsearch/filtering/index.js.map +0 -1
- package/operations/entry/elasticsearch/types.js.map +0 -1
package/operations/entry/keys.js
CHANGED
|
@@ -1,70 +1,50 @@
|
|
|
1
1
|
import { parseIdentifier, zeroPad } from "@webiny/utils";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
id
|
|
6
|
-
} = params;
|
|
7
|
-
const {
|
|
8
|
-
id
|
|
9
|
-
} = parseIdentifier(initialId);
|
|
10
|
-
return `T#${tenant}#CMS#CME#${id}`;
|
|
2
|
+
const createPartitionKey = (params)=>{
|
|
3
|
+
const { tenant, id: initialId } = params;
|
|
4
|
+
const { id } = parseIdentifier(initialId);
|
|
5
|
+
return `T#${tenant}#CMS#CME#${id}`;
|
|
11
6
|
};
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
const createRevisionSortKey = (params)=>`REV#${zeroPad(params.version)}`;
|
|
8
|
+
const createLatestSortKey = ()=>"L";
|
|
9
|
+
const createPublishedSortKey = ()=>"P";
|
|
10
|
+
const createEntryPublishedKeys = (params)=>{
|
|
11
|
+
const { id, tenant } = params;
|
|
12
|
+
return {
|
|
13
|
+
PK: createPartitionKey({
|
|
14
|
+
id,
|
|
15
|
+
tenant
|
|
16
|
+
}),
|
|
17
|
+
SK: createPublishedSortKey(),
|
|
18
|
+
TYPE: "cms.entry.p",
|
|
19
|
+
GSI_TENANT: tenant
|
|
20
|
+
};
|
|
14
21
|
};
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
const createEntryLatestKeys = (params)=>{
|
|
23
|
+
const { id, tenant } = params;
|
|
24
|
+
return {
|
|
25
|
+
PK: createPartitionKey({
|
|
26
|
+
id,
|
|
27
|
+
tenant
|
|
28
|
+
}),
|
|
29
|
+
SK: createLatestSortKey(),
|
|
30
|
+
TYPE: "cms.entry.l",
|
|
31
|
+
GSI_TENANT: tenant
|
|
32
|
+
};
|
|
17
33
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
SK: createPublishedSortKey(),
|
|
32
|
-
TYPE: `cms.entry.p`,
|
|
33
|
-
GSI_TENANT: tenant
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
export const createEntryLatestKeys = params => {
|
|
37
|
-
const {
|
|
38
|
-
id,
|
|
39
|
-
tenant
|
|
40
|
-
} = params;
|
|
41
|
-
return {
|
|
42
|
-
PK: createPartitionKey({
|
|
43
|
-
id,
|
|
44
|
-
tenant
|
|
45
|
-
}),
|
|
46
|
-
SK: createLatestSortKey(),
|
|
47
|
-
TYPE: `cms.entry.l`,
|
|
48
|
-
GSI_TENANT: tenant
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
export const createEntryRevisionKeys = params => {
|
|
52
|
-
const {
|
|
53
|
-
id,
|
|
54
|
-
tenant,
|
|
55
|
-
version
|
|
56
|
-
} = params;
|
|
57
|
-
return {
|
|
58
|
-
PK: createPartitionKey({
|
|
59
|
-
id,
|
|
60
|
-
tenant
|
|
61
|
-
}),
|
|
62
|
-
SK: createRevisionSortKey({
|
|
63
|
-
version
|
|
64
|
-
}),
|
|
65
|
-
TYPE: `cms.entry`,
|
|
66
|
-
GSI_TENANT: tenant
|
|
67
|
-
};
|
|
34
|
+
const createEntryRevisionKeys = (params)=>{
|
|
35
|
+
const { id, tenant, version } = params;
|
|
36
|
+
return {
|
|
37
|
+
PK: createPartitionKey({
|
|
38
|
+
id,
|
|
39
|
+
tenant
|
|
40
|
+
}),
|
|
41
|
+
SK: createRevisionSortKey({
|
|
42
|
+
version
|
|
43
|
+
}),
|
|
44
|
+
TYPE: "cms.entry",
|
|
45
|
+
GSI_TENANT: tenant
|
|
46
|
+
};
|
|
68
47
|
};
|
|
48
|
+
export { createEntryLatestKeys, createEntryPublishedKeys, createEntryRevisionKeys, createLatestSortKey, createPartitionKey, createPublishedSortKey, createRevisionSortKey };
|
|
69
49
|
|
|
70
50
|
//# sourceMappingURL=keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"operations/entry/keys.js","sources":["../../../src/operations/entry/keys.ts"],"sourcesContent":["import { parseIdentifier, zeroPad } from \"@webiny/utils\";\n\nexport interface PartitionKeyParams {\n id: string;\n tenant: string;\n}\nexport const createPartitionKey = (params: PartitionKeyParams): string => {\n const { tenant, id: initialId } = params;\n const { id } = parseIdentifier(initialId);\n return `T#${tenant}#CMS#CME#${id}`;\n};\n\nexport interface SortKeyParams {\n version: number;\n}\nexport const createRevisionSortKey = (params: SortKeyParams): string => {\n return `REV#${zeroPad(params.version)}`;\n};\n\nexport const createLatestSortKey = (): string => {\n return \"L\";\n};\n\nexport const createPublishedSortKey = (): string => {\n return \"P\";\n};\n\nexport interface ICreateEntryPublishedKeysParams {\n id: string;\n tenant: string;\n}\n\nexport const createEntryPublishedKeys = (params: ICreateEntryPublishedKeysParams) => {\n const { id, tenant } = params;\n return {\n PK: createPartitionKey({\n id,\n tenant\n }),\n SK: createPublishedSortKey(),\n TYPE: `cms.entry.p`,\n GSI_TENANT: tenant\n };\n};\n\nexport interface ICreateEntryLatestKeysParams {\n id: string;\n tenant: string;\n}\n\nexport const createEntryLatestKeys = (params: ICreateEntryLatestKeysParams) => {\n const { id, tenant } = params;\n return {\n PK: createPartitionKey({\n id,\n tenant\n }),\n SK: createLatestSortKey(),\n TYPE: `cms.entry.l`,\n GSI_TENANT: tenant\n };\n};\n\nexport interface ICreateRevisionKeysParams {\n id: string;\n tenant: string;\n version: number;\n}\n\nexport const createEntryRevisionKeys = (params: ICreateRevisionKeysParams) => {\n const { id, tenant, version } = params;\n return {\n PK: createPartitionKey({\n id,\n tenant\n }),\n SK: createRevisionSortKey({\n version\n }),\n TYPE: `cms.entry`,\n GSI_TENANT: tenant\n };\n};\n"],"names":["createPartitionKey","params","tenant","initialId","id","parseIdentifier","createRevisionSortKey","zeroPad","createLatestSortKey","createPublishedSortKey","createEntryPublishedKeys","createEntryLatestKeys","createEntryRevisionKeys","version"],"mappings":";AAMO,MAAMA,qBAAqB,CAACC;IAC/B,MAAM,EAAEC,MAAM,EAAE,IAAIC,SAAS,EAAE,GAAGF;IAClC,MAAM,EAAEG,EAAE,EAAE,GAAGC,gBAAgBF;IAC/B,OAAO,CAAC,EAAE,EAAED,OAAO,SAAS,EAAEE,IAAI;AACtC;AAKO,MAAME,wBAAwB,CAACL,SAC3B,CAAC,IAAI,EAAEM,QAAQN,OAAO,OAAO,GAAG;AAGpC,MAAMO,sBAAsB,IACxB;AAGJ,MAAMC,yBAAyB,IAC3B;AAQJ,MAAMC,2BAA2B,CAACT;IACrC,MAAM,EAAEG,EAAE,EAAEF,MAAM,EAAE,GAAGD;IACvB,OAAO;QACH,IAAID,mBAAmB;YACnBI;YACAF;QACJ;QACA,IAAIO;QACJ,MAAM;QACN,YAAYP;IAChB;AACJ;AAOO,MAAMS,wBAAwB,CAACV;IAClC,MAAM,EAAEG,EAAE,EAAEF,MAAM,EAAE,GAAGD;IACvB,OAAO;QACH,IAAID,mBAAmB;YACnBI;YACAF;QACJ;QACA,IAAIM;QACJ,MAAM;QACN,YAAYN;IAChB;AACJ;AAQO,MAAMU,0BAA0B,CAACX;IACpC,MAAM,EAAEG,EAAE,EAAEF,MAAM,EAAEW,OAAO,EAAE,GAAGZ;IAChC,OAAO;QACH,IAAID,mBAAmB;YACnBI;YACAF;QACJ;QACA,IAAII,sBAAsB;YACtBO;QACJ;QACA,MAAM;QACN,YAAYX;IAChB;AACJ"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
export
|
|
5
|
-
return `${createRecordType()}.l`;
|
|
6
|
-
};
|
|
7
|
-
export const createPublishedRecordType = () => {
|
|
8
|
-
return `${createRecordType()}.p`;
|
|
9
|
-
};
|
|
1
|
+
const createRecordType = ()=>"cms.entry";
|
|
2
|
+
const createLatestRecordType = ()=>`${createRecordType()}.l`;
|
|
3
|
+
const createPublishedRecordType = ()=>`${createRecordType()}.p`;
|
|
4
|
+
export { createLatestRecordType, createPublishedRecordType, createRecordType };
|
|
10
5
|
|
|
11
6
|
//# sourceMappingURL=recordType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"operations/entry/recordType.js","sources":["../../../src/operations/entry/recordType.ts"],"sourcesContent":["export const createRecordType = (): string => {\n return \"cms.entry\";\n};\nexport const createLatestRecordType = (): string => {\n return `${createRecordType()}.l`;\n};\nexport const createPublishedRecordType = (): string => {\n return `${createRecordType()}.p`;\n};\n"],"names":["createRecordType","createLatestRecordType","createPublishedRecordType"],"mappings":"AAAO,MAAMA,mBAAmB,IACrB;AAEJ,MAAMC,yBAAyB,IAC3B,GAAGD,mBAAmB,EAAE,CAAC;AAE7B,MAAME,4BAA4B,IAC9B,GAAGF,mBAAmB,EAAE,CAAC"}
|
|
@@ -1,30 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
model
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
...entry,
|
|
12
|
-
values
|
|
13
|
-
};
|
|
1
|
+
const convertEntryKeysToStorage = (params)=>{
|
|
2
|
+
const { model, entry } = params;
|
|
3
|
+
const values = model.convertValueKeyToStorage({
|
|
4
|
+
fields: model.fields,
|
|
5
|
+
values: entry.values
|
|
6
|
+
});
|
|
7
|
+
return {
|
|
8
|
+
...entry,
|
|
9
|
+
values
|
|
10
|
+
};
|
|
14
11
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
model
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
...entry,
|
|
26
|
-
values
|
|
27
|
-
};
|
|
12
|
+
const convertEntryKeysFromStorage = (params)=>{
|
|
13
|
+
const { model, entry } = params;
|
|
14
|
+
const values = model.convertValueKeyFromStorage({
|
|
15
|
+
fields: model.fields,
|
|
16
|
+
values: entry.values
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
...entry,
|
|
20
|
+
values
|
|
21
|
+
};
|
|
28
22
|
};
|
|
23
|
+
export { convertEntryKeysFromStorage, convertEntryKeysToStorage };
|
|
29
24
|
|
|
30
25
|
//# sourceMappingURL=convertEntryKeys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"operations/entry/transformations/convertEntryKeys.js","sources":["../../../../src/operations/entry/transformations/convertEntryKeys.ts"],"sourcesContent":["import type {\n CmsEntryValues,\n CmsStorageEntry,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\n\ninterface ConvertStorageEntryParams<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsStorageEntry<T>;\n model: StorageOperationsCmsModel<T>;\n}\nexport const convertEntryKeysToStorage = <T extends CmsEntryValues = CmsEntryValues>(\n params: ConvertStorageEntryParams<T>\n): CmsStorageEntry<T> => {\n const { model, entry } = params;\n\n const values = model.convertValueKeyToStorage({\n fields: model.fields,\n values: entry.values\n });\n return {\n ...entry,\n values\n };\n};\n\nexport const convertEntryKeysFromStorage = <T extends CmsEntryValues = CmsEntryValues>(\n params: ConvertStorageEntryParams<T>\n): CmsStorageEntry<T> => {\n const { model, entry } = params;\n\n const values = model.convertValueKeyFromStorage({\n fields: model.fields,\n values: entry.values\n });\n return {\n ...entry,\n values\n };\n};\n"],"names":["convertEntryKeysToStorage","params","model","entry","values","convertEntryKeysFromStorage"],"mappings":"AAUO,MAAMA,4BAA4B,CACrCC;IAEA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;IAEzB,MAAMG,SAASF,MAAM,wBAAwB,CAAC;QAC1C,QAAQA,MAAM,MAAM;QACpB,QAAQC,MAAM,MAAM;IACxB;IACA,OAAO;QACH,GAAGA,KAAK;QACRC;IACJ;AACJ;AAEO,MAAMC,8BAA8B,CACvCJ;IAEA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;IAEzB,MAAMG,SAASF,MAAM,0BAA0B,CAAC;QAC5C,QAAQA,MAAM,MAAM;QACpB,QAAQC,MAAM,MAAM;IACxB;IACA,OAAO;QACH,GAAGA,KAAK;QACRC;IACJ;AACJ"}
|
|
@@ -1,121 +1,92 @@
|
|
|
1
1
|
import { transformEntryKeys } from "./transformEntryKeys.js";
|
|
2
2
|
import { transformEntryToIndex } from "./transformEntryToIndex.js";
|
|
3
|
-
import { modifyEntryValues as
|
|
3
|
+
import { modifyEntryValues as external_modifyEntryValues_js_modifyEntryValues } from "./modifyEntryValues.js";
|
|
4
4
|
import { createLatestRecordType, createPublishedRecordType } from "../recordType.js";
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
let transformedEntryKeys = undefined;
|
|
18
|
-
let transformedEntryToIndex = initialTransformedEntryToIndex;
|
|
19
|
-
let modifiedEntryValues = undefined;
|
|
20
|
-
let elasticsearchLatestEntry = undefined;
|
|
21
|
-
let elasticsearchPublishedEntry = undefined;
|
|
22
|
-
const applicableModifiers = valuesModifiers.filter(m => m.canModify(model.modelId));
|
|
23
|
-
const modifyEntryValues = () => {
|
|
24
|
-
if (initialTransformedEntryToIndex || !baseEntry) {
|
|
25
|
-
throw new WebinyError(`Should not call the "modifyEntryValues" when "transformedToIndex" is provided.`, "METHOD_NOT_ALLOWED", {
|
|
26
|
-
entry: initialTransformedEntryToIndex
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
if (modifiedEntryValues) {
|
|
30
|
-
return modifiedEntryValues;
|
|
31
|
-
}
|
|
32
|
-
const modifiedEntry = modifyEntryValuesCallable({
|
|
33
|
-
modifiers: applicableModifiers,
|
|
34
|
-
model,
|
|
35
|
-
entry: baseEntry
|
|
36
|
-
});
|
|
37
|
-
const modifiedStorageEntry = modifyEntryValuesCallable({
|
|
38
|
-
modifiers: applicableModifiers,
|
|
39
|
-
model,
|
|
40
|
-
entry: baseStorageEntry
|
|
41
|
-
});
|
|
42
|
-
return modifiedEntryValues = transformEntryKeys({
|
|
43
|
-
model,
|
|
44
|
-
entry: modifiedEntry,
|
|
45
|
-
storageEntry: modifiedStorageEntry
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
return {
|
|
49
|
-
transformEntryKeys: function () {
|
|
50
|
-
if (initialTransformedEntryToIndex || !baseEntry) {
|
|
51
|
-
throw new WebinyError(`Should not call the "modifyEntryValues" when "transformedToIndex" is provided.`, "METHOD_NOT_ALLOWED", {
|
|
52
|
-
entry: initialTransformedEntryToIndex
|
|
5
|
+
import error from "@webiny/error";
|
|
6
|
+
const createTransformer = (params)=>{
|
|
7
|
+
const { model, fieldRegistry, fieldIndexRegistry, entry: baseEntry, storageEntry: baseStorageEntry, transformedToIndex: initialTransformedEntryToIndex, compressionHandler, valuesModifiers } = params;
|
|
8
|
+
let transformedEntryKeys;
|
|
9
|
+
let transformedEntryToIndex = initialTransformedEntryToIndex;
|
|
10
|
+
let modifiedEntryValues;
|
|
11
|
+
let elasticsearchLatestEntry;
|
|
12
|
+
let elasticsearchPublishedEntry;
|
|
13
|
+
const applicableModifiers = valuesModifiers.filter((m)=>m.canModify(model.modelId));
|
|
14
|
+
const modifyEntryValues = ()=>{
|
|
15
|
+
if (initialTransformedEntryToIndex || !baseEntry) throw new error('Should not call the "modifyEntryValues" when "transformedToIndex" is provided.', "METHOD_NOT_ALLOWED", {
|
|
16
|
+
entry: initialTransformedEntryToIndex
|
|
53
17
|
});
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
18
|
+
if (modifiedEntryValues) return modifiedEntryValues;
|
|
19
|
+
const modifiedEntry = external_modifyEntryValues_js_modifyEntryValues({
|
|
20
|
+
modifiers: applicableModifiers,
|
|
21
|
+
model,
|
|
22
|
+
entry: baseEntry
|
|
23
|
+
});
|
|
24
|
+
const modifiedStorageEntry = external_modifyEntryValues_js_modifyEntryValues({
|
|
25
|
+
modifiers: applicableModifiers,
|
|
26
|
+
model,
|
|
27
|
+
entry: baseStorageEntry
|
|
28
|
+
});
|
|
29
|
+
return modifiedEntryValues = transformEntryKeys({
|
|
30
|
+
model,
|
|
31
|
+
entry: modifiedEntry,
|
|
32
|
+
storageEntry: modifiedStorageEntry
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
return {
|
|
36
|
+
transformEntryKeys: function() {
|
|
37
|
+
if (initialTransformedEntryToIndex || !baseEntry) throw new error('Should not call the "modifyEntryValues" when "transformedToIndex" is provided.', "METHOD_NOT_ALLOWED", {
|
|
38
|
+
entry: initialTransformedEntryToIndex
|
|
39
|
+
});
|
|
40
|
+
if (transformedEntryKeys) return transformedEntryKeys;
|
|
41
|
+
return transformedEntryKeys = transformEntryKeys({
|
|
42
|
+
model,
|
|
43
|
+
entry: baseEntry,
|
|
44
|
+
storageEntry: baseStorageEntry
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
transformToIndex: function() {
|
|
48
|
+
if (transformedEntryToIndex) return transformedEntryToIndex;
|
|
49
|
+
let entry;
|
|
50
|
+
let storageEntry;
|
|
51
|
+
if (applicableModifiers.length > 0) {
|
|
52
|
+
const result = modifyEntryValues();
|
|
53
|
+
entry = result.entry;
|
|
54
|
+
storageEntry = result.storageEntry;
|
|
55
|
+
} else {
|
|
56
|
+
const result = this.transformEntryKeys();
|
|
57
|
+
entry = result.entry;
|
|
58
|
+
storageEntry = result.storageEntry;
|
|
59
|
+
}
|
|
60
|
+
return transformedEntryToIndex = transformEntryToIndex({
|
|
61
|
+
model,
|
|
62
|
+
entry,
|
|
63
|
+
storageEntry,
|
|
64
|
+
fieldRegistry,
|
|
65
|
+
fieldIndexRegistry
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
getElasticsearchLatestEntryData: async function() {
|
|
69
|
+
if (elasticsearchLatestEntry) return elasticsearchLatestEntry;
|
|
70
|
+
const entry = this.transformToIndex();
|
|
71
|
+
return elasticsearchLatestEntry = await compressionHandler.compress({
|
|
72
|
+
...entry,
|
|
73
|
+
latest: true,
|
|
74
|
+
TYPE: createLatestRecordType(),
|
|
75
|
+
__type: createLatestRecordType()
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
getElasticsearchPublishedEntryData: async function() {
|
|
79
|
+
if (elasticsearchPublishedEntry) return elasticsearchPublishedEntry;
|
|
80
|
+
const entry = this.transformToIndex();
|
|
81
|
+
return elasticsearchPublishedEntry = await compressionHandler.compress({
|
|
82
|
+
...entry,
|
|
83
|
+
published: true,
|
|
84
|
+
TYPE: createPublishedRecordType(),
|
|
85
|
+
__type: createPublishedRecordType()
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
};
|
|
119
89
|
};
|
|
90
|
+
export { createTransformer };
|
|
120
91
|
|
|
121
92
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["transformEntryKeys","transformEntryToIndex","modifyEntryValues","modifyEntryValuesCallable","createLatestRecordType","createPublishedRecordType","WebinyError","createTransformer","params","model","fieldRegistry","fieldIndexRegistry","entry","baseEntry","storageEntry","baseStorageEntry","transformedToIndex","initialTransformedEntryToIndex","undefined","compressionHandler","valuesModifiers","transformedEntryKeys","transformedEntryToIndex","modifiedEntryValues","elasticsearchLatestEntry","elasticsearchPublishedEntry","applicableModifiers","filter","m","canModify","modelId","modifiedEntry","modifiers","modifiedStorageEntry","transformToIndex","length","result","getElasticsearchLatestEntryData","compress","latest","TYPE","__type","getElasticsearchPublishedEntryData","published"],"sources":["index.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryValues,\n CmsStorageEntry,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { transformEntryKeys } from \"./transformEntryKeys.js\";\nimport type { CmsIndexEntry } from \"~/types.js\";\nimport { transformEntryToIndex } from \"~/operations/entry/transformations/transformEntryToIndex.js\";\nimport type { CmsEntryOpenSearchValuesModifier } from \"~/features/CmsEntryOpenSearchValuesModifier/index.js\";\nimport { modifyEntryValues as modifyEntryValuesCallable } from \"~/operations/entry/transformations/modifyEntryValues.js\";\nimport {\n createLatestRecordType,\n createPublishedRecordType\n} from \"~/operations/entry/recordType.js\";\nimport WebinyError from \"@webiny/error\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/features/graphql/index.js\";\nimport { CompressionHandler } from \"@webiny/utils/features/compression/abstractions/CompressionHandler.js\";\nimport { CmsEntryOpenSearchFieldIndexRegistry } from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\n\ninterface BaseTransformerParams<T extends CmsEntryValues = CmsEntryValues> {\n model: StorageOperationsCmsModel<T>;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;\n compressionHandler: Pick<CompressionHandler.Interface, \"compress\">;\n valuesModifiers: CmsEntryOpenSearchValuesModifier.Interface[];\n}\n\ninterface EntryTransformerParams<\n T extends CmsEntryValues = CmsEntryValues\n> extends BaseTransformerParams<T> {\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n transformedToIndex?: never;\n}\n\ninterface TransformedEntryTransformerParams<\n T extends CmsEntryValues = CmsEntryValues\n> extends BaseTransformerParams<T> {\n entry?: never;\n storageEntry?: never;\n transformedToIndex: CmsIndexEntry<T>;\n}\n\ninterface TransformedKeysEntry<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n}\n\ninterface ModifiedEntryValues<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n}\n\ninterface TransformerResult<T extends CmsEntryValues = CmsEntryValues> {\n transformEntryKeys: () => TransformedKeysEntry<T>;\n transformToIndex: () => CmsIndexEntry<T>;\n getElasticsearchLatestEntryData: () => Promise<Record<string, any>>;\n getElasticsearchPublishedEntryData: () => Promise<Record<string, any>>;\n}\n\nexport const createTransformer = <T extends CmsEntryValues = CmsEntryValues>(\n params: EntryTransformerParams<T> | TransformedEntryTransformerParams<T>\n): TransformerResult<T> => {\n const {\n model,\n fieldRegistry,\n fieldIndexRegistry,\n entry: baseEntry,\n storageEntry: baseStorageEntry,\n transformedToIndex: initialTransformedEntryToIndex = undefined,\n compressionHandler,\n valuesModifiers\n } = params;\n\n let transformedEntryKeys: TransformedKeysEntry<T> | undefined = undefined;\n let transformedEntryToIndex: CmsIndexEntry<T> | undefined = initialTransformedEntryToIndex;\n let modifiedEntryValues: ModifiedEntryValues<T> | undefined = undefined;\n let elasticsearchLatestEntry: any = undefined;\n let elasticsearchPublishedEntry: any = undefined;\n\n const applicableModifiers = valuesModifiers.filter(m => m.canModify(model.modelId));\n\n const modifyEntryValues = () => {\n if (initialTransformedEntryToIndex || !baseEntry) {\n throw new WebinyError(\n `Should not call the \"modifyEntryValues\" when \"transformedToIndex\" is provided.`,\n \"METHOD_NOT_ALLOWED\",\n {\n entry: initialTransformedEntryToIndex\n }\n );\n }\n if (modifiedEntryValues) {\n return modifiedEntryValues;\n }\n const modifiedEntry = modifyEntryValuesCallable<T>({\n modifiers: applicableModifiers,\n model,\n entry: baseEntry\n });\n const modifiedStorageEntry = modifyEntryValuesCallable<T>({\n modifiers: applicableModifiers,\n model,\n entry: baseStorageEntry\n });\n\n return (modifiedEntryValues = transformEntryKeys<T>({\n model,\n entry: modifiedEntry,\n storageEntry: modifiedStorageEntry\n }));\n };\n\n return {\n transformEntryKeys: function () {\n if (initialTransformedEntryToIndex || !baseEntry) {\n throw new WebinyError(\n `Should not call the \"modifyEntryValues\" when \"transformedToIndex\" is provided.`,\n \"METHOD_NOT_ALLOWED\",\n {\n entry: initialTransformedEntryToIndex\n }\n );\n }\n if (transformedEntryKeys) {\n return transformedEntryKeys;\n }\n return (transformedEntryKeys = transformEntryKeys({\n model,\n entry: baseEntry,\n storageEntry: baseStorageEntry\n }));\n },\n transformToIndex: function () {\n if (transformedEntryToIndex) {\n return transformedEntryToIndex;\n }\n let entry: CmsEntry<T>;\n let storageEntry: CmsStorageEntry<T>;\n /**\n * In case there are value modifier plugins, we need to\n * - run modifiers\n * - transform keys\n */\n if (applicableModifiers.length > 0) {\n const result = modifyEntryValues();\n entry = result.entry;\n storageEntry = result.storageEntry;\n }\n // In case there are no modifier plugins, just transform the keys - or used already transformed.\n else {\n const result = this.transformEntryKeys();\n entry = result.entry;\n storageEntry = result.storageEntry;\n }\n return (transformedEntryToIndex = transformEntryToIndex<T>({\n model,\n entry,\n storageEntry,\n fieldRegistry,\n fieldIndexRegistry\n }));\n },\n getElasticsearchLatestEntryData: async function () {\n if (elasticsearchLatestEntry) {\n return elasticsearchLatestEntry;\n }\n const entry = this.transformToIndex();\n\n return (elasticsearchLatestEntry = await compressionHandler.compress({\n ...entry,\n latest: true,\n TYPE: createLatestRecordType(),\n __type: createLatestRecordType()\n }));\n },\n getElasticsearchPublishedEntryData: async function () {\n if (elasticsearchPublishedEntry) {\n return elasticsearchPublishedEntry;\n }\n const entry = this.transformToIndex();\n\n return (elasticsearchPublishedEntry = await compressionHandler.compress({\n ...entry,\n published: true,\n TYPE: createPublishedRecordType(),\n __type: createPublishedRecordType()\n }));\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"operations/entry/transformations/index.js","sources":["../../../../src/operations/entry/transformations/index.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryValues,\n CmsStorageEntry,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { transformEntryKeys } from \"./transformEntryKeys.js\";\nimport type { CmsIndexEntry } from \"~/types.js\";\nimport { transformEntryToIndex } from \"~/operations/entry/transformations/transformEntryToIndex.js\";\nimport type { CmsEntryOpenSearchValuesModifier } from \"~/features/CmsEntryOpenSearchValuesModifier/index.js\";\nimport { modifyEntryValues as modifyEntryValuesCallable } from \"~/operations/entry/transformations/modifyEntryValues.js\";\nimport {\n createLatestRecordType,\n createPublishedRecordType\n} from \"~/operations/entry/recordType.js\";\nimport WebinyError from \"@webiny/error\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/features/graphql/index.js\";\nimport { CompressionHandler } from \"@webiny/utils/features/compression/abstractions/CompressionHandler.js\";\nimport { CmsEntryOpenSearchFieldIndexRegistry } from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\n\ninterface BaseTransformerParams<T extends CmsEntryValues = CmsEntryValues> {\n model: StorageOperationsCmsModel<T>;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;\n compressionHandler: Pick<CompressionHandler.Interface, \"compress\">;\n valuesModifiers: CmsEntryOpenSearchValuesModifier.Interface[];\n}\n\ninterface EntryTransformerParams<\n T extends CmsEntryValues = CmsEntryValues\n> extends BaseTransformerParams<T> {\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n transformedToIndex?: never;\n}\n\ninterface TransformedEntryTransformerParams<\n T extends CmsEntryValues = CmsEntryValues\n> extends BaseTransformerParams<T> {\n entry?: never;\n storageEntry?: never;\n transformedToIndex: CmsIndexEntry<T>;\n}\n\ninterface TransformedKeysEntry<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n}\n\ninterface ModifiedEntryValues<T extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n}\n\ninterface TransformerResult<T extends CmsEntryValues = CmsEntryValues> {\n transformEntryKeys: () => TransformedKeysEntry<T>;\n transformToIndex: () => CmsIndexEntry<T>;\n getElasticsearchLatestEntryData: () => Promise<Record<string, any>>;\n getElasticsearchPublishedEntryData: () => Promise<Record<string, any>>;\n}\n\nexport const createTransformer = <T extends CmsEntryValues = CmsEntryValues>(\n params: EntryTransformerParams<T> | TransformedEntryTransformerParams<T>\n): TransformerResult<T> => {\n const {\n model,\n fieldRegistry,\n fieldIndexRegistry,\n entry: baseEntry,\n storageEntry: baseStorageEntry,\n transformedToIndex: initialTransformedEntryToIndex = undefined,\n compressionHandler,\n valuesModifiers\n } = params;\n\n let transformedEntryKeys: TransformedKeysEntry<T> | undefined = undefined;\n let transformedEntryToIndex: CmsIndexEntry<T> | undefined = initialTransformedEntryToIndex;\n let modifiedEntryValues: ModifiedEntryValues<T> | undefined = undefined;\n let elasticsearchLatestEntry: any = undefined;\n let elasticsearchPublishedEntry: any = undefined;\n\n const applicableModifiers = valuesModifiers.filter(m => m.canModify(model.modelId));\n\n const modifyEntryValues = () => {\n if (initialTransformedEntryToIndex || !baseEntry) {\n throw new WebinyError(\n `Should not call the \"modifyEntryValues\" when \"transformedToIndex\" is provided.`,\n \"METHOD_NOT_ALLOWED\",\n {\n entry: initialTransformedEntryToIndex\n }\n );\n }\n if (modifiedEntryValues) {\n return modifiedEntryValues;\n }\n const modifiedEntry = modifyEntryValuesCallable<T>({\n modifiers: applicableModifiers,\n model,\n entry: baseEntry\n });\n const modifiedStorageEntry = modifyEntryValuesCallable<T>({\n modifiers: applicableModifiers,\n model,\n entry: baseStorageEntry\n });\n\n return (modifiedEntryValues = transformEntryKeys<T>({\n model,\n entry: modifiedEntry,\n storageEntry: modifiedStorageEntry\n }));\n };\n\n return {\n transformEntryKeys: function () {\n if (initialTransformedEntryToIndex || !baseEntry) {\n throw new WebinyError(\n `Should not call the \"modifyEntryValues\" when \"transformedToIndex\" is provided.`,\n \"METHOD_NOT_ALLOWED\",\n {\n entry: initialTransformedEntryToIndex\n }\n );\n }\n if (transformedEntryKeys) {\n return transformedEntryKeys;\n }\n return (transformedEntryKeys = transformEntryKeys({\n model,\n entry: baseEntry,\n storageEntry: baseStorageEntry\n }));\n },\n transformToIndex: function () {\n if (transformedEntryToIndex) {\n return transformedEntryToIndex;\n }\n let entry: CmsEntry<T>;\n let storageEntry: CmsStorageEntry<T>;\n /**\n * In case there are value modifier plugins, we need to\n * - run modifiers\n * - transform keys\n */\n if (applicableModifiers.length > 0) {\n const result = modifyEntryValues();\n entry = result.entry;\n storageEntry = result.storageEntry;\n }\n // In case there are no modifier plugins, just transform the keys - or used already transformed.\n else {\n const result = this.transformEntryKeys();\n entry = result.entry;\n storageEntry = result.storageEntry;\n }\n return (transformedEntryToIndex = transformEntryToIndex<T>({\n model,\n entry,\n storageEntry,\n fieldRegistry,\n fieldIndexRegistry\n }));\n },\n getElasticsearchLatestEntryData: async function () {\n if (elasticsearchLatestEntry) {\n return elasticsearchLatestEntry;\n }\n const entry = this.transformToIndex();\n\n return (elasticsearchLatestEntry = await compressionHandler.compress({\n ...entry,\n latest: true,\n TYPE: createLatestRecordType(),\n __type: createLatestRecordType()\n }));\n },\n getElasticsearchPublishedEntryData: async function () {\n if (elasticsearchPublishedEntry) {\n return elasticsearchPublishedEntry;\n }\n const entry = this.transformToIndex();\n\n return (elasticsearchPublishedEntry = await compressionHandler.compress({\n ...entry,\n published: true,\n TYPE: createPublishedRecordType(),\n __type: createPublishedRecordType()\n }));\n }\n };\n};\n"],"names":["createTransformer","params","model","fieldRegistry","fieldIndexRegistry","baseEntry","baseStorageEntry","initialTransformedEntryToIndex","compressionHandler","valuesModifiers","transformedEntryKeys","transformedEntryToIndex","modifiedEntryValues","elasticsearchLatestEntry","elasticsearchPublishedEntry","applicableModifiers","m","modifyEntryValues","WebinyError","modifiedEntry","modifyEntryValuesCallable","modifiedStorageEntry","transformEntryKeys","entry","storageEntry","result","transformEntryToIndex","createLatestRecordType","createPublishedRecordType"],"mappings":";;;;;AA6DO,MAAMA,oBAAoB,CAC7BC;IAEA,MAAM,EACFC,KAAK,EACLC,aAAa,EACbC,kBAAkB,EAClB,OAAOC,SAAS,EAChB,cAAcC,gBAAgB,EAC9B,oBAAoBC,8BAA8B,EAClDC,kBAAkB,EAClBC,eAAe,EAClB,GAAGR;IAEJ,IAAIS;IACJ,IAAIC,0BAAwDJ;IAC5D,IAAIK;IACJ,IAAIC;IACJ,IAAIC;IAEJ,MAAMC,sBAAsBN,gBAAgB,MAAM,CAACO,CAAAA,IAAKA,EAAE,SAAS,CAACd,MAAM,OAAO;IAEjF,MAAMe,oBAAoB;QACtB,IAAIV,kCAAkC,CAACF,WACnC,MAAM,IAAIa,MACN,kFACA,sBACA;YACI,OAAOX;QACX;QAGR,IAAIK,qBACA,OAAOA;QAEX,MAAMO,gBAAgBC,gDAA6B;YAC/C,WAAWL;YACXb;YACA,OAAOG;QACX;QACA,MAAMgB,uBAAuBD,gDAA6B;YACtD,WAAWL;YACXb;YACA,OAAOI;QACX;QAEA,OAAQM,sBAAsBU,mBAAsB;YAChDpB;YACA,OAAOiB;YACP,cAAcE;QAClB;IACJ;IAEA,OAAO;QACH,oBAAoB;YAChB,IAAId,kCAAkC,CAACF,WACnC,MAAM,IAAIa,MACN,kFACA,sBACA;gBACI,OAAOX;YACX;YAGR,IAAIG,sBACA,OAAOA;YAEX,OAAQA,uBAAuBY,mBAAmB;gBAC9CpB;gBACA,OAAOG;gBACP,cAAcC;YAClB;QACJ;QACA,kBAAkB;YACd,IAAIK,yBACA,OAAOA;YAEX,IAAIY;YACJ,IAAIC;YAMJ,IAAIT,oBAAoB,MAAM,GAAG,GAAG;gBAChC,MAAMU,SAASR;gBACfM,QAAQE,OAAO,KAAK;gBACpBD,eAAeC,OAAO,YAAY;YACtC,OAEK;gBACD,MAAMA,SAAS,IAAI,CAAC,kBAAkB;gBACtCF,QAAQE,OAAO,KAAK;gBACpBD,eAAeC,OAAO,YAAY;YACtC;YACA,OAAQd,0BAA0Be,sBAAyB;gBACvDxB;gBACAqB;gBACAC;gBACArB;gBACAC;YACJ;QACJ;QACA,iCAAiC;YAC7B,IAAIS,0BACA,OAAOA;YAEX,MAAMU,QAAQ,IAAI,CAAC,gBAAgB;YAEnC,OAAQV,2BAA2B,MAAML,mBAAmB,QAAQ,CAAC;gBACjE,GAAGe,KAAK;gBACR,QAAQ;gBACR,MAAMI;gBACN,QAAQA;YACZ;QACJ;QACA,oCAAoC;YAChC,IAAIb,6BACA,OAAOA;YAEX,MAAMS,QAAQ,IAAI,CAAC,gBAAgB;YAEnC,OAAQT,8BAA8B,MAAMN,mBAAmB,QAAQ,CAAC;gBACpE,GAAGe,KAAK;gBACR,WAAW;gBACX,MAAMK;gBACN,QAAQA;YACZ;QACJ;IACJ;AACJ"}
|
|
@@ -43,10 +43,10 @@ export declare const modifyEntryValues: <T extends CmsEntryValues = CmsEntryValu
|
|
|
43
43
|
locked: boolean;
|
|
44
44
|
status: import("@webiny/api-headless-cms/types/types").CmsEntryStatus;
|
|
45
45
|
location?: import("@webiny/api-headless-cms/types/types").ICmsEntryLocation;
|
|
46
|
-
meta?: import("@webiny/api/types").GenericRecord;
|
|
47
46
|
wbyDeleted?: boolean | null;
|
|
48
47
|
binOriginalFolderId?: string;
|
|
49
48
|
system?: import("@webiny/api-headless-cms/types/types").ICmsEntrySystem;
|
|
50
49
|
live: import("@webiny/api-headless-cms/types/types").ICmsEntryLive | null;
|
|
50
|
+
revisionDescription: string | undefined;
|
|
51
51
|
};
|
|
52
52
|
export {};
|
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
for (const modifier of modifiers) {
|
|
9
|
-
values = modifier.modify({
|
|
10
|
-
model,
|
|
11
|
-
entry,
|
|
12
|
-
values
|
|
1
|
+
const modifyEntryValues = (params)=>{
|
|
2
|
+
const { modifiers, model, entry } = params;
|
|
3
|
+
let values = entry.values;
|
|
4
|
+
for (const modifier of modifiers)values = modifier.modify({
|
|
5
|
+
model,
|
|
6
|
+
entry,
|
|
7
|
+
values
|
|
13
8
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
9
|
+
return {
|
|
10
|
+
...entry,
|
|
11
|
+
values
|
|
12
|
+
};
|
|
19
13
|
};
|
|
14
|
+
export { modifyEntryValues };
|
|
20
15
|
|
|
21
16
|
//# sourceMappingURL=modifyEntryValues.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"operations/entry/transformations/modifyEntryValues.js","sources":["../../../../src/operations/entry/transformations/modifyEntryValues.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryValues,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport type { CmsEntryOpenSearchValuesModifier } from \"~/features/CmsEntryOpenSearchValuesModifier/index.js\";\n\ninterface Params<T extends CmsEntryValues = CmsEntryValues> {\n model: StorageOperationsCmsModel<T>;\n modifiers: CmsEntryOpenSearchValuesModifier.Interface[];\n entry: CmsEntry<T>;\n}\n\nexport const modifyEntryValues = <T extends CmsEntryValues = CmsEntryValues>(params: Params<T>) => {\n const { modifiers, model, entry } = params;\n let values = entry.values;\n for (const modifier of modifiers) {\n values = modifier.modify<T>({\n model,\n entry,\n values\n });\n }\n return {\n ...entry,\n values\n };\n};\n"],"names":["modifyEntryValues","params","modifiers","model","entry","values","modifier"],"mappings":"AAaO,MAAMA,oBAAoB,CAA4CC;IACzE,MAAM,EAAEC,SAAS,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGH;IACpC,IAAII,SAASD,MAAM,MAAM;IACzB,KAAK,MAAME,YAAYJ,UACnBG,SAASC,SAAS,MAAM,CAAI;QACxBH;QACAC;QACAC;IACJ;IAEJ,OAAO;QACH,GAAGD,KAAK;QACRC;IACJ;AACJ"}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import { convertEntryKeysToStorage } from "./convertEntryKeys.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
model,
|
|
15
|
-
entry: storageEntry
|
|
16
|
-
})
|
|
17
|
-
};
|
|
2
|
+
const transformEntryKeys = (params)=>{
|
|
3
|
+
const { model, entry, storageEntry } = params;
|
|
4
|
+
return {
|
|
5
|
+
entry: convertEntryKeysToStorage({
|
|
6
|
+
model,
|
|
7
|
+
entry
|
|
8
|
+
}),
|
|
9
|
+
storageEntry: convertEntryKeysToStorage({
|
|
10
|
+
model,
|
|
11
|
+
entry: storageEntry
|
|
12
|
+
})
|
|
13
|
+
};
|
|
18
14
|
};
|
|
15
|
+
export { transformEntryKeys };
|
|
19
16
|
|
|
20
17
|
//# sourceMappingURL=transformEntryKeys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"operations/entry/transformations/transformEntryKeys.js","sources":["../../../../src/operations/entry/transformations/transformEntryKeys.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryValues,\n CmsStorageEntry,\n StorageOperationsCmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { convertEntryKeysToStorage } from \"./convertEntryKeys.js\";\n\ninterface TransformKeysParams<T extends CmsEntryValues = CmsEntryValues> {\n model: StorageOperationsCmsModel<T>;\n entry: CmsEntry<T>;\n storageEntry: CmsStorageEntry<T>;\n}\n\nexport const transformEntryKeys = <T extends CmsEntryValues = CmsEntryValues>(\n params: TransformKeysParams<T>\n) => {\n const { model, entry, storageEntry } = params;\n return {\n entry: convertEntryKeysToStorage<T>({\n model,\n entry\n }),\n storageEntry: convertEntryKeysToStorage<T>({\n model,\n entry: storageEntry\n })\n };\n};\n"],"names":["transformEntryKeys","params","model","entry","storageEntry","convertEntryKeysToStorage"],"mappings":";AAcO,MAAMA,qBAAqB,CAC9BC;IAEA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,YAAY,EAAE,GAAGH;IACvC,OAAO;QACH,OAAOI,0BAA6B;YAChCH;YACAC;QACJ;QACA,cAAcE,0BAA6B;YACvCH;YACA,OAAOE;QACX;IACJ;AACJ"}
|