@webiny/api-headless-cms-ddb-es 0.0.0-unstable.eb196ccd2f → 0.0.0-unstable.f6dc066313
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -30
- package/configurations.d.ts +4 -5
- package/configurations.js +12 -24
- package/configurations.js.map +1 -1
- package/definitions/entry.d.ts +4 -6
- package/definitions/entry.js +5 -174
- package/definitions/entry.js.map +1 -1
- package/definitions/group.d.ts +6 -7
- package/definitions/group.js +5 -58
- package/definitions/group.js.map +1 -1
- package/definitions/model.d.ts +6 -7
- package/definitions/model.js +5 -102
- package/definitions/model.js.map +1 -1
- package/definitions/types.d.ts +60 -0
- package/definitions/types.js +3 -0
- package/definitions/types.js.map +1 -0
- package/dynamoDb/index.d.ts +2 -2
- package/dynamoDb/index.js +5 -13
- package/dynamoDb/index.js.map +1 -1
- package/dynamoDb/storage/longText.js +10 -18
- package/dynamoDb/storage/longText.js.map +1 -1
- package/dynamoDb/storage/richText.js +10 -18
- package/dynamoDb/storage/richText.js.map +1 -1
- package/elasticsearch/createElasticsearchIndex.d.ts +1 -1
- package/elasticsearch/createElasticsearchIndex.js +7 -15
- package/elasticsearch/createElasticsearchIndex.js.map +1 -1
- package/elasticsearch/deleteElasticsearchIndex.d.ts +1 -1
- package/elasticsearch/deleteElasticsearchIndex.js +3 -10
- package/elasticsearch/deleteElasticsearchIndex.js.map +1 -1
- package/elasticsearch/index.d.ts +1 -1
- package/elasticsearch/index.js +3 -11
- package/elasticsearch/index.js.map +1 -1
- package/elasticsearch/indexing/dateTimeIndexing.d.ts +1 -1
- package/elasticsearch/indexing/dateTimeIndexing.js +1 -8
- package/elasticsearch/indexing/dateTimeIndexing.js.map +1 -1
- package/elasticsearch/indexing/defaultFieldIndexing.d.ts +1 -1
- package/elasticsearch/indexing/defaultFieldIndexing.js +1 -8
- package/elasticsearch/indexing/defaultFieldIndexing.js.map +1 -1
- package/elasticsearch/indexing/index.d.ts +1 -1
- package/elasticsearch/indexing/index.js +8 -16
- package/elasticsearch/indexing/index.js.map +1 -1
- package/elasticsearch/indexing/jsonIndexing.d.ts +1 -1
- package/elasticsearch/indexing/jsonIndexing.js +1 -8
- package/elasticsearch/indexing/jsonIndexing.js.map +1 -1
- package/elasticsearch/indexing/longTextIndexing.d.ts +1 -1
- package/elasticsearch/indexing/longTextIndexing.js +1 -8
- package/elasticsearch/indexing/longTextIndexing.js.map +1 -1
- package/elasticsearch/indexing/numberIndexing.d.ts +1 -1
- package/elasticsearch/indexing/numberIndexing.js +1 -8
- package/elasticsearch/indexing/numberIndexing.js.map +1 -1
- package/elasticsearch/indexing/objectIndexing.d.ts +1 -1
- package/elasticsearch/indexing/objectIndexing.js +6 -13
- package/elasticsearch/indexing/objectIndexing.js.map +1 -1
- package/elasticsearch/indexing/richTextIndexing.d.ts +1 -1
- package/elasticsearch/indexing/richTextIndexing.js +1 -8
- package/elasticsearch/indexing/richTextIndexing.js.map +1 -1
- package/elasticsearch/indices/base.d.ts +1 -1
- package/elasticsearch/indices/base.js +4 -10
- package/elasticsearch/indices/base.js.map +1 -1
- package/elasticsearch/indices/index.d.ts +1 -1
- package/elasticsearch/indices/index.js +3 -11
- package/elasticsearch/indices/index.js.map +1 -1
- package/elasticsearch/search/index.d.ts +1 -1
- package/elasticsearch/search/index.js +4 -11
- package/elasticsearch/search/index.js.map +1 -1
- package/elasticsearch/search/refSearch.d.ts +1 -1
- package/elasticsearch/search/refSearch.js +3 -10
- package/elasticsearch/search/refSearch.js.map +1 -1
- package/elasticsearch/search/searchableJson.d.ts +1 -1
- package/elasticsearch/search/searchableJson.js +9 -16
- package/elasticsearch/search/searchableJson.js.map +1 -1
- package/elasticsearch/search/timeSearch.d.ts +1 -1
- package/elasticsearch/search/timeSearch.js +3 -10
- package/elasticsearch/search/timeSearch.js.map +1 -1
- package/helpers/entryIndexHelpers.d.ts +9 -9
- package/helpers/entryIndexHelpers.js +32 -26
- package/helpers/entryIndexHelpers.js.map +1 -1
- package/helpers/fieldIdentifier.d.ts +1 -1
- package/helpers/fieldIdentifier.js +2 -10
- package/helpers/fieldIdentifier.js.map +1 -1
- package/helpers/index.d.ts +2 -2
- package/helpers/index.js +2 -27
- package/helpers/index.js.map +1 -1
- package/index.d.ts +2 -2
- package/index.js +98 -133
- package/index.js.map +1 -1
- package/operations/entry/dataLoader/DataLoaderCache.d.ts +0 -2
- package/operations/entry/dataLoader/DataLoaderCache.js +2 -9
- package/operations/entry/dataLoader/DataLoaderCache.js.map +1 -1
- package/operations/entry/dataLoader/constants.js +1 -7
- package/operations/entry/dataLoader/constants.js.map +1 -1
- package/operations/entry/dataLoader/createBatchScheduleFn.js +4 -10
- package/operations/entry/dataLoader/createBatchScheduleFn.js.map +1 -1
- package/operations/entry/dataLoader/getAllEntryRevisions.d.ts +3 -3
- package/operations/entry/dataLoader/getAllEntryRevisions.js +11 -24
- package/operations/entry/dataLoader/getAllEntryRevisions.js.map +1 -1
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.d.ts +3 -3
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.js +18 -30
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.js.map +1 -1
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.d.ts +3 -3
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js +18 -30
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js.map +1 -1
- package/operations/entry/dataLoader/getRevisionById.d.ts +3 -3
- package/operations/entry/dataLoader/getRevisionById.js +23 -35
- package/operations/entry/dataLoader/getRevisionById.js.map +1 -1
- package/operations/entry/dataLoader/index.d.ts +3 -3
- package/operations/entry/dataLoader/index.js +10 -31
- package/operations/entry/dataLoader/index.js.map +1 -1
- package/operations/entry/dataLoader/types.d.ts +3 -4
- package/operations/entry/dataLoader/types.js +1 -5
- package/operations/entry/dataLoader/types.js.map +1 -1
- package/operations/entry/dataLoaders.d.ts +13 -13
- package/operations/entry/dataLoaders.js +15 -25
- package/operations/entry/dataLoaders.js.map +1 -1
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.d.ts +1 -1
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +1 -8
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -1
- package/operations/entry/elasticsearch/body.d.ts +2 -2
- package/operations/entry/elasticsearch/body.js +23 -30
- package/operations/entry/elasticsearch/body.js.map +1 -1
- package/operations/entry/elasticsearch/fields/createSystemField.d.ts +4 -0
- package/operations/entry/elasticsearch/fields/createSystemField.js +10 -0
- package/operations/entry/elasticsearch/fields/createSystemField.js.map +1 -0
- package/operations/entry/elasticsearch/fields/live.d.ts +2 -0
- package/operations/entry/elasticsearch/fields/live.js +45 -0
- package/operations/entry/elasticsearch/fields/live.js.map +1 -0
- package/operations/entry/elasticsearch/fields/location.d.ts +2 -0
- package/operations/entry/elasticsearch/fields/location.js +45 -0
- package/operations/entry/elasticsearch/fields/location.js.map +1 -0
- package/operations/entry/elasticsearch/fields/state.d.ts +2 -0
- package/operations/entry/elasticsearch/fields/state.js +93 -0
- package/operations/entry/elasticsearch/fields/state.js.map +1 -0
- package/operations/entry/elasticsearch/fields.d.ts +2 -2
- package/operations/entry/elasticsearch/fields.js +26 -67
- package/operations/entry/elasticsearch/fields.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/applyFiltering.d.ts +2 -2
- package/operations/entry/elasticsearch/filtering/applyFiltering.js +9 -17
- package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/exec.d.ts +6 -5
- package/operations/entry/elasticsearch/filtering/exec.js +48 -45
- package/operations/entry/elasticsearch/filtering/exec.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/index.d.ts +1 -1
- package/operations/entry/elasticsearch/filtering/index.js +1 -16
- package/operations/entry/elasticsearch/filtering/index.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/path.d.ts +1 -1
- package/operations/entry/elasticsearch/filtering/path.js +5 -15
- package/operations/entry/elasticsearch/filtering/path.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.d.ts +1 -1
- package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js +6 -14
- package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/plugins/index.d.ts +1 -1
- package/operations/entry/elasticsearch/filtering/plugins/index.js +5 -12
- package/operations/entry/elasticsearch/filtering/plugins/index.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.d.ts +1 -1
- package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js +7 -15
- package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.d.ts +1 -1
- package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js +7 -15
- package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/populated.d.ts +1 -1
- package/operations/entry/elasticsearch/filtering/populated.js +1 -8
- package/operations/entry/elasticsearch/filtering/populated.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/values.d.ts +1 -1
- package/operations/entry/elasticsearch/filtering/values.js +4 -12
- package/operations/entry/elasticsearch/filtering/values.js.map +1 -1
- package/operations/entry/elasticsearch/fullTextSearch.d.ts +4 -3
- package/operations/entry/elasticsearch/fullTextSearch.js +17 -16
- package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -1
- package/operations/entry/elasticsearch/fullTextSearchFields.d.ts +4 -4
- package/operations/entry/elasticsearch/fullTextSearchFields.js +11 -18
- package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -1
- package/operations/entry/elasticsearch/initialQuery.d.ts +2 -2
- package/operations/entry/elasticsearch/initialQuery.js +9 -27
- package/operations/entry/elasticsearch/initialQuery.js.map +1 -1
- package/operations/entry/elasticsearch/keyword.d.ts +1 -1
- package/operations/entry/elasticsearch/keyword.js +4 -9
- package/operations/entry/elasticsearch/keyword.js.map +1 -1
- package/operations/entry/elasticsearch/plugins/bodyModifier.d.ts +2 -2
- package/operations/entry/elasticsearch/plugins/bodyModifier.js +3 -10
- package/operations/entry/elasticsearch/plugins/bodyModifier.js.map +1 -1
- package/operations/entry/elasticsearch/plugins/operator.d.ts +1 -2
- package/operations/entry/elasticsearch/plugins/operator.js +4 -19
- package/operations/entry/elasticsearch/plugins/operator.js.map +1 -1
- package/operations/entry/elasticsearch/plugins/queryModifier.d.ts +2 -2
- package/operations/entry/elasticsearch/plugins/queryModifier.js +3 -10
- package/operations/entry/elasticsearch/plugins/queryModifier.js.map +1 -1
- package/operations/entry/elasticsearch/plugins/search.d.ts +1 -1
- package/operations/entry/elasticsearch/plugins/search.js +5 -13
- package/operations/entry/elasticsearch/plugins/search.js.map +1 -1
- package/operations/entry/elasticsearch/plugins/sortModifier.d.ts +2 -2
- package/operations/entry/elasticsearch/plugins/sortModifier.js +3 -10
- package/operations/entry/elasticsearch/plugins/sortModifier.js.map +1 -1
- package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js +1 -8
- package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -1
- package/operations/entry/elasticsearch/sort.d.ts +3 -3
- package/operations/entry/elasticsearch/sort.js +51 -33
- package/operations/entry/elasticsearch/sort.js.map +1 -1
- package/operations/entry/elasticsearch/transformValueForSearch.d.ts +2 -2
- package/operations/entry/elasticsearch/transformValueForSearch.js +4 -9
- package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -1
- package/operations/entry/elasticsearch/types.d.ts +2 -2
- package/operations/entry/elasticsearch/types.js +1 -5
- package/operations/entry/elasticsearch/types.js.map +1 -1
- package/operations/entry/index.d.ts +5 -4
- package/operations/entry/index.js +333 -515
- package/operations/entry/index.js.map +1 -1
- package/operations/entry/keys.d.ts +31 -1
- package/operations/entry/keys.js +56 -19
- package/operations/entry/keys.js.map +1 -1
- package/operations/entry/recordType.js +3 -12
- package/operations/entry/recordType.js.map +1 -1
- package/operations/entry/transformations/convertEntryKeys.d.ts +6 -6
- package/operations/entry/transformations/convertEntryKeys.js +2 -10
- package/operations/entry/transformations/convertEntryKeys.js.map +1 -1
- package/operations/entry/transformations/index.d.ts +16 -16
- package/operations/entry/transformations/index.js +22 -30
- package/operations/entry/transformations/index.js.map +1 -1
- package/operations/entry/transformations/modifyEntryValues.d.ts +28 -34
- package/operations/entry/transformations/modifyEntryValues.js +1 -8
- package/operations/entry/transformations/modifyEntryValues.js.map +1 -1
- package/operations/entry/transformations/transformEntryKeys.d.ts +8 -8
- package/operations/entry/transformations/transformEntryKeys.js +4 -11
- package/operations/entry/transformations/transformEntryKeys.js.map +1 -1
- package/operations/entry/transformations/transformEntryToIndex.d.ts +6 -6
- package/operations/entry/transformations/transformEntryToIndex.js +3 -10
- package/operations/entry/transformations/transformEntryToIndex.js.map +1 -1
- package/operations/group/index.d.ts +5 -4
- package/operations/group/index.js +39 -73
- package/operations/group/index.js.map +1 -1
- package/operations/model/index.d.ts +3 -3
- package/operations/model/index.js +38 -57
- package/operations/model/index.js.map +1 -1
- package/package.json +27 -32
- package/plugins/CmsElasticsearchModelFieldPlugin.d.ts +1 -1
- package/plugins/CmsElasticsearchModelFieldPlugin.js +2 -8
- package/plugins/CmsElasticsearchModelFieldPlugin.js.map +1 -1
- package/plugins/CmsEntryElasticsearchBodyModifierPlugin.d.ts +1 -1
- package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js +3 -11
- package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js.map +1 -1
- package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.d.ts +5 -4
- package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js +3 -11
- package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js.map +1 -1
- package/plugins/CmsEntryElasticsearchIndexPlugin.js +2 -9
- package/plugins/CmsEntryElasticsearchIndexPlugin.js.map +1 -1
- package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.d.ts +2 -2
- package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js +3 -11
- package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js.map +1 -1
- package/plugins/CmsEntryElasticsearchQueryModifierPlugin.d.ts +1 -1
- package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js +3 -11
- package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js.map +1 -1
- package/plugins/CmsEntryElasticsearchSortModifierPlugin.d.ts +1 -1
- package/plugins/CmsEntryElasticsearchSortModifierPlugin.js +3 -11
- package/plugins/CmsEntryElasticsearchSortModifierPlugin.js.map +1 -1
- package/plugins/CmsEntryElasticsearchValuesModifier.d.ts +12 -12
- package/plugins/CmsEntryElasticsearchValuesModifier.js +4 -12
- package/plugins/CmsEntryElasticsearchValuesModifier.js.map +1 -1
- package/plugins/CmsEntryFilterPlugin.d.ts +3 -3
- package/plugins/CmsEntryFilterPlugin.js +2 -9
- package/plugins/CmsEntryFilterPlugin.js.map +1 -1
- package/plugins/index.d.ts +8 -8
- package/plugins/index.js +8 -93
- package/plugins/index.js.map +1 -1
- package/tasks/createIndexTaskPlugin.d.ts +2 -2
- package/tasks/createIndexTaskPlugin.js +36 -62
- package/tasks/createIndexTaskPlugin.js.map +1 -1
- package/types.d.ts +23 -26
- package/types.js +5 -8
- package/types.js.map +1 -1
- package/values/NoValueContainer.js +1 -8
- package/values/NoValueContainer.js.map +1 -1
- package/definitions/entryElasticsearch.d.ts +0 -9
- package/definitions/entryElasticsearch.js +0 -41
- package/definitions/entryElasticsearch.js.map +0 -1
- package/definitions/system.d.ts +0 -9
- package/definitions/system.js +0 -42
- package/definitions/system.js.map +0 -1
- package/definitions/table.d.ts +0 -8
- package/definitions/table.js +0 -25
- package/definitions/table.js.map +0 -1
- package/definitions/tableElasticsearch.d.ts +0 -8
- package/definitions/tableElasticsearch.js +0 -25
- package/definitions/tableElasticsearch.js.map +0 -1
- package/elasticsearch/indices/japanese.d.ts +0 -2
- package/elasticsearch/indices/japanese.js +0 -14
- package/elasticsearch/indices/japanese.js.map +0 -1
- package/operations/entry/elasticsearch/logIgnoredEsResponseError.d.ts +0 -9
- package/operations/entry/elasticsearch/logIgnoredEsResponseError.js +0 -26
- package/operations/entry/elasticsearch/logIgnoredEsResponseError.js.map +0 -1
- package/operations/system/index.d.ts +0 -6
- package/operations/system/index.js +0 -94
- package/operations/system/index.js.map +0 -1
- package/operations/system/indexes.d.ts +0 -10
- package/operations/system/indexes.js +0 -41
- package/operations/system/indexes.js.map +0 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createSystemField } from "./createSystemField.js";
|
|
2
|
+
import { createModelField } from "@webiny/api-headless-cms";
|
|
3
|
+
export const liveFields = {
|
|
4
|
+
live: {
|
|
5
|
+
type: "object",
|
|
6
|
+
systemField: true,
|
|
7
|
+
searchable: true,
|
|
8
|
+
sortable: false,
|
|
9
|
+
field: createSystemField({
|
|
10
|
+
storageId: "live",
|
|
11
|
+
fieldId: "live",
|
|
12
|
+
type: "object",
|
|
13
|
+
settings: {
|
|
14
|
+
fields: [createModelField({
|
|
15
|
+
id: "version",
|
|
16
|
+
fieldId: "version",
|
|
17
|
+
storageId: "version",
|
|
18
|
+
type: "number",
|
|
19
|
+
label: "Version"
|
|
20
|
+
})]
|
|
21
|
+
}
|
|
22
|
+
}),
|
|
23
|
+
parents: []
|
|
24
|
+
},
|
|
25
|
+
"live.version": {
|
|
26
|
+
type: "number",
|
|
27
|
+
systemField: true,
|
|
28
|
+
searchable: true,
|
|
29
|
+
sortable: false,
|
|
30
|
+
parents: [{
|
|
31
|
+
fieldId: "live",
|
|
32
|
+
type: "object",
|
|
33
|
+
storageId: "live"
|
|
34
|
+
}],
|
|
35
|
+
field: createSystemField({
|
|
36
|
+
id: "version",
|
|
37
|
+
fieldId: "version",
|
|
38
|
+
storageId: "version",
|
|
39
|
+
type: "number",
|
|
40
|
+
label: "Version"
|
|
41
|
+
})
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=live.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSystemField","createModelField","liveFields","live","type","systemField","searchable","sortable","field","storageId","fieldId","settings","fields","id","label","parents"],"sources":["live.ts"],"sourcesContent":["import type { ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createSystemField } from \"./createSystemField.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\nexport const liveFields: ModelFields = {\n live: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"live\",\n fieldId: \"live\",\n type: \"object\",\n settings: {\n fields: [\n createModelField({\n id: \"version\",\n fieldId: \"version\",\n storageId: \"version\",\n type: \"number\",\n label: \"Version\"\n })\n ]\n }\n }),\n parents: []\n },\n \"live.version\": {\n type: \"number\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"live\",\n type: \"object\",\n storageId: \"live\"\n }\n ],\n field: createSystemField({\n id: \"version\",\n fieldId: \"version\",\n storageId: \"version\",\n type: \"number\",\n label: \"Version\"\n })\n }\n};\n"],"mappings":"AACA,SAASA,iBAAiB;AAC1B,SAASC,gBAAgB,QAAQ,0BAA0B;AAE3D,OAAO,MAAMC,UAAuB,GAAG;EACnCC,IAAI,EAAE;IACFC,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,KAAK;IACfC,KAAK,EAAER,iBAAiB,CAAC;MACrBS,SAAS,EAAE,MAAM;MACjBC,OAAO,EAAE,MAAM;MACfN,IAAI,EAAE,QAAQ;MACdO,QAAQ,EAAE;QACNC,MAAM,EAAE,CACJX,gBAAgB,CAAC;UACbY,EAAE,EAAE,SAAS;UACbH,OAAO,EAAE,SAAS;UAClBD,SAAS,EAAE,SAAS;UACpBL,IAAI,EAAE,QAAQ;UACdU,KAAK,EAAE;QACX,CAAC,CAAC;MAEV;IACJ,CAAC,CAAC;IACFC,OAAO,EAAE;EACb,CAAC;EACD,cAAc,EAAE;IACZX,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,KAAK;IACfQ,OAAO,EAAE,CACL;MACIL,OAAO,EAAE,MAAM;MACfN,IAAI,EAAE,QAAQ;MACdK,SAAS,EAAE;IACf,CAAC,CACJ;IACDD,KAAK,EAAER,iBAAiB,CAAC;MACrBa,EAAE,EAAE,SAAS;MACbH,OAAO,EAAE,SAAS;MAClBD,SAAS,EAAE,SAAS;MACpBL,IAAI,EAAE,QAAQ;MACdU,KAAK,EAAE;IACX,CAAC;EACL;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createSystemField } from "./createSystemField.js";
|
|
2
|
+
import { createModelField } from "@webiny/api-headless-cms";
|
|
3
|
+
export const locationFields = {
|
|
4
|
+
wbyAco_location: {
|
|
5
|
+
type: "object",
|
|
6
|
+
systemField: true,
|
|
7
|
+
searchable: true,
|
|
8
|
+
sortable: true,
|
|
9
|
+
field: createSystemField({
|
|
10
|
+
storageId: "location",
|
|
11
|
+
fieldId: "wbyAco_location",
|
|
12
|
+
type: "object",
|
|
13
|
+
settings: {
|
|
14
|
+
fields: [createModelField({
|
|
15
|
+
id: "folderId",
|
|
16
|
+
fieldId: "folderId",
|
|
17
|
+
storageId: "folderId",
|
|
18
|
+
type: "text",
|
|
19
|
+
label: "Folder ID"
|
|
20
|
+
})]
|
|
21
|
+
}
|
|
22
|
+
}),
|
|
23
|
+
parents: []
|
|
24
|
+
},
|
|
25
|
+
"wbyAco_location.folderId": {
|
|
26
|
+
type: "text",
|
|
27
|
+
systemField: true,
|
|
28
|
+
searchable: true,
|
|
29
|
+
sortable: true,
|
|
30
|
+
field: createSystemField({
|
|
31
|
+
id: "folderId",
|
|
32
|
+
fieldId: "folderId",
|
|
33
|
+
storageId: "folderId",
|
|
34
|
+
type: "text",
|
|
35
|
+
label: "Folder ID"
|
|
36
|
+
}),
|
|
37
|
+
parents: [{
|
|
38
|
+
fieldId: "wbyAco_location",
|
|
39
|
+
type: "object",
|
|
40
|
+
storageId: "location"
|
|
41
|
+
}]
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=location.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSystemField","createModelField","locationFields","wbyAco_location","type","systemField","searchable","sortable","field","storageId","fieldId","settings","fields","id","label","parents"],"sources":["location.ts"],"sourcesContent":["import type { ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createSystemField } from \"./createSystemField.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\nexport const locationFields: ModelFields = {\n wbyAco_location: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"location\",\n fieldId: \"wbyAco_location\",\n type: \"object\",\n settings: {\n fields: [\n createModelField({\n id: \"folderId\",\n fieldId: \"folderId\",\n storageId: \"folderId\",\n type: \"text\",\n label: \"Folder ID\"\n })\n ]\n }\n }),\n parents: []\n },\n \"wbyAco_location.folderId\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n id: \"folderId\",\n fieldId: \"folderId\",\n storageId: \"folderId\",\n type: \"text\",\n label: \"Folder ID\"\n }),\n parents: [\n {\n fieldId: \"wbyAco_location\",\n type: \"object\",\n storageId: \"location\"\n }\n ]\n }\n};\n"],"mappings":"AACA,SAASA,iBAAiB;AAC1B,SAASC,gBAAgB,QAAQ,0BAA0B;AAE3D,OAAO,MAAMC,cAA2B,GAAG;EACvCC,eAAe,EAAE;IACbC,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,IAAI;IACdC,KAAK,EAAER,iBAAiB,CAAC;MACrBS,SAAS,EAAE,UAAU;MACrBC,OAAO,EAAE,iBAAiB;MAC1BN,IAAI,EAAE,QAAQ;MACdO,QAAQ,EAAE;QACNC,MAAM,EAAE,CACJX,gBAAgB,CAAC;UACbY,EAAE,EAAE,UAAU;UACdH,OAAO,EAAE,UAAU;UACnBD,SAAS,EAAE,UAAU;UACrBL,IAAI,EAAE,MAAM;UACZU,KAAK,EAAE;QACX,CAAC,CAAC;MAEV;IACJ,CAAC,CAAC;IACFC,OAAO,EAAE;EACb,CAAC;EACD,0BAA0B,EAAE;IACxBX,IAAI,EAAE,MAAM;IACZC,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,IAAI;IACdC,KAAK,EAAER,iBAAiB,CAAC;MACrBa,EAAE,EAAE,UAAU;MACdH,OAAO,EAAE,UAAU;MACnBD,SAAS,EAAE,UAAU;MACrBL,IAAI,EAAE,MAAM;MACZU,KAAK,EAAE;IACX,CAAC,CAAC;IACFC,OAAO,EAAE,CACL;MACIL,OAAO,EAAE,iBAAiB;MAC1BN,IAAI,EAAE,QAAQ;MACdK,SAAS,EAAE;IACf,CAAC;EAET;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { createSystemField } from "./createSystemField.js";
|
|
2
|
+
import { createModelField } from "@webiny/api-headless-cms";
|
|
3
|
+
export const stateFields = {
|
|
4
|
+
state: {
|
|
5
|
+
type: "object",
|
|
6
|
+
systemField: true,
|
|
7
|
+
searchable: true,
|
|
8
|
+
sortable: false,
|
|
9
|
+
field: createSystemField({
|
|
10
|
+
storageId: "object@state",
|
|
11
|
+
fieldId: "state",
|
|
12
|
+
type: "object",
|
|
13
|
+
settings: {
|
|
14
|
+
fields: [createModelField({
|
|
15
|
+
id: "stepId",
|
|
16
|
+
fieldId: "stepId",
|
|
17
|
+
storageId: "text@stepId",
|
|
18
|
+
type: "text",
|
|
19
|
+
label: "Step ID"
|
|
20
|
+
}), createModelField({
|
|
21
|
+
id: "stepName",
|
|
22
|
+
fieldId: "stepName",
|
|
23
|
+
storageId: "text@stepName",
|
|
24
|
+
type: "text",
|
|
25
|
+
label: "Step Name"
|
|
26
|
+
}), createModelField({
|
|
27
|
+
id: "state",
|
|
28
|
+
fieldId: "state",
|
|
29
|
+
storageId: "text@state",
|
|
30
|
+
type: "text",
|
|
31
|
+
label: "State"
|
|
32
|
+
})]
|
|
33
|
+
}
|
|
34
|
+
}),
|
|
35
|
+
parents: []
|
|
36
|
+
},
|
|
37
|
+
"state.stepId": {
|
|
38
|
+
type: "text",
|
|
39
|
+
systemField: true,
|
|
40
|
+
searchable: true,
|
|
41
|
+
sortable: false,
|
|
42
|
+
parents: [{
|
|
43
|
+
fieldId: "state",
|
|
44
|
+
type: "object",
|
|
45
|
+
storageId: "object@state"
|
|
46
|
+
}],
|
|
47
|
+
field: createSystemField({
|
|
48
|
+
id: "stepId",
|
|
49
|
+
fieldId: "stepId",
|
|
50
|
+
storageId: "text@stepId",
|
|
51
|
+
type: "text",
|
|
52
|
+
label: "Step ID"
|
|
53
|
+
})
|
|
54
|
+
},
|
|
55
|
+
"state.stepName": {
|
|
56
|
+
type: "text",
|
|
57
|
+
systemField: true,
|
|
58
|
+
searchable: true,
|
|
59
|
+
sortable: false,
|
|
60
|
+
parents: [{
|
|
61
|
+
fieldId: "state",
|
|
62
|
+
type: "object",
|
|
63
|
+
storageId: "object@state"
|
|
64
|
+
}],
|
|
65
|
+
field: createSystemField({
|
|
66
|
+
id: "stepName",
|
|
67
|
+
fieldId: "stepName",
|
|
68
|
+
storageId: "text@stepName",
|
|
69
|
+
type: "text",
|
|
70
|
+
label: "Step Name"
|
|
71
|
+
})
|
|
72
|
+
},
|
|
73
|
+
"state.state": {
|
|
74
|
+
type: "text",
|
|
75
|
+
systemField: true,
|
|
76
|
+
searchable: true,
|
|
77
|
+
sortable: false,
|
|
78
|
+
parents: [{
|
|
79
|
+
fieldId: "state",
|
|
80
|
+
type: "object",
|
|
81
|
+
storageId: "object@state"
|
|
82
|
+
}],
|
|
83
|
+
field: createSystemField({
|
|
84
|
+
id: "state",
|
|
85
|
+
fieldId: "state",
|
|
86
|
+
storageId: "text@state",
|
|
87
|
+
type: "text",
|
|
88
|
+
label: "State"
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSystemField","createModelField","stateFields","state","type","systemField","searchable","sortable","field","storageId","fieldId","settings","fields","id","label","parents"],"sources":["state.ts"],"sourcesContent":["import type { ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createSystemField } from \"./createSystemField.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\nexport const stateFields: ModelFields = {\n state: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"object@state\",\n fieldId: \"state\",\n type: \"object\",\n settings: {\n fields: [\n createModelField({\n id: \"stepId\",\n fieldId: \"stepId\",\n storageId: \"text@stepId\",\n type: \"text\",\n label: \"Step ID\"\n }),\n createModelField({\n id: \"stepName\",\n fieldId: \"stepName\",\n storageId: \"text@stepName\",\n type: \"text\",\n label: \"Step Name\"\n }),\n createModelField({\n id: \"state\",\n fieldId: \"state\",\n storageId: \"text@state\",\n type: \"text\",\n label: \"State\"\n })\n ]\n }\n }),\n parents: []\n },\n \"state.stepId\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"state\",\n type: \"object\",\n storageId: \"object@state\"\n }\n ],\n field: createSystemField({\n id: \"stepId\",\n fieldId: \"stepId\",\n storageId: \"text@stepId\",\n type: \"text\",\n label: \"Step ID\"\n })\n },\n \"state.stepName\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"state\",\n type: \"object\",\n storageId: \"object@state\"\n }\n ],\n field: createSystemField({\n id: \"stepName\",\n fieldId: \"stepName\",\n storageId: \"text@stepName\",\n type: \"text\",\n label: \"Step Name\"\n })\n },\n \"state.state\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"state\",\n type: \"object\",\n storageId: \"object@state\"\n }\n ],\n field: createSystemField({\n id: \"state\",\n fieldId: \"state\",\n storageId: \"text@state\",\n type: \"text\",\n label: \"State\"\n })\n }\n};\n"],"mappings":"AACA,SAASA,iBAAiB;AAC1B,SAASC,gBAAgB,QAAQ,0BAA0B;AAE3D,OAAO,MAAMC,WAAwB,GAAG;EACpCC,KAAK,EAAE;IACHC,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,KAAK;IACfC,KAAK,EAAER,iBAAiB,CAAC;MACrBS,SAAS,EAAE,cAAc;MACzBC,OAAO,EAAE,OAAO;MAChBN,IAAI,EAAE,QAAQ;MACdO,QAAQ,EAAE;QACNC,MAAM,EAAE,CACJX,gBAAgB,CAAC;UACbY,EAAE,EAAE,QAAQ;UACZH,OAAO,EAAE,QAAQ;UACjBD,SAAS,EAAE,aAAa;UACxBL,IAAI,EAAE,MAAM;UACZU,KAAK,EAAE;QACX,CAAC,CAAC,EACFb,gBAAgB,CAAC;UACbY,EAAE,EAAE,UAAU;UACdH,OAAO,EAAE,UAAU;UACnBD,SAAS,EAAE,eAAe;UAC1BL,IAAI,EAAE,MAAM;UACZU,KAAK,EAAE;QACX,CAAC,CAAC,EACFb,gBAAgB,CAAC;UACbY,EAAE,EAAE,OAAO;UACXH,OAAO,EAAE,OAAO;UAChBD,SAAS,EAAE,YAAY;UACvBL,IAAI,EAAE,MAAM;UACZU,KAAK,EAAE;QACX,CAAC,CAAC;MAEV;IACJ,CAAC,CAAC;IACFC,OAAO,EAAE;EACb,CAAC;EACD,cAAc,EAAE;IACZX,IAAI,EAAE,MAAM;IACZC,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,KAAK;IACfQ,OAAO,EAAE,CACL;MACIL,OAAO,EAAE,OAAO;MAChBN,IAAI,EAAE,QAAQ;MACdK,SAAS,EAAE;IACf,CAAC,CACJ;IACDD,KAAK,EAAER,iBAAiB,CAAC;MACrBa,EAAE,EAAE,QAAQ;MACZH,OAAO,EAAE,QAAQ;MACjBD,SAAS,EAAE,aAAa;MACxBL,IAAI,EAAE,MAAM;MACZU,KAAK,EAAE;IACX,CAAC;EACL,CAAC;EACD,gBAAgB,EAAE;IACdV,IAAI,EAAE,MAAM;IACZC,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,KAAK;IACfQ,OAAO,EAAE,CACL;MACIL,OAAO,EAAE,OAAO;MAChBN,IAAI,EAAE,QAAQ;MACdK,SAAS,EAAE;IACf,CAAC,CACJ;IACDD,KAAK,EAAER,iBAAiB,CAAC;MACrBa,EAAE,EAAE,UAAU;MACdH,OAAO,EAAE,UAAU;MACnBD,SAAS,EAAE,eAAe;MAC1BL,IAAI,EAAE,MAAM;MACZU,KAAK,EAAE;IACX,CAAC;EACL,CAAC;EACD,aAAa,EAAE;IACXV,IAAI,EAAE,MAAM;IACZC,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,KAAK;IACfQ,OAAO,EAAE,CACL;MACIL,OAAO,EAAE,OAAO;MAChBN,IAAI,EAAE,QAAQ;MACdK,SAAS,EAAE;IACf,CAAC,CACJ;IACDD,KAAK,EAAER,iBAAiB,CAAC;MACrBa,EAAE,EAAE,OAAO;MACXH,OAAO,EAAE,OAAO;MAChBD,SAAS,EAAE,YAAY;MACvBL,IAAI,EAAE,MAAM;MACZU,KAAK,EAAE;IACX,CAAC;EACL;AACJ,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { PluginsContainer } from "@webiny/plugins";
|
|
2
|
-
import type { CmsModel } from "@webiny/api-headless-cms/types";
|
|
2
|
+
import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
3
3
|
interface Params {
|
|
4
4
|
plugins: PluginsContainer;
|
|
5
5
|
model: CmsModel;
|
|
6
6
|
}
|
|
7
7
|
export declare const createModelFields: ({ plugins, model }: Params) => {
|
|
8
|
-
[x: string]: import("./types").ModelField;
|
|
8
|
+
[x: string]: import("./types.js").ModelField;
|
|
9
9
|
};
|
|
10
10
|
export {};
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _plugins = require("../../../plugins");
|
|
10
|
-
var _constants = require("@webiny/api-headless-cms/constants");
|
|
11
|
-
const createSystemField = field => {
|
|
12
|
-
return {
|
|
13
|
-
...field,
|
|
14
|
-
id: field.fieldId,
|
|
15
|
-
label: field.fieldId
|
|
16
|
-
};
|
|
17
|
-
};
|
|
1
|
+
import WebinyError from "@webiny/error";
|
|
2
|
+
import { CmsElasticsearchModelFieldPlugin } from "../../../plugins/index.js";
|
|
3
|
+
import { ENTRY_META_FIELDS, isDateTimeEntryMetaField, isIdentityEntryMetaField } from "@webiny/api-headless-cms/constants.js";
|
|
4
|
+
import { getBaseFieldType } from "@webiny/api-headless-cms/utils/getBaseFieldType.js";
|
|
5
|
+
import { liveFields } from "./fields/live.js";
|
|
6
|
+
import { createSystemField } from "./fields/createSystemField.js";
|
|
7
|
+
import { stateFields } from "./fields/state.js";
|
|
8
|
+
import { locationFields } from "./fields/location.js";
|
|
18
9
|
const createSystemFields = () => {
|
|
19
|
-
const onMetaFields =
|
|
10
|
+
const onMetaFields = ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).reduce((current, fieldName) => {
|
|
20
11
|
return {
|
|
21
12
|
...current,
|
|
22
13
|
[fieldName]: {
|
|
@@ -38,7 +29,7 @@ const createSystemFields = () => {
|
|
|
38
29
|
}
|
|
39
30
|
};
|
|
40
31
|
}, {});
|
|
41
|
-
const byMetaFields =
|
|
32
|
+
const byMetaFields = ENTRY_META_FIELDS.filter(isIdentityEntryMetaField).reduce((current, fieldName) => {
|
|
42
33
|
return {
|
|
43
34
|
...current,
|
|
44
35
|
[fieldName]: {
|
|
@@ -84,45 +75,7 @@ const createSystemFields = () => {
|
|
|
84
75
|
},
|
|
85
76
|
...onMetaFields,
|
|
86
77
|
...byMetaFields,
|
|
87
|
-
|
|
88
|
-
type: "object",
|
|
89
|
-
systemField: true,
|
|
90
|
-
searchable: true,
|
|
91
|
-
sortable: true,
|
|
92
|
-
field: createSystemField({
|
|
93
|
-
storageId: "location",
|
|
94
|
-
fieldId: "wbyAco_location",
|
|
95
|
-
type: "object",
|
|
96
|
-
settings: {
|
|
97
|
-
fields: [{
|
|
98
|
-
id: "folderId",
|
|
99
|
-
fieldId: "folderId",
|
|
100
|
-
storageId: "folderId",
|
|
101
|
-
type: "text",
|
|
102
|
-
label: "Folder ID"
|
|
103
|
-
}]
|
|
104
|
-
}
|
|
105
|
-
}),
|
|
106
|
-
parents: []
|
|
107
|
-
},
|
|
108
|
-
"wbyAco_location.folderId": {
|
|
109
|
-
type: "text",
|
|
110
|
-
systemField: true,
|
|
111
|
-
searchable: true,
|
|
112
|
-
sortable: true,
|
|
113
|
-
field: createSystemField({
|
|
114
|
-
id: "folderId",
|
|
115
|
-
fieldId: "folderId",
|
|
116
|
-
storageId: "folderId",
|
|
117
|
-
type: "text",
|
|
118
|
-
label: "Folder ID"
|
|
119
|
-
}),
|
|
120
|
-
parents: [{
|
|
121
|
-
fieldId: "wbyAco_location",
|
|
122
|
-
type: "object",
|
|
123
|
-
storageId: "location"
|
|
124
|
-
}]
|
|
125
|
-
},
|
|
78
|
+
...locationFields,
|
|
126
79
|
version: {
|
|
127
80
|
type: "number",
|
|
128
81
|
unmappedType: undefined,
|
|
@@ -178,7 +131,9 @@ const createSystemFields = () => {
|
|
|
178
131
|
type: "text"
|
|
179
132
|
}),
|
|
180
133
|
parents: []
|
|
181
|
-
}
|
|
134
|
+
},
|
|
135
|
+
...stateFields,
|
|
136
|
+
...liveFields
|
|
182
137
|
};
|
|
183
138
|
};
|
|
184
139
|
const buildCustomFields = params => {
|
|
@@ -220,9 +175,10 @@ const buildFieldsList = params => {
|
|
|
220
175
|
parents
|
|
221
176
|
} = params;
|
|
222
177
|
return fields.reduce((result, field) => {
|
|
223
|
-
const
|
|
178
|
+
const fieldType = getBaseFieldType(field);
|
|
179
|
+
const plugin = plugins[fieldType];
|
|
224
180
|
if (!plugin) {
|
|
225
|
-
throw new
|
|
181
|
+
throw new WebinyError(`There is no plugin for field type "${field.type}".`);
|
|
226
182
|
}
|
|
227
183
|
const {
|
|
228
184
|
searchable,
|
|
@@ -244,14 +200,14 @@ const buildFieldsList = params => {
|
|
|
244
200
|
parents: [...parents, {
|
|
245
201
|
fieldId: field.fieldId,
|
|
246
202
|
storageId: field.storageId,
|
|
247
|
-
type:
|
|
203
|
+
type: fieldType
|
|
248
204
|
}]
|
|
249
205
|
});
|
|
250
206
|
Object.assign(result, childResult);
|
|
251
207
|
}
|
|
252
208
|
const identifier = [...parents.map(p => p.fieldId), field.fieldId].join(".");
|
|
253
209
|
result[identifier] = {
|
|
254
|
-
type:
|
|
210
|
+
type: fieldType,
|
|
255
211
|
parents,
|
|
256
212
|
searchable,
|
|
257
213
|
sortable,
|
|
@@ -263,12 +219,12 @@ const buildFieldsList = params => {
|
|
|
263
219
|
return result;
|
|
264
220
|
}, {});
|
|
265
221
|
};
|
|
266
|
-
const createModelFields = ({
|
|
222
|
+
export const createModelFields = ({
|
|
267
223
|
plugins,
|
|
268
224
|
model
|
|
269
225
|
}) => {
|
|
270
226
|
const fields = model.fields;
|
|
271
|
-
const fieldDefinitionPlugins = plugins.byType(
|
|
227
|
+
const fieldDefinitionPlugins = plugins.byType(CmsElasticsearchModelFieldPlugin.type).filter(plugin => {
|
|
272
228
|
return plugin.canBeApplied(model.modelId);
|
|
273
229
|
});
|
|
274
230
|
/**
|
|
@@ -306,10 +262,13 @@ const createModelFields = ({
|
|
|
306
262
|
...buildFieldsList({
|
|
307
263
|
fields,
|
|
308
264
|
plugins: fieldTypePlugins,
|
|
309
|
-
parents: [
|
|
265
|
+
parents: [{
|
|
266
|
+
fieldId: "values",
|
|
267
|
+
type: "object",
|
|
268
|
+
storageId: "values"
|
|
269
|
+
}]
|
|
310
270
|
})
|
|
311
271
|
};
|
|
312
272
|
};
|
|
313
|
-
exports.createModelFields = createModelFields;
|
|
314
273
|
|
|
315
274
|
//# sourceMappingURL=fields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_plugins","_constants","createSystemField","field","id","fieldId","label","createSystemFields","onMetaFields","ENTRY_META_FIELDS","filter","isDateTimeEntryMetaField","reduce","current","fieldName","type","unmappedType","keyword","systemField","searchable","sortable","storageId","settings","parents","byMetaFields","isIdentityEntryMetaField","undefined","path","entryId","wbyAco_location","fields","version","status","wbyDeleted","binOriginalFolderId","buildCustomFields","params","fieldTypePlugins","collection","typePlugin","fieldType","fullTextSearch","buildFieldsList","plugins","result","plugin","WebinyError","childFields","length","childResult","Object","assign","identifier","map","p","join","createModelFields","model","fieldDefinitionPlugins","byType","CmsElasticsearchModelFieldPlugin","canBeApplied","modelId","unmappedTypes","acc","types","isSearchable","isSortable","exports"],"sources":["fields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport type {\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"@webiny/api-headless-cms/types\";\nimport type { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\nimport type { ModelFieldParent, ModelFields } from \"./types\";\nimport { CmsElasticsearchModelFieldPlugin } from \"~/plugins\";\nimport {\n ENTRY_META_FIELDS,\n isDateTimeEntryMetaField,\n isIdentityEntryMetaField\n} from \"@webiny/api-headless-cms/constants\";\n\ntype PartialCmsModelField = Partial<CmsModelField> &\n Pick<CmsModelField, \"storageId\" | \"fieldId\" | \"type\">;\nconst createSystemField = (field: PartialCmsModelField): CmsModelField => {\n return {\n ...field,\n id: field.fieldId,\n label: field.fieldId\n };\n};\n\nconst createSystemFields = (): ModelFields => {\n const onMetaFields = ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"date\",\n unmappedType: \"date\",\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\",\n settings: {\n type: \"dateTimeWithoutTimezone\"\n }\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n const byMetaFields = ENTRY_META_FIELDS.filter(isIdentityEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"text\",\n unmappedType: undefined,\n systemField: true,\n searchable: true,\n sortable: true,\n path: `${fieldName}.id`,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\"\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n return {\n id: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"id\",\n fieldId: \"id\",\n type: \"text\"\n }),\n parents: []\n },\n entryId: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"entryId\",\n fieldId: \"entryId\",\n type: \"text\"\n }),\n parents: []\n },\n\n ...onMetaFields,\n ...byMetaFields,\n\n wbyAco_location: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"location\",\n fieldId: \"wbyAco_location\",\n type: \"object\",\n settings: {\n fields: [\n {\n id: \"folderId\",\n fieldId: \"folderId\",\n storageId: \"folderId\",\n type: \"text\",\n label: \"Folder ID\"\n }\n ]\n }\n }),\n parents: []\n },\n \"wbyAco_location.folderId\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n id: \"folderId\",\n fieldId: \"folderId\",\n storageId: \"folderId\",\n type: \"text\",\n label: \"Folder ID\"\n }),\n parents: [\n {\n fieldId: \"wbyAco_location\",\n type: \"object\",\n storageId: \"location\"\n }\n ]\n },\n version: {\n type: \"number\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"version\",\n fieldId: \"version\",\n type: \"number\"\n }),\n parents: []\n },\n status: {\n type: \"string\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"status\",\n fieldId: \"status\",\n type: \"string\"\n }),\n parents: []\n },\n wbyDeleted: {\n type: \"boolean\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"wbyDeleted\",\n fieldId: \"wbyDeleted\",\n type: \"boolean\"\n }),\n parents: []\n },\n binOriginalFolderId: {\n type: \"text\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"binOriginalFolderId\",\n fieldId: \"binOriginalFolderId\",\n type: \"text\"\n }),\n parents: []\n }\n };\n};\n\ninterface UnmappedFieldTypes {\n [type: string]: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n}\n\ninterface FieldTypePlugin {\n unmappedType?: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n searchable: boolean;\n sortable: boolean;\n fullTextSearch?: boolean;\n}\n\ninterface FieldTypePlugins {\n [key: string]: FieldTypePlugin;\n}\n\ninterface BuildCustomFieldsParams {\n fields: CmsElasticsearchModelFieldPlugin[];\n fieldTypePlugins: FieldTypePlugins;\n}\n\nconst buildCustomFields = (params: BuildCustomFieldsParams) => {\n const { fields, fieldTypePlugins } = params;\n\n return fields.reduce<ModelFields>((collection, field) => {\n const typePlugin = fieldTypePlugins[field.fieldType];\n if (!typePlugin) {\n return collection;\n }\n let unmappedType: string | undefined = undefined;\n if (typePlugin.unmappedType) {\n unmappedType = typePlugin.unmappedType(field);\n }\n\n collection[field.fieldId] = {\n type: field.fieldType,\n field: createSystemField({\n storageId: field.fieldId,\n fieldId: field.fieldId,\n type: field.fieldType\n }),\n unmappedType,\n fullTextSearch: field.searchable ? typePlugin.fullTextSearch : false,\n searchable: field.searchable || typePlugin.searchable,\n sortable: field.sortable || typePlugin.sortable,\n systemField: false,\n path: field.path,\n parents: []\n };\n\n return collection;\n }, {});\n};\n\ninterface BuildParams {\n plugins: FieldTypePlugins;\n fields: CmsModelField[];\n parents: ModelFieldParent[];\n}\n\nconst buildFieldsList = (params: BuildParams): ModelFields => {\n const { plugins, fields, parents } = params;\n\n return fields.reduce<ModelFields>((result, field) => {\n const plugin = plugins[field.type];\n if (!plugin) {\n throw new WebinyError(`There is no plugin for field type \"${field.type}\".`);\n }\n\n const { searchable, sortable, unmappedType, fullTextSearch } = plugin;\n /**\n * If a field has child fields, go through them and add them to a result.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * Let's build all the child fields\n */\n const childResult = buildFieldsList({\n fields: childFields,\n plugins,\n parents: [\n ...parents,\n {\n fieldId: field.fieldId,\n storageId: field.storageId,\n type: field.type\n }\n ]\n });\n Object.assign(result, childResult);\n }\n\n const identifier = [...parents.map(p => p.fieldId), field.fieldId].join(\".\");\n\n result[identifier] = {\n type: field.type,\n parents,\n searchable,\n sortable,\n fullTextSearch,\n unmappedType: typeof unmappedType === \"function\" ? unmappedType(field) : undefined,\n systemField: false,\n field\n };\n\n return result;\n }, {});\n};\n\ninterface Params {\n plugins: PluginsContainer;\n model: CmsModel;\n}\n\nexport const createModelFields = ({ plugins, model }: Params) => {\n const fields = model.fields;\n const fieldDefinitionPlugins = plugins\n .byType<CmsElasticsearchModelFieldPlugin>(CmsElasticsearchModelFieldPlugin.type)\n .filter(plugin => {\n return plugin.canBeApplied(model.modelId);\n });\n /**\n * Collect all unmappedType from elastic plugins.\n */\n const unmappedTypes = plugins\n .byType<CmsModelFieldToElasticsearchPlugin>(\"cms-model-field-to-elastic-search\")\n .reduce<UnmappedFieldTypes>((acc, plugin) => {\n if (!plugin.unmappedType) {\n return acc;\n }\n acc[plugin.fieldType] = plugin.unmappedType;\n return acc;\n }, {});\n /**\n * Collect all field types from the plugins.\n */\n const fieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<FieldTypePlugins>((types, plugin) => {\n const { fieldType, fullTextSearch } = plugin;\n types[fieldType] = {\n unmappedType: unmappedTypes[fieldType],\n searchable: plugin.isSearchable,\n sortable: plugin.isSortable,\n fullTextSearch\n };\n return types;\n }, {});\n\n return {\n ...createSystemFields(),\n ...buildCustomFields({\n fields: fieldDefinitionPlugins,\n fieldTypePlugins\n }),\n ...buildFieldsList({\n fields,\n plugins: fieldTypePlugins,\n parents: []\n })\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["WebinyError","CmsElasticsearchModelFieldPlugin","ENTRY_META_FIELDS","isDateTimeEntryMetaField","isIdentityEntryMetaField","getBaseFieldType","liveFields","createSystemField","stateFields","locationFields","createSystemFields","onMetaFields","filter","reduce","current","fieldName","type","unmappedType","keyword","systemField","searchable","sortable","field","storageId","fieldId","settings","parents","byMetaFields","undefined","path","id","entryId","version","status","wbyDeleted","binOriginalFolderId","buildCustomFields","params","fields","fieldTypePlugins","collection","typePlugin","fieldType","fullTextSearch","buildFieldsList","plugins","result","plugin","childFields","length","childResult","Object","assign","identifier","map","p","join","createModelFields","model","fieldDefinitionPlugins","byType","canBeApplied","modelId","unmappedTypes","acc","types","isSearchable","isSortable"],"sources":["fields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport type {\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport type { CmsModelFieldToElasticsearchPlugin } from \"~/types.js\";\nimport type { ModelFieldParent, ModelFields } from \"./types.js\";\nimport { CmsElasticsearchModelFieldPlugin } from \"~/plugins/index.js\";\nimport {\n ENTRY_META_FIELDS,\n isDateTimeEntryMetaField,\n isIdentityEntryMetaField\n} from \"@webiny/api-headless-cms/constants.js\";\nimport { getBaseFieldType } from \"@webiny/api-headless-cms/utils/getBaseFieldType.js\";\nimport { liveFields } from \"./fields/live.js\";\nimport { createSystemField } from \"./fields/createSystemField.js\";\nimport { stateFields } from \"./fields/state.js\";\nimport { locationFields } from \"./fields/location.js\";\n\nconst createSystemFields = (): ModelFields => {\n const onMetaFields = ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"date\",\n unmappedType: \"date\",\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\",\n settings: {\n type: \"dateTimeWithoutTimezone\"\n }\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n const byMetaFields = ENTRY_META_FIELDS.filter(isIdentityEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"text\",\n unmappedType: undefined,\n systemField: true,\n searchable: true,\n sortable: true,\n path: `${fieldName}.id`,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\"\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n return {\n id: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"id\",\n fieldId: \"id\",\n type: \"text\"\n }),\n parents: []\n },\n entryId: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"entryId\",\n fieldId: \"entryId\",\n type: \"text\"\n }),\n parents: []\n },\n\n ...onMetaFields,\n ...byMetaFields,\n\n ...locationFields,\n version: {\n type: \"number\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"version\",\n fieldId: \"version\",\n type: \"number\"\n }),\n parents: []\n },\n status: {\n type: \"string\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"status\",\n fieldId: \"status\",\n type: \"string\"\n }),\n parents: []\n },\n wbyDeleted: {\n type: \"boolean\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"wbyDeleted\",\n fieldId: \"wbyDeleted\",\n type: \"boolean\"\n }),\n parents: []\n },\n binOriginalFolderId: {\n type: \"text\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"binOriginalFolderId\",\n fieldId: \"binOriginalFolderId\",\n type: \"text\"\n }),\n parents: []\n },\n ...stateFields,\n ...liveFields\n };\n};\n\ninterface UnmappedFieldTypes {\n [type: string]: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n}\n\ninterface FieldTypePlugin {\n unmappedType?: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n searchable: boolean;\n sortable: boolean;\n fullTextSearch?: boolean;\n}\n\ninterface FieldTypePlugins {\n [key: string]: FieldTypePlugin;\n}\n\ninterface BuildCustomFieldsParams {\n fields: CmsElasticsearchModelFieldPlugin[];\n fieldTypePlugins: FieldTypePlugins;\n}\n\nconst buildCustomFields = (params: BuildCustomFieldsParams) => {\n const { fields, fieldTypePlugins } = params;\n\n return fields.reduce<ModelFields>((collection, field) => {\n const typePlugin = fieldTypePlugins[field.fieldType];\n if (!typePlugin) {\n return collection;\n }\n let unmappedType: string | undefined = undefined;\n if (typePlugin.unmappedType) {\n unmappedType = typePlugin.unmappedType(field);\n }\n\n collection[field.fieldId] = {\n type: field.fieldType,\n field: createSystemField({\n storageId: field.fieldId,\n fieldId: field.fieldId,\n type: field.fieldType\n }),\n unmappedType,\n fullTextSearch: field.searchable ? typePlugin.fullTextSearch : false,\n searchable: field.searchable || typePlugin.searchable,\n sortable: field.sortable || typePlugin.sortable,\n systemField: false,\n path: field.path,\n parents: []\n };\n\n return collection;\n }, {});\n};\n\ninterface BuildParams {\n plugins: FieldTypePlugins;\n fields: CmsModelField[];\n parents: ModelFieldParent[];\n}\n\nconst buildFieldsList = (params: BuildParams): ModelFields => {\n const { plugins, fields, parents } = params;\n\n return fields.reduce<ModelFields>((result, field) => {\n const fieldType = getBaseFieldType(field);\n const plugin = plugins[fieldType];\n if (!plugin) {\n throw new WebinyError(`There is no plugin for field type \"${field.type}\".`);\n }\n\n const { searchable, sortable, unmappedType, fullTextSearch } = plugin;\n /**\n * If a field has child fields, go through them and add them to a result.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * Let's build all the child fields\n */\n const childResult = buildFieldsList({\n fields: childFields,\n plugins,\n parents: [\n ...parents,\n {\n fieldId: field.fieldId,\n storageId: field.storageId,\n type: fieldType\n }\n ]\n });\n Object.assign(result, childResult);\n }\n\n const identifier = [...parents.map(p => p.fieldId), field.fieldId].join(\".\");\n\n result[identifier] = {\n type: fieldType,\n parents,\n searchable,\n sortable,\n fullTextSearch,\n unmappedType: typeof unmappedType === \"function\" ? unmappedType(field) : undefined,\n systemField: false,\n field\n };\n\n return result;\n }, {});\n};\n\ninterface Params {\n plugins: PluginsContainer;\n model: CmsModel;\n}\n\nexport const createModelFields = ({ plugins, model }: Params) => {\n const fields = model.fields;\n const fieldDefinitionPlugins = plugins\n .byType<CmsElasticsearchModelFieldPlugin>(CmsElasticsearchModelFieldPlugin.type)\n .filter(plugin => {\n return plugin.canBeApplied(model.modelId);\n });\n /**\n * Collect all unmappedType from elastic plugins.\n */\n const unmappedTypes = plugins\n .byType<CmsModelFieldToElasticsearchPlugin>(\"cms-model-field-to-elastic-search\")\n .reduce<UnmappedFieldTypes>((acc, plugin) => {\n if (!plugin.unmappedType) {\n return acc;\n }\n acc[plugin.fieldType] = plugin.unmappedType;\n return acc;\n }, {});\n /**\n * Collect all field types from the plugins.\n */\n const fieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<FieldTypePlugins>((types, plugin) => {\n const { fieldType, fullTextSearch } = plugin;\n types[fieldType] = {\n unmappedType: unmappedTypes[fieldType],\n searchable: plugin.isSearchable,\n sortable: plugin.isSortable,\n fullTextSearch\n };\n return types;\n }, {});\n\n return {\n ...createSystemFields(),\n ...buildCustomFields({\n fields: fieldDefinitionPlugins,\n fieldTypePlugins\n }),\n ...buildFieldsList({\n fields,\n plugins: fieldTypePlugins,\n parents: [\n {\n fieldId: \"values\",\n type: \"object\",\n storageId: \"values\"\n }\n ]\n })\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ElasticsearchQueryBuilderOperatorPlugins, ElasticsearchQuerySearchValuePlugins } from "
|
|
2
|
-
import type { ApplyFilteringCb } from "../../../../plugins/CmsEntryFilterPlugin";
|
|
1
|
+
import type { ElasticsearchQueryBuilderOperatorPlugins, ElasticsearchQuerySearchValuePlugins } from "../../../../operations/entry/elasticsearch/types.js";
|
|
2
|
+
import type { ApplyFilteringCb } from "../../../../plugins/CmsEntryFilterPlugin.js";
|
|
3
3
|
interface CreateParams {
|
|
4
4
|
operatorPlugins: ElasticsearchQueryBuilderOperatorPlugins;
|
|
5
5
|
searchPlugins: ElasticsearchQuerySearchValuePlugins;
|
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
});
|
|
7
|
-
exports.createApplyFiltering = void 0;
|
|
8
|
-
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
-
var _transformValueForSearch = require("../transformValueForSearch");
|
|
10
|
-
var _keyword = require("../keyword");
|
|
11
|
-
var _path = require("./path");
|
|
12
|
-
const createApplyFiltering = ({
|
|
1
|
+
import WebinyError from "@webiny/error";
|
|
2
|
+
import { transformValueForSearch } from "../transformValueForSearch.js";
|
|
3
|
+
import { hasKeyword } from "../keyword.js";
|
|
4
|
+
import { createFieldPathFactory } from "./path.js";
|
|
5
|
+
export const createApplyFiltering = ({
|
|
13
6
|
operatorPlugins,
|
|
14
7
|
searchPlugins
|
|
15
8
|
}) => {
|
|
16
|
-
const createFieldPath =
|
|
9
|
+
const createFieldPath = createFieldPathFactory({
|
|
17
10
|
plugins: searchPlugins
|
|
18
11
|
});
|
|
19
12
|
return params => {
|
|
@@ -26,16 +19,16 @@ const createApplyFiltering = ({
|
|
|
26
19
|
} = params;
|
|
27
20
|
const plugin = operatorPlugins[operator];
|
|
28
21
|
if (!plugin) {
|
|
29
|
-
throw new
|
|
22
|
+
throw new WebinyError(`Elasticsearch operator "${operator}" plugin missing.`, "PLUGIN_MISSING", {
|
|
30
23
|
operator
|
|
31
24
|
});
|
|
32
25
|
}
|
|
33
|
-
const value =
|
|
26
|
+
const value = transformValueForSearch({
|
|
34
27
|
plugins: searchPlugins,
|
|
35
28
|
field: field.field,
|
|
36
29
|
value: initialValue
|
|
37
30
|
});
|
|
38
|
-
const keyword =
|
|
31
|
+
const keyword = hasKeyword(field);
|
|
39
32
|
const {
|
|
40
33
|
basePath,
|
|
41
34
|
path
|
|
@@ -55,6 +48,5 @@ const createApplyFiltering = ({
|
|
|
55
48
|
});
|
|
56
49
|
};
|
|
57
50
|
};
|
|
58
|
-
exports.createApplyFiltering = createApplyFiltering;
|
|
59
51
|
|
|
60
52
|
//# sourceMappingURL=applyFiltering.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["WebinyError","transformValueForSearch","hasKeyword","createFieldPathFactory","createApplyFiltering","operatorPlugins","searchPlugins","createFieldPath","plugins","params","key","value","initialValue","query","operator","field","plugin","keyword","basePath","path","originalValue","apply","name","fieldId"],"sources":["applyFiltering.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { transformValueForSearch } from \"~/operations/entry/elasticsearch/transformValueForSearch.js\";\nimport { hasKeyword } from \"~/operations/entry/elasticsearch/keyword.js\";\nimport type {\n ElasticsearchQueryBuilderOperatorPlugins,\n ElasticsearchQuerySearchValuePlugins\n} from \"~/operations/entry/elasticsearch/types.js\";\nimport { createFieldPathFactory } from \"~/operations/entry/elasticsearch/filtering/path.js\";\nimport type { ApplyFilteringCb } from \"~/plugins/CmsEntryFilterPlugin.js\";\n\ninterface CreateParams {\n operatorPlugins: ElasticsearchQueryBuilderOperatorPlugins;\n searchPlugins: ElasticsearchQuerySearchValuePlugins;\n}\n\nexport const createApplyFiltering = ({\n operatorPlugins,\n searchPlugins\n}: CreateParams): ApplyFilteringCb => {\n const createFieldPath = createFieldPathFactory({\n plugins: searchPlugins\n });\n\n return params => {\n const { key, value: initialValue, query, operator, field } = params;\n\n const plugin = operatorPlugins[operator];\n if (!plugin) {\n throw new WebinyError(\n `Elasticsearch operator \"${operator}\" plugin missing.`,\n \"PLUGIN_MISSING\",\n {\n operator\n }\n );\n }\n\n const value = transformValueForSearch({\n plugins: searchPlugins,\n field: field.field,\n value: initialValue\n });\n\n const keyword = hasKeyword(field);\n\n const { basePath, path } = createFieldPath({\n field,\n value,\n originalValue: initialValue,\n key,\n keyword\n });\n\n plugin.apply(query, {\n name: field.field.fieldId,\n basePath,\n path,\n value,\n keyword\n });\n };\n};\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AACvC,SAASC,uBAAuB;AAChC,SAASC,UAAU;AAKnB,SAASC,sBAAsB;AAQ/B,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACjCC,eAAe;EACfC;AACU,CAAC,KAAuB;EAClC,MAAMC,eAAe,GAAGJ,sBAAsB,CAAC;IAC3CK,OAAO,EAAEF;EACb,CAAC,CAAC;EAEF,OAAOG,MAAM,IAAI;IACb,MAAM;MAAEC,GAAG;MAAEC,KAAK,EAAEC,YAAY;MAAEC,KAAK;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAGN,MAAM;IAEnE,MAAMO,MAAM,GAAGX,eAAe,CAACS,QAAQ,CAAC;IACxC,IAAI,CAACE,MAAM,EAAE;MACT,MAAM,IAAIhB,WAAW,CACjB,2BAA2Bc,QAAQ,mBAAmB,EACtD,gBAAgB,EAChB;QACIA;MACJ,CACJ,CAAC;IACL;IAEA,MAAMH,KAAK,GAAGV,uBAAuB,CAAC;MAClCO,OAAO,EAAEF,aAAa;MACtBS,KAAK,EAAEA,KAAK,CAACA,KAAK;MAClBJ,KAAK,EAAEC;IACX,CAAC,CAAC;IAEF,MAAMK,OAAO,GAAGf,UAAU,CAACa,KAAK,CAAC;IAEjC,MAAM;MAAEG,QAAQ;MAAEC;IAAK,CAAC,GAAGZ,eAAe,CAAC;MACvCQ,KAAK;MACLJ,KAAK;MACLS,aAAa,EAAER,YAAY;MAC3BF,GAAG;MACHO;IACJ,CAAC,CAAC;IAEFD,MAAM,CAACK,KAAK,CAACR,KAAK,EAAE;MAChBS,IAAI,EAAEP,KAAK,CAACA,KAAK,CAACQ,OAAO;MACzBL,QAAQ;MACRC,IAAI;MACJR,KAAK;MACLM;IACJ,CAAC,CAAC;EACN,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import type { CmsEntryListWhere, CmsModel } from "@webiny/api-headless-cms/types";
|
|
2
|
-
import type { ModelFields } from "
|
|
1
|
+
import type { CmsEntryListWhere, CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import type { ModelFields } from "../../../../operations/entry/elasticsearch/types.js";
|
|
3
3
|
import type { PluginsContainer } from "@webiny/plugins";
|
|
4
|
-
import type { ElasticsearchBoolQueryConfig } from "@webiny/api-elasticsearch/types";
|
|
4
|
+
import type { ElasticsearchBoolQueryConfig } from "@webiny/api-elasticsearch/types.js";
|
|
5
5
|
export interface CreateExecParams {
|
|
6
6
|
model: CmsModel;
|
|
7
7
|
fields: ModelFields;
|
|
8
8
|
plugins: PluginsContainer;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
10
|
+
export interface IExecParams {
|
|
11
11
|
where: CmsEntryListWhere;
|
|
12
12
|
query: ElasticsearchBoolQueryConfig;
|
|
13
|
+
isValues?: boolean;
|
|
13
14
|
}
|
|
14
15
|
export interface CreateExecFilteringResponse {
|
|
15
|
-
(params:
|
|
16
|
+
(params: IExecParams): void;
|
|
16
17
|
}
|
|
17
18
|
export declare const createExecFiltering: (params: CreateExecParams) => CreateExecFilteringResponse;
|