@webiny/api-headless-cms-ddb 0.0.0-unstable.c2780f51fe → 0.0.0-unstable.c7dec08bb0

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.
Files changed (66) hide show
  1. package/definitions/entry.js +3 -0
  2. package/definitions/entry.js.map +1 -1
  3. package/dynamoDb/index.js +2 -1
  4. package/dynamoDb/index.js.map +1 -1
  5. package/dynamoDb/path/locationFolderId.d.ts +2 -0
  6. package/dynamoDb/path/locationFolderId.js +41 -0
  7. package/dynamoDb/path/locationFolderId.js.map +1 -0
  8. package/dynamoDb/storage/date.js +2 -11
  9. package/dynamoDb/storage/date.js.map +1 -1
  10. package/index.js +6 -4
  11. package/index.js.map +1 -1
  12. package/operations/entry/dataLoader/DataLoaderCache.d.ts +17 -0
  13. package/operations/entry/dataLoader/DataLoaderCache.js +43 -0
  14. package/operations/entry/dataLoader/DataLoaderCache.js.map +1 -0
  15. package/operations/entry/dataLoader/constants.d.ts +1 -0
  16. package/operations/entry/dataLoader/constants.js +9 -0
  17. package/operations/entry/dataLoader/constants.js.map +1 -0
  18. package/operations/entry/dataLoader/createBatchScheduleFn.d.ts +8 -0
  19. package/operations/entry/dataLoader/createBatchScheduleFn.js +23 -0
  20. package/operations/entry/dataLoader/createBatchScheduleFn.js.map +1 -0
  21. package/operations/entry/dataLoader/getAllEntryRevisions.d.ts +4 -0
  22. package/operations/entry/dataLoader/getAllEntryRevisions.js +43 -0
  23. package/operations/entry/dataLoader/getAllEntryRevisions.js.map +1 -0
  24. package/operations/entry/dataLoader/getLatestRevisionByEntryId.d.ts +4 -0
  25. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js +57 -0
  26. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js.map +1 -0
  27. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.d.ts +4 -0
  28. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js +57 -0
  29. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js.map +1 -0
  30. package/operations/entry/dataLoader/getRevisionById.d.ts +4 -0
  31. package/operations/entry/dataLoader/getRevisionById.js +63 -0
  32. package/operations/entry/dataLoader/getRevisionById.js.map +1 -0
  33. package/operations/entry/dataLoader/index.d.ts +8 -0
  34. package/operations/entry/dataLoader/index.js +38 -0
  35. package/operations/entry/dataLoader/index.js.map +1 -0
  36. package/operations/entry/dataLoader/types.d.ts +6 -0
  37. package/operations/entry/dataLoader/types.js +5 -0
  38. package/operations/entry/dataLoader/types.js.map +1 -0
  39. package/operations/entry/dataLoaders.d.ts +11 -26
  40. package/operations/entry/dataLoaders.js +42 -205
  41. package/operations/entry/dataLoaders.js.map +1 -1
  42. package/operations/entry/filtering/createFields.d.ts +3 -1
  43. package/operations/entry/filtering/createFields.js +72 -72
  44. package/operations/entry/filtering/createFields.js.map +1 -1
  45. package/operations/entry/filtering/plugins/defaultFilterCreate.js +3 -1
  46. package/operations/entry/filtering/plugins/defaultFilterCreate.js.map +1 -1
  47. package/operations/entry/filtering/plugins/objectFilterCreate.js +3 -1
  48. package/operations/entry/filtering/plugins/objectFilterCreate.js.map +1 -1
  49. package/operations/entry/filtering/plugins/refFilterCreate.js +3 -1
  50. package/operations/entry/filtering/plugins/refFilterCreate.js.map +1 -1
  51. package/operations/entry/filtering/systemFields.js +18 -0
  52. package/operations/entry/filtering/systemFields.js.map +1 -1
  53. package/operations/entry/filtering/where.js +3 -2
  54. package/operations/entry/filtering/where.js.map +1 -1
  55. package/operations/entry/index.d.ts +1 -1
  56. package/operations/entry/index.js +107 -5
  57. package/operations/entry/index.js.map +1 -1
  58. package/package.json +18 -18
  59. package/plugins/CmsEntryFieldFilterPathPlugin.d.ts +2 -1
  60. package/plugins/CmsEntryFieldFilterPathPlugin.js +3 -1
  61. package/plugins/CmsEntryFieldFilterPathPlugin.js.map +1 -1
  62. package/types.d.ts +10 -1
  63. package/types.js.map +1 -1
  64. package/operations/entry/systemFields.d.ts +0 -2
  65. package/operations/entry/systemFields.js +0 -72
  66. package/operations/entry/systemFields.js.map +0 -1
@@ -9,6 +9,63 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
9
9
  var _systemFields = require("./systemFields");
10
10
  var _plugins = require("../../../plugins");
11
11
  var _mapPlugins = require("./mapPlugins");
12
+ const createFieldCollection = params => {
13
+ const {
14
+ fields,
15
+ parents,
16
+ transformValuePlugins,
17
+ valuePathPlugins,
18
+ system
19
+ } = params;
20
+ return fields.reduce((collection, field) => {
21
+ var _field$settings;
22
+ const transformPlugin = transformValuePlugins[field.type];
23
+ const valuePathPlugin = valuePathPlugins[field.type];
24
+ const basePath = system ? [] : ["values"];
25
+ /**
26
+ * The required fieldId is a product of all of its parents and its own fieldId.
27
+ */
28
+ const fieldId = [...parents, {
29
+ fieldId: field.fieldId,
30
+ multipleValues: field.multipleValues
31
+ }].map(f => f.fieldId).join(".");
32
+ collection[fieldId] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
33
+ parents,
34
+ system,
35
+ createPath: params => {
36
+ if (valuePathPlugin && valuePathPlugin.canUse(field, parents.map(p => p.fieldId))) {
37
+ return valuePathPlugin.createPath(params);
38
+ }
39
+ return basePath.concat(parents.map(parent => parent.fieldId)).concat([params.field.fieldId]).join(".");
40
+ },
41
+ transform: value => {
42
+ if (!transformPlugin) {
43
+ return value;
44
+ }
45
+ return transformPlugin.transform({
46
+ field,
47
+ value
48
+ });
49
+ }
50
+ });
51
+ const childFields = (_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields;
52
+ if (!(childFields !== null && childFields !== void 0 && childFields.length)) {
53
+ return collection;
54
+ }
55
+ const result = createFieldCollection({
56
+ fields: childFields,
57
+ parents: [...parents, {
58
+ fieldId: field.fieldId,
59
+ multipleValues: field.multipleValues
60
+ }],
61
+ transformValuePlugins,
62
+ valuePathPlugins,
63
+ system
64
+ });
65
+ Object.assign(collection, result);
66
+ return collection;
67
+ }, {});
68
+ };
12
69
  /**
13
70
  * This method will map the fieldId (fieldId -> field) to the actual field.
14
71
  *
@@ -29,77 +86,20 @@ const createFields = params => {
29
86
  type: _plugins.CmsEntryFieldFilterPathPlugin.type,
30
87
  property: "fieldType"
31
88
  });
32
- const collection = (0, _systemFields.createSystemFields)().reduce((fields, field) => {
33
- const transformPlugin = transformValuePlugins[field.type];
34
- fields[field.fieldId] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
35
- parents: [],
36
- system: true,
37
- createPath: ({
38
- field
39
- }) => {
40
- var _field$settings;
41
- return ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.path) || field.fieldId;
42
- },
43
- transform: value => {
44
- if (!transformPlugin) {
45
- return value;
46
- }
47
- return transformPlugin.transform({
48
- field,
49
- value
50
- });
51
- }
52
- });
53
- return fields;
54
- }, {});
55
- const addFieldsToCollection = (fields, parents = []) => {
56
- /**
57
- * Exit early if no fields are sent.
58
- */
59
- if (fields.length === 0) {
60
- return;
61
- }
62
- for (const field of fields) {
63
- var _field$settings2;
64
- const transformPlugin = transformValuePlugins[field.type];
65
- const valuePathPlugin = valuePathPlugins[field.type];
66
- /**
67
- * The required fieldId is a product of all of its parents and its own fieldId.
68
- */
69
- const fieldId = [...parents, {
70
- fieldId: field.fieldId,
71
- multipleValues: field.multipleValues
72
- }].map(f => f.fieldId).join(".");
73
- collection[fieldId] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
74
- parents,
75
- system: false,
76
- createPath: params => {
77
- if (valuePathPlugin) {
78
- return valuePathPlugin.createPath(params);
79
- }
80
- return ["values"].concat(parents.map(parent => parent.fieldId)).concat([params.field.fieldId]).join(".");
81
- },
82
- transform: value => {
83
- if (!transformPlugin) {
84
- return value;
85
- }
86
- return transformPlugin.transform({
87
- field,
88
- value
89
- });
90
- }
91
- });
92
- const childFields = (_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.fields;
93
- if (!childFields || childFields.length === 0) {
94
- continue;
95
- }
96
- addFieldsToCollection(childFields, [...parents, {
97
- fieldId: field.fieldId,
98
- multipleValues: field.multipleValues
99
- }]);
100
- }
101
- };
102
- addFieldsToCollection(fields);
103
- return collection;
89
+ const collection = createFieldCollection({
90
+ fields: (0, _systemFields.createSystemFields)(),
91
+ transformValuePlugins,
92
+ valuePathPlugins,
93
+ parents: [],
94
+ system: true
95
+ });
96
+ const result = createFieldCollection({
97
+ fields,
98
+ transformValuePlugins,
99
+ valuePathPlugins,
100
+ parents: [],
101
+ system: false
102
+ });
103
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, collection), result);
104
104
  };
105
105
  exports.createFields = createFields;
@@ -1 +1 @@
1
- {"version":3,"names":["createFields","params","fields","plugins","transformValuePlugins","getMappedPlugins","type","property","valuePathPlugins","CmsEntryFieldFilterPathPlugin","collection","createSystemFields","reduce","field","transformPlugin","fieldId","parents","system","createPath","settings","path","transform","value","addFieldsToCollection","length","valuePathPlugin","multipleValues","map","f","join","concat","parent","childFields"],"sources":["createFields.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { createSystemFields } from \"./systemFields\";\nimport { Field, FieldParent } from \"./types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsFieldFilterValueTransformPlugin } from \"~/types\";\nimport { CmsEntryFieldFilterPathPlugin } from \"~/plugins\";\nimport { getMappedPlugins } from \"./mapPlugins\";\n\ninterface Params {\n fields: CmsModelField[];\n plugins: PluginsContainer;\n}\n/**\n * This method will map the fieldId (fieldId -> field) to the actual field.\n *\n * In case of nested fields, fieldId is all the parent fieldIds + current one, joined by the dot (.).\n */\nexport const createFields = (params: Params) => {\n const { fields, plugins } = params;\n\n const transformValuePlugins = getMappedPlugins<CmsFieldFilterValueTransformPlugin>({\n plugins,\n type: \"cms-field-filter-value-transform\",\n property: \"fieldType\"\n });\n const valuePathPlugins = getMappedPlugins<CmsEntryFieldFilterPathPlugin>({\n plugins,\n type: CmsEntryFieldFilterPathPlugin.type,\n property: \"fieldType\"\n });\n\n const collection = createSystemFields().reduce<Record<string, Field>>((fields, field) => {\n const transformPlugin = transformValuePlugins[field.type];\n\n fields[field.fieldId] = {\n ...field,\n parents: [],\n system: true,\n createPath: ({ field }) => {\n return field.settings?.path || field.fieldId;\n },\n transform: value => {\n if (!transformPlugin) {\n return value;\n }\n return transformPlugin.transform({\n field,\n value\n });\n }\n };\n\n return fields;\n }, {});\n\n const addFieldsToCollection = (fields: CmsModelField[], parents: FieldParent[] = []): void => {\n /**\n * Exit early if no fields are sent.\n */\n if (fields.length === 0) {\n return;\n }\n for (const field of fields) {\n const transformPlugin = transformValuePlugins[field.type];\n const valuePathPlugin = valuePathPlugins[field.type];\n /**\n * The required fieldId is a product of all of its parents and its own fieldId.\n */\n const fieldId = [\n ...parents,\n {\n fieldId: field.fieldId,\n multipleValues: field.multipleValues\n }\n ]\n .map(f => f.fieldId)\n .join(\".\");\n\n collection[fieldId] = {\n ...field,\n parents,\n system: false,\n createPath: params => {\n if (valuePathPlugin) {\n return valuePathPlugin.createPath(params);\n }\n\n return [\"values\"]\n .concat(parents.map(parent => parent.fieldId))\n .concat([params.field.fieldId])\n .join(\".\");\n },\n transform: value => {\n if (!transformPlugin) {\n return value;\n }\n return transformPlugin.transform({\n field,\n value\n });\n }\n };\n const childFields = field.settings?.fields;\n if (!childFields || childFields.length === 0) {\n continue;\n }\n addFieldsToCollection(childFields, [\n ...parents,\n {\n fieldId: field.fieldId,\n multipleValues: field.multipleValues\n }\n ]);\n }\n };\n\n addFieldsToCollection(fields);\n\n return collection;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createFieldCollection","params","fields","parents","transformValuePlugins","valuePathPlugins","system","reduce","collection","field","transformPlugin","type","valuePathPlugin","basePath","fieldId","multipleValues","map","f","join","createPath","canUse","p","concat","parent","transform","value","childFields","settings","length","result","Object","assign","createFields","plugins","getMappedPlugins","property","CmsEntryFieldFilterPathPlugin","createSystemFields"],"sources":["createFields.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { createSystemFields } from \"./systemFields\";\nimport { Field, FieldParent } from \"./types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsFieldFilterValueTransformPlugin } from \"~/types\";\nimport { CmsEntryFieldFilterPathPlugin } from \"~/plugins\";\nimport { getMappedPlugins } from \"./mapPlugins\";\n\ninterface Params {\n fields: CmsModelField[];\n plugins: PluginsContainer;\n}\n\ninterface FieldCollection {\n [key: string]: Field;\n}\n\ninterface AddFieldsToCollectionParams {\n fields: CmsModelField[];\n parents: FieldParent[];\n transformValuePlugins: Record<string, CmsFieldFilterValueTransformPlugin>;\n valuePathPlugins: Record<string, CmsEntryFieldFilterPathPlugin>;\n system: boolean;\n}\n\nconst createFieldCollection = (params: AddFieldsToCollectionParams): FieldCollection => {\n const { fields, parents, transformValuePlugins, valuePathPlugins, system } = params;\n return fields.reduce<FieldCollection>((collection, field) => {\n const transformPlugin = transformValuePlugins[field.type];\n const valuePathPlugin = valuePathPlugins[field.type];\n\n const basePath = system ? [] : [\"values\"];\n /**\n * The required fieldId is a product of all of its parents and its own fieldId.\n */\n const fieldId = [\n ...parents,\n {\n fieldId: field.fieldId,\n multipleValues: field.multipleValues\n }\n ]\n .map(f => f.fieldId)\n .join(\".\");\n\n collection[fieldId] = {\n ...field,\n parents,\n system,\n createPath: params => {\n if (\n valuePathPlugin &&\n valuePathPlugin.canUse(\n field,\n parents.map(p => p.fieldId)\n )\n ) {\n return valuePathPlugin.createPath(params);\n }\n\n return basePath\n .concat(parents.map(parent => parent.fieldId))\n .concat([params.field.fieldId])\n .join(\".\");\n },\n transform: value => {\n if (!transformPlugin) {\n return value;\n }\n return transformPlugin.transform({\n field,\n value\n });\n }\n };\n const childFields = field.settings?.fields;\n if (!childFields?.length) {\n return collection;\n }\n\n const result = createFieldCollection({\n fields: childFields,\n parents: [\n ...parents,\n {\n fieldId: field.fieldId,\n multipleValues: field.multipleValues\n }\n ],\n transformValuePlugins,\n valuePathPlugins,\n system\n });\n Object.assign(collection, result);\n return collection;\n }, {});\n};\n/**\n * This method will map the fieldId (fieldId -> field) to the actual field.\n *\n * In case of nested fields, fieldId is all the parent fieldIds + current one, joined by the dot (.).\n */\nexport const createFields = (params: Params) => {\n const { fields, plugins } = params;\n\n const transformValuePlugins = getMappedPlugins<CmsFieldFilterValueTransformPlugin>({\n plugins,\n type: \"cms-field-filter-value-transform\",\n property: \"fieldType\"\n });\n const valuePathPlugins = getMappedPlugins<CmsEntryFieldFilterPathPlugin>({\n plugins,\n type: CmsEntryFieldFilterPathPlugin.type,\n property: \"fieldType\"\n });\n\n const collection = createFieldCollection({\n fields: createSystemFields(),\n transformValuePlugins,\n valuePathPlugins,\n parents: [],\n system: true\n });\n\n const result = createFieldCollection({\n fields,\n transformValuePlugins,\n valuePathPlugins,\n parents: [],\n system: false\n });\n\n return {\n ...collection,\n ...result\n };\n};\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ exports.createDefaultFilterCreate = void 0;
8
8
  var _error = _interopRequireDefault(require("@webiny/error"));
9
9
  var _CmsEntryFieldFilterPlugin = require("../../../../plugins/CmsEntryFieldFilterPlugin");
10
10
  const createDefaultFilterCreate = () => {
11
- return new _CmsEntryFieldFilterPlugin.CmsEntryFieldFilterPlugin({
11
+ const plugin = new _CmsEntryFieldFilterPlugin.CmsEntryFieldFilterPlugin({
12
12
  fieldType: _CmsEntryFieldFilterPlugin.CmsEntryFieldFilterPlugin.ALL,
13
13
  create: params => {
14
14
  const {
@@ -37,5 +37,7 @@ const createDefaultFilterCreate = () => {
37
37
  };
38
38
  }
39
39
  });
40
+ plugin.name = `headless-cms.ddb.filter.default`;
41
+ return plugin;
40
42
  };
41
43
  exports.createDefaultFilterCreate = createDefaultFilterCreate;
@@ -1 +1 @@
1
- {"version":3,"names":["createDefaultFilterCreate","CmsEntryFieldFilterPlugin","fieldType","ALL","create","params","negate","transformValue","field","compareValue","valueFilterPlugins","plugin","operation","WebinyError","fieldPathId","parents","map","f","fieldId","join","path","createPath"],"sources":["defaultFilterCreate.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsEntryFieldFilterPlugin } from \"~/plugins/CmsEntryFieldFilterPlugin\";\n\nexport const createDefaultFilterCreate = () => {\n return new CmsEntryFieldFilterPlugin({\n fieldType: CmsEntryFieldFilterPlugin.ALL,\n create: params => {\n const { negate, transformValue, field, compareValue, valueFilterPlugins } = params;\n const plugin = valueFilterPlugins[params.operation];\n if (!plugin) {\n throw new WebinyError(\n `Missing ValueFilterPlugin for operation \"${params.operation}\".`,\n \"MISSING_OPERATION_PLUGIN\",\n {\n operation: params.operation\n }\n );\n }\n return {\n negate,\n transformValue,\n field,\n compareValue,\n fieldPathId: [...field.parents.map(f => f.fieldId), field.fieldId].join(\".\"),\n path: field.createPath({\n field\n }),\n plugin\n };\n }\n });\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,MAAMA,yBAAyB,GAAG,MAAM;EAC3C,OAAO,IAAIC,oDAAyB,CAAC;IACjCC,SAAS,EAAED,oDAAyB,CAACE,GAAG;IACxCC,MAAM,EAAEC,MAAM,IAAI;MACd,MAAM;QAAEC,MAAM;QAAEC,cAAc;QAAEC,KAAK;QAAEC,YAAY;QAAEC;MAAmB,CAAC,GAAGL,MAAM;MAClF,MAAMM,MAAM,GAAGD,kBAAkB,CAACL,MAAM,CAACO,SAAS,CAAC;MACnD,IAAI,CAACD,MAAM,EAAE;QACT,MAAM,IAAIE,cAAW,CAChB,4CAA2CR,MAAM,CAACO,SAAU,IAAG,EAChE,0BAA0B,EAC1B;UACIA,SAAS,EAAEP,MAAM,CAACO;QACtB,CAAC,CACJ;MACL;MACA,OAAO;QACHN,MAAM;QACNC,cAAc;QACdC,KAAK;QACLC,YAAY;QACZK,WAAW,EAAE,CAAC,GAAGN,KAAK,CAACO,OAAO,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,CAAC,EAAEV,KAAK,CAACU,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;QAC5EC,IAAI,EAAEZ,KAAK,CAACa,UAAU,CAAC;UACnBb;QACJ,CAAC,CAAC;QACFG;MACJ,CAAC;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["createDefaultFilterCreate","plugin","CmsEntryFieldFilterPlugin","fieldType","ALL","create","params","negate","transformValue","field","compareValue","valueFilterPlugins","operation","WebinyError","fieldPathId","parents","map","f","fieldId","join","path","createPath","name"],"sources":["defaultFilterCreate.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsEntryFieldFilterPlugin } from \"~/plugins/CmsEntryFieldFilterPlugin\";\n\nexport const createDefaultFilterCreate = () => {\n const plugin = new CmsEntryFieldFilterPlugin({\n fieldType: CmsEntryFieldFilterPlugin.ALL,\n create: params => {\n const { negate, transformValue, field, compareValue, valueFilterPlugins } = params;\n const plugin = valueFilterPlugins[params.operation];\n if (!plugin) {\n throw new WebinyError(\n `Missing ValueFilterPlugin for operation \"${params.operation}\".`,\n \"MISSING_OPERATION_PLUGIN\",\n {\n operation: params.operation\n }\n );\n }\n return {\n negate,\n transformValue,\n field,\n compareValue,\n fieldPathId: [...field.parents.map(f => f.fieldId), field.fieldId].join(\".\"),\n path: field.createPath({\n field\n }),\n plugin\n };\n }\n });\n\n plugin.name = `headless-cms.ddb.filter.default`;\n\n return plugin;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,MAAMA,yBAAyB,GAAG,MAAM;EAC3C,MAAMC,MAAM,GAAG,IAAIC,oDAAyB,CAAC;IACzCC,SAAS,EAAED,oDAAyB,CAACE,GAAG;IACxCC,MAAM,EAAEC,MAAM,IAAI;MACd,MAAM;QAAEC,MAAM;QAAEC,cAAc;QAAEC,KAAK;QAAEC,YAAY;QAAEC;MAAmB,CAAC,GAAGL,MAAM;MAClF,MAAML,MAAM,GAAGU,kBAAkB,CAACL,MAAM,CAACM,SAAS,CAAC;MACnD,IAAI,CAACX,MAAM,EAAE;QACT,MAAM,IAAIY,cAAW,CAChB,4CAA2CP,MAAM,CAACM,SAAU,IAAG,EAChE,0BAA0B,EAC1B;UACIA,SAAS,EAAEN,MAAM,CAACM;QACtB,CAAC,CACJ;MACL;MACA,OAAO;QACHL,MAAM;QACNC,cAAc;QACdC,KAAK;QACLC,YAAY;QACZI,WAAW,EAAE,CAAC,GAAGL,KAAK,CAACM,OAAO,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,CAAC,EAAET,KAAK,CAACS,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;QAC5EC,IAAI,EAAEX,KAAK,CAACY,UAAU,CAAC;UACnBZ;QACJ,CAAC,CAAC;QACFR;MACJ,CAAC;IACL;EACJ,CAAC,CAAC;EAEFA,MAAM,CAACqB,IAAI,GAAI,iCAAgC;EAE/C,OAAOrB,MAAM;AACjB,CAAC;AAAC"}
@@ -10,7 +10,7 @@ var _where = require("../where");
10
10
  var _error = _interopRequireDefault(require("@webiny/error"));
11
11
  var _transform = require("../transform");
12
12
  const objectFilterCreate = () => {
13
- return new _CmsEntryFieldFilterPlugin.CmsEntryFieldFilterPlugin({
13
+ const plugin = new _CmsEntryFieldFilterPlugin.CmsEntryFieldFilterPlugin({
14
14
  fieldType: "object",
15
15
  create: params => {
16
16
  const {
@@ -82,5 +82,7 @@ const objectFilterCreate = () => {
82
82
  return filters;
83
83
  }
84
84
  });
85
+ plugin.name = `headless-cms.ddb.filter.object`;
86
+ return plugin;
85
87
  };
86
88
  exports.objectFilterCreate = objectFilterCreate;
@@ -1 +1 @@
1
- {"version":3,"names":["objectFilterCreate","CmsEntryFieldFilterPlugin","fieldType","create","params","value","objectValue","valueFilterPlugins","transformValuePlugins","getFilterCreatePlugin","field","parentField","fields","filters","key","undefined","whereParams","extractWhereParams","negate","fieldId","operation","fieldPath","parents","map","p","concat","join","WebinyError","filterCreatePlugin","type","transformValuePlugin","transformValueCallable","transform","result","compareValue","transformValue","Array","isArray","push"],"sources":["objectFilterCreate.ts"],"sourcesContent":["import { CmsEntryFieldFilterPlugin } from \"~/plugins/CmsEntryFieldFilterPlugin\";\nimport { extractWhereParams } from \"~/operations/entry/filtering/where\";\nimport WebinyError from \"@webiny/error\";\nimport { CmsFieldFilterValueTransformPlugin } from \"~/types\";\nimport { transformValue } from \"~/operations/entry/filtering/transform\";\n\nexport const objectFilterCreate = () => {\n return new CmsEntryFieldFilterPlugin({\n fieldType: \"object\",\n create: params => {\n const {\n value: objectValue,\n valueFilterPlugins,\n transformValuePlugins,\n getFilterCreatePlugin,\n field: parentField,\n fields\n } = params;\n\n const filters = [];\n\n for (const key in objectValue) {\n const value = objectValue[key];\n if (value === undefined) {\n continue;\n }\n const whereParams = extractWhereParams(key);\n if (!whereParams) {\n continue;\n }\n const { negate, fieldId, operation } = whereParams;\n\n const fieldPath = parentField.parents\n .map(p => p.fieldId)\n .concat([parentField.fieldId, fieldId])\n .join(\".\");\n\n const field = fields[fieldPath];\n if (!field) {\n throw new WebinyError(\n `There is no field with the field path \"${fieldPath}\".`,\n \"FIELD_ERROR\",\n {\n fieldId\n }\n );\n }\n\n const filterCreatePlugin = getFilterCreatePlugin(field.type);\n\n const transformValuePlugin: CmsFieldFilterValueTransformPlugin =\n transformValuePlugins[field.type];\n\n const transformValueCallable = (value: any) => {\n if (!transformValuePlugin) {\n return value;\n }\n return transformValuePlugin.transform({\n field,\n value\n });\n };\n\n const result = filterCreatePlugin.create({\n key,\n value,\n valueFilterPlugins,\n transformValuePlugins,\n getFilterCreatePlugin,\n operation,\n negate,\n field,\n fields,\n compareValue: transformValue({\n value,\n transform: transformValueCallable\n }),\n transformValue: transformValueCallable\n });\n if (!result) {\n continue;\n }\n if (Array.isArray(result)) {\n filters.push(...result);\n continue;\n }\n\n filters.push(result);\n }\n return filters;\n }\n });\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAEA;AAEO,MAAMA,kBAAkB,GAAG,MAAM;EACpC,OAAO,IAAIC,oDAAyB,CAAC;IACjCC,SAAS,EAAE,QAAQ;IACnBC,MAAM,EAAEC,MAAM,IAAI;MACd,MAAM;QACFC,KAAK,EAAEC,WAAW;QAClBC,kBAAkB;QAClBC,qBAAqB;QACrBC,qBAAqB;QACrBC,KAAK,EAAEC,WAAW;QAClBC;MACJ,CAAC,GAAGR,MAAM;MAEV,MAAMS,OAAO,GAAG,EAAE;MAElB,KAAK,MAAMC,GAAG,IAAIR,WAAW,EAAE;QAC3B,MAAMD,KAAK,GAAGC,WAAW,CAACQ,GAAG,CAAC;QAC9B,IAAIT,KAAK,KAAKU,SAAS,EAAE;UACrB;QACJ;QACA,MAAMC,WAAW,GAAG,IAAAC,yBAAkB,EAACH,GAAG,CAAC;QAC3C,IAAI,CAACE,WAAW,EAAE;UACd;QACJ;QACA,MAAM;UAAEE,MAAM;UAAEC,OAAO;UAAEC;QAAU,CAAC,GAAGJ,WAAW;QAElD,MAAMK,SAAS,GAAGV,WAAW,CAACW,OAAO,CAChCC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACL,OAAO,CAAC,CACnBM,MAAM,CAAC,CAACd,WAAW,CAACQ,OAAO,EAAEA,OAAO,CAAC,CAAC,CACtCO,IAAI,CAAC,GAAG,CAAC;QAEd,MAAMhB,KAAK,GAAGE,MAAM,CAACS,SAAS,CAAC;QAC/B,IAAI,CAACX,KAAK,EAAE;UACR,MAAM,IAAIiB,cAAW,CAChB,0CAAyCN,SAAU,IAAG,EACvD,aAAa,EACb;YACIF;UACJ,CAAC,CACJ;QACL;QAEA,MAAMS,kBAAkB,GAAGnB,qBAAqB,CAACC,KAAK,CAACmB,IAAI,CAAC;QAE5D,MAAMC,oBAAwD,GAC1DtB,qBAAqB,CAACE,KAAK,CAACmB,IAAI,CAAC;QAErC,MAAME,sBAAsB,GAAI1B,KAAU,IAAK;UAC3C,IAAI,CAACyB,oBAAoB,EAAE;YACvB,OAAOzB,KAAK;UAChB;UACA,OAAOyB,oBAAoB,CAACE,SAAS,CAAC;YAClCtB,KAAK;YACLL;UACJ,CAAC,CAAC;QACN,CAAC;QAED,MAAM4B,MAAM,GAAGL,kBAAkB,CAACzB,MAAM,CAAC;UACrCW,GAAG;UACHT,KAAK;UACLE,kBAAkB;UAClBC,qBAAqB;UACrBC,qBAAqB;UACrBW,SAAS;UACTF,MAAM;UACNR,KAAK;UACLE,MAAM;UACNsB,YAAY,EAAE,IAAAC,yBAAc,EAAC;YACzB9B,KAAK;YACL2B,SAAS,EAAED;UACf,CAAC,CAAC;UACFI,cAAc,EAAEJ;QACpB,CAAC,CAAC;QACF,IAAI,CAACE,MAAM,EAAE;UACT;QACJ;QACA,IAAIG,KAAK,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;UACvBpB,OAAO,CAACyB,IAAI,CAAC,GAAGL,MAAM,CAAC;UACvB;QACJ;QAEApB,OAAO,CAACyB,IAAI,CAACL,MAAM,CAAC;MACxB;MACA,OAAOpB,OAAO;IAClB;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["objectFilterCreate","plugin","CmsEntryFieldFilterPlugin","fieldType","create","params","value","objectValue","valueFilterPlugins","transformValuePlugins","getFilterCreatePlugin","field","parentField","fields","filters","key","undefined","whereParams","extractWhereParams","negate","fieldId","operation","fieldPath","parents","map","p","concat","join","WebinyError","filterCreatePlugin","type","transformValuePlugin","transformValueCallable","transform","result","compareValue","transformValue","Array","isArray","push","name"],"sources":["objectFilterCreate.ts"],"sourcesContent":["import { CmsEntryFieldFilterPlugin } from \"~/plugins/CmsEntryFieldFilterPlugin\";\nimport { extractWhereParams } from \"~/operations/entry/filtering/where\";\nimport WebinyError from \"@webiny/error\";\nimport { CmsFieldFilterValueTransformPlugin } from \"~/types\";\nimport { transformValue } from \"~/operations/entry/filtering/transform\";\n\nexport const objectFilterCreate = () => {\n const plugin = new CmsEntryFieldFilterPlugin({\n fieldType: \"object\",\n create: params => {\n const {\n value: objectValue,\n valueFilterPlugins,\n transformValuePlugins,\n getFilterCreatePlugin,\n field: parentField,\n fields\n } = params;\n\n const filters = [];\n\n for (const key in objectValue) {\n const value = objectValue[key];\n if (value === undefined) {\n continue;\n }\n const whereParams = extractWhereParams(key);\n if (!whereParams) {\n continue;\n }\n const { negate, fieldId, operation } = whereParams;\n\n const fieldPath = parentField.parents\n .map(p => p.fieldId)\n .concat([parentField.fieldId, fieldId])\n .join(\".\");\n\n const field = fields[fieldPath];\n if (!field) {\n throw new WebinyError(\n `There is no field with the field path \"${fieldPath}\".`,\n \"FIELD_ERROR\",\n {\n fieldId\n }\n );\n }\n\n const filterCreatePlugin = getFilterCreatePlugin(field.type);\n\n const transformValuePlugin: CmsFieldFilterValueTransformPlugin =\n transformValuePlugins[field.type];\n\n const transformValueCallable = (value: any) => {\n if (!transformValuePlugin) {\n return value;\n }\n return transformValuePlugin.transform({\n field,\n value\n });\n };\n\n const result = filterCreatePlugin.create({\n key,\n value,\n valueFilterPlugins,\n transformValuePlugins,\n getFilterCreatePlugin,\n operation,\n negate,\n field,\n fields,\n compareValue: transformValue({\n value,\n transform: transformValueCallable\n }),\n transformValue: transformValueCallable\n });\n if (!result) {\n continue;\n }\n if (Array.isArray(result)) {\n filters.push(...result);\n continue;\n }\n\n filters.push(result);\n }\n return filters;\n }\n });\n\n plugin.name = `headless-cms.ddb.filter.object`;\n\n return plugin;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAEA;AAEO,MAAMA,kBAAkB,GAAG,MAAM;EACpC,MAAMC,MAAM,GAAG,IAAIC,oDAAyB,CAAC;IACzCC,SAAS,EAAE,QAAQ;IACnBC,MAAM,EAAEC,MAAM,IAAI;MACd,MAAM;QACFC,KAAK,EAAEC,WAAW;QAClBC,kBAAkB;QAClBC,qBAAqB;QACrBC,qBAAqB;QACrBC,KAAK,EAAEC,WAAW;QAClBC;MACJ,CAAC,GAAGR,MAAM;MAEV,MAAMS,OAAO,GAAG,EAAE;MAElB,KAAK,MAAMC,GAAG,IAAIR,WAAW,EAAE;QAC3B,MAAMD,KAAK,GAAGC,WAAW,CAACQ,GAAG,CAAC;QAC9B,IAAIT,KAAK,KAAKU,SAAS,EAAE;UACrB;QACJ;QACA,MAAMC,WAAW,GAAG,IAAAC,yBAAkB,EAACH,GAAG,CAAC;QAC3C,IAAI,CAACE,WAAW,EAAE;UACd;QACJ;QACA,MAAM;UAAEE,MAAM;UAAEC,OAAO;UAAEC;QAAU,CAAC,GAAGJ,WAAW;QAElD,MAAMK,SAAS,GAAGV,WAAW,CAACW,OAAO,CAChCC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACL,OAAO,CAAC,CACnBM,MAAM,CAAC,CAACd,WAAW,CAACQ,OAAO,EAAEA,OAAO,CAAC,CAAC,CACtCO,IAAI,CAAC,GAAG,CAAC;QAEd,MAAMhB,KAAK,GAAGE,MAAM,CAACS,SAAS,CAAC;QAC/B,IAAI,CAACX,KAAK,EAAE;UACR,MAAM,IAAIiB,cAAW,CAChB,0CAAyCN,SAAU,IAAG,EACvD,aAAa,EACb;YACIF;UACJ,CAAC,CACJ;QACL;QAEA,MAAMS,kBAAkB,GAAGnB,qBAAqB,CAACC,KAAK,CAACmB,IAAI,CAAC;QAE5D,MAAMC,oBAAwD,GAC1DtB,qBAAqB,CAACE,KAAK,CAACmB,IAAI,CAAC;QAErC,MAAME,sBAAsB,GAAI1B,KAAU,IAAK;UAC3C,IAAI,CAACyB,oBAAoB,EAAE;YACvB,OAAOzB,KAAK;UAChB;UACA,OAAOyB,oBAAoB,CAACE,SAAS,CAAC;YAClCtB,KAAK;YACLL;UACJ,CAAC,CAAC;QACN,CAAC;QAED,MAAM4B,MAAM,GAAGL,kBAAkB,CAACzB,MAAM,CAAC;UACrCW,GAAG;UACHT,KAAK;UACLE,kBAAkB;UAClBC,qBAAqB;UACrBC,qBAAqB;UACrBW,SAAS;UACTF,MAAM;UACNR,KAAK;UACLE,MAAM;UACNsB,YAAY,EAAE,IAAAC,yBAAc,EAAC;YACzB9B,KAAK;YACL2B,SAAS,EAAED;UACf,CAAC,CAAC;UACFI,cAAc,EAAEJ;QACpB,CAAC,CAAC;QACF,IAAI,CAACE,MAAM,EAAE;UACT;QACJ;QACA,IAAIG,KAAK,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;UACvBpB,OAAO,CAACyB,IAAI,CAAC,GAAGL,MAAM,CAAC;UACvB;QACJ;QAEApB,OAAO,CAACyB,IAAI,CAACL,MAAM,CAAC;MACxB;MACA,OAAOpB,OAAO;IAClB;EACJ,CAAC,CAAC;EAEFb,MAAM,CAACuC,IAAI,GAAI,gCAA+B;EAE9C,OAAOvC,MAAM;AACjB,CAAC;AAAC"}
@@ -10,7 +10,7 @@ var _CmsEntryFieldFilterPlugin = require("../../../../plugins/CmsEntryFieldFilte
10
10
  var _where = require("../where");
11
11
  var _transform = require("../transform");
12
12
  const createRefFilterCreate = () => {
13
- return new _CmsEntryFieldFilterPlugin.CmsEntryFieldFilterPlugin({
13
+ const plugin = new _CmsEntryFieldFilterPlugin.CmsEntryFieldFilterPlugin({
14
14
  fieldType: "ref",
15
15
  create: params => {
16
16
  const {
@@ -67,5 +67,7 @@ const createRefFilterCreate = () => {
67
67
  return filters;
68
68
  }
69
69
  });
70
+ plugin.name = `headless-cms.ddb.filter.ref`;
71
+ return plugin;
70
72
  };
71
73
  exports.createRefFilterCreate = createRefFilterCreate;
@@ -1 +1 @@
1
- {"version":3,"names":["createRefFilterCreate","CmsEntryFieldFilterPlugin","fieldType","create","params","value","valueFilterPlugins","transformValuePlugins","field","propertyFilters","Object","keys","length","filters","propertyFilter","whereParams","extractWhereParams","fieldId","propertyId","operation","propertyOperation","negate","transformValuePlugin","type","transformValueCallable","transform","filterPlugin","WebinyError","paths","createPath","push","path","join","fieldPathId","parents","map","f","plugin","compareValue","transformValue"],"sources":["refFilterCreate.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n CmsEntryFieldFilterPlugin,\n CmsEntryFieldFilterPluginCreateResponse\n} from \"~/plugins/CmsEntryFieldFilterPlugin\";\nimport { extractWhereParams } from \"~/operations/entry/filtering/where\";\nimport { transformValue } from \"~/operations/entry/filtering/transform\";\n\nexport const createRefFilterCreate = () => {\n return new CmsEntryFieldFilterPlugin({\n fieldType: \"ref\",\n create: params => {\n const { value, valueFilterPlugins, transformValuePlugins, field } = params;\n const propertyFilters = Object.keys(value);\n if (propertyFilters.length === 0) {\n return null;\n }\n\n const filters: CmsEntryFieldFilterPluginCreateResponse[] = [];\n\n for (const propertyFilter of propertyFilters) {\n const whereParams = extractWhereParams(propertyFilter);\n if (!whereParams) {\n continue;\n }\n const { fieldId: propertyId, operation: propertyOperation, negate } = whereParams;\n\n const transformValuePlugin = transformValuePlugins[field.type];\n\n const transformValueCallable = (value: any) => {\n if (!transformValuePlugin) {\n return value;\n }\n return transformValuePlugin.transform({\n field,\n value\n });\n };\n\n const filterPlugin = valueFilterPlugins[propertyOperation];\n if (!filterPlugin) {\n throw new WebinyError(\n `Missing operation filter for \"${propertyOperation}\".`,\n \"MISSING_OPERATION_FILTER\"\n );\n }\n\n const paths = [\n field.createPath({\n field\n }),\n propertyId\n ];\n\n filters.push({\n field,\n path: paths.join(\".\"),\n fieldPathId: [...field.parents.map(f => f.fieldId), field.fieldId].join(\".\"),\n plugin: filterPlugin,\n negate,\n compareValue: transformValue({\n value: value[propertyFilter],\n transform: transformValueCallable\n }),\n transformValue: transformValueCallable\n });\n }\n\n return filters;\n }\n });\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAIA;AACA;AAEO,MAAMA,qBAAqB,GAAG,MAAM;EACvC,OAAO,IAAIC,oDAAyB,CAAC;IACjCC,SAAS,EAAE,KAAK;IAChBC,MAAM,EAAEC,MAAM,IAAI;MACd,MAAM;QAAEC,KAAK;QAAEC,kBAAkB;QAAEC,qBAAqB;QAAEC;MAAM,CAAC,GAAGJ,MAAM;MAC1E,MAAMK,eAAe,GAAGC,MAAM,CAACC,IAAI,CAACN,KAAK,CAAC;MAC1C,IAAII,eAAe,CAACG,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI;MACf;MAEA,MAAMC,OAAkD,GAAG,EAAE;MAE7D,KAAK,MAAMC,cAAc,IAAIL,eAAe,EAAE;QAC1C,MAAMM,WAAW,GAAG,IAAAC,yBAAkB,EAACF,cAAc,CAAC;QACtD,IAAI,CAACC,WAAW,EAAE;UACd;QACJ;QACA,MAAM;UAAEE,OAAO,EAAEC,UAAU;UAAEC,SAAS,EAAEC,iBAAiB;UAAEC;QAAO,CAAC,GAAGN,WAAW;QAEjF,MAAMO,oBAAoB,GAAGf,qBAAqB,CAACC,KAAK,CAACe,IAAI,CAAC;QAE9D,MAAMC,sBAAsB,GAAInB,KAAU,IAAK;UAC3C,IAAI,CAACiB,oBAAoB,EAAE;YACvB,OAAOjB,KAAK;UAChB;UACA,OAAOiB,oBAAoB,CAACG,SAAS,CAAC;YAClCjB,KAAK;YACLH;UACJ,CAAC,CAAC;QACN,CAAC;QAED,MAAMqB,YAAY,GAAGpB,kBAAkB,CAACc,iBAAiB,CAAC;QAC1D,IAAI,CAACM,YAAY,EAAE;UACf,MAAM,IAAIC,cAAW,CAChB,iCAAgCP,iBAAkB,IAAG,EACtD,0BAA0B,CAC7B;QACL;QAEA,MAAMQ,KAAK,GAAG,CACVpB,KAAK,CAACqB,UAAU,CAAC;UACbrB;QACJ,CAAC,CAAC,EACFU,UAAU,CACb;QAEDL,OAAO,CAACiB,IAAI,CAAC;UACTtB,KAAK;UACLuB,IAAI,EAAEH,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;UACrBC,WAAW,EAAE,CAAC,GAAGzB,KAAK,CAAC0B,OAAO,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACnB,OAAO,CAAC,EAAET,KAAK,CAACS,OAAO,CAAC,CAACe,IAAI,CAAC,GAAG,CAAC;UAC5EK,MAAM,EAAEX,YAAY;UACpBL,MAAM;UACNiB,YAAY,EAAE,IAAAC,yBAAc,EAAC;YACzBlC,KAAK,EAAEA,KAAK,CAACS,cAAc,CAAC;YAC5BW,SAAS,EAAED;UACf,CAAC,CAAC;UACFe,cAAc,EAAEf;QACpB,CAAC,CAAC;MACN;MAEA,OAAOX,OAAO;IAClB;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["createRefFilterCreate","plugin","CmsEntryFieldFilterPlugin","fieldType","create","params","value","valueFilterPlugins","transformValuePlugins","field","propertyFilters","Object","keys","length","filters","propertyFilter","whereParams","extractWhereParams","fieldId","propertyId","operation","propertyOperation","negate","transformValuePlugin","type","transformValueCallable","transform","filterPlugin","WebinyError","paths","createPath","push","path","join","fieldPathId","parents","map","f","compareValue","transformValue","name"],"sources":["refFilterCreate.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n CmsEntryFieldFilterPlugin,\n CmsEntryFieldFilterPluginCreateResponse\n} from \"~/plugins/CmsEntryFieldFilterPlugin\";\nimport { extractWhereParams } from \"~/operations/entry/filtering/where\";\nimport { transformValue } from \"~/operations/entry/filtering/transform\";\n\nexport const createRefFilterCreate = () => {\n const plugin = new CmsEntryFieldFilterPlugin({\n fieldType: \"ref\",\n create: params => {\n const { value, valueFilterPlugins, transformValuePlugins, field } = params;\n const propertyFilters = Object.keys(value);\n if (propertyFilters.length === 0) {\n return null;\n }\n\n const filters: CmsEntryFieldFilterPluginCreateResponse[] = [];\n\n for (const propertyFilter of propertyFilters) {\n const whereParams = extractWhereParams(propertyFilter);\n if (!whereParams) {\n continue;\n }\n const { fieldId: propertyId, operation: propertyOperation, negate } = whereParams;\n\n const transformValuePlugin = transformValuePlugins[field.type];\n\n const transformValueCallable = (value: any) => {\n if (!transformValuePlugin) {\n return value;\n }\n return transformValuePlugin.transform({\n field,\n value\n });\n };\n\n const filterPlugin = valueFilterPlugins[propertyOperation];\n if (!filterPlugin) {\n throw new WebinyError(\n `Missing operation filter for \"${propertyOperation}\".`,\n \"MISSING_OPERATION_FILTER\"\n );\n }\n\n const paths = [\n field.createPath({\n field\n }),\n propertyId\n ];\n\n filters.push({\n field,\n path: paths.join(\".\"),\n fieldPathId: [...field.parents.map(f => f.fieldId), field.fieldId].join(\".\"),\n plugin: filterPlugin,\n negate,\n compareValue: transformValue({\n value: value[propertyFilter],\n transform: transformValueCallable\n }),\n transformValue: transformValueCallable\n });\n }\n\n return filters;\n }\n });\n\n plugin.name = `headless-cms.ddb.filter.ref`;\n\n return plugin;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAIA;AACA;AAEO,MAAMA,qBAAqB,GAAG,MAAM;EACvC,MAAMC,MAAM,GAAG,IAAIC,oDAAyB,CAAC;IACzCC,SAAS,EAAE,KAAK;IAChBC,MAAM,EAAEC,MAAM,IAAI;MACd,MAAM;QAAEC,KAAK;QAAEC,kBAAkB;QAAEC,qBAAqB;QAAEC;MAAM,CAAC,GAAGJ,MAAM;MAC1E,MAAMK,eAAe,GAAGC,MAAM,CAACC,IAAI,CAACN,KAAK,CAAC;MAC1C,IAAII,eAAe,CAACG,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI;MACf;MAEA,MAAMC,OAAkD,GAAG,EAAE;MAE7D,KAAK,MAAMC,cAAc,IAAIL,eAAe,EAAE;QAC1C,MAAMM,WAAW,GAAG,IAAAC,yBAAkB,EAACF,cAAc,CAAC;QACtD,IAAI,CAACC,WAAW,EAAE;UACd;QACJ;QACA,MAAM;UAAEE,OAAO,EAAEC,UAAU;UAAEC,SAAS,EAAEC,iBAAiB;UAAEC;QAAO,CAAC,GAAGN,WAAW;QAEjF,MAAMO,oBAAoB,GAAGf,qBAAqB,CAACC,KAAK,CAACe,IAAI,CAAC;QAE9D,MAAMC,sBAAsB,GAAInB,KAAU,IAAK;UAC3C,IAAI,CAACiB,oBAAoB,EAAE;YACvB,OAAOjB,KAAK;UAChB;UACA,OAAOiB,oBAAoB,CAACG,SAAS,CAAC;YAClCjB,KAAK;YACLH;UACJ,CAAC,CAAC;QACN,CAAC;QAED,MAAMqB,YAAY,GAAGpB,kBAAkB,CAACc,iBAAiB,CAAC;QAC1D,IAAI,CAACM,YAAY,EAAE;UACf,MAAM,IAAIC,cAAW,CAChB,iCAAgCP,iBAAkB,IAAG,EACtD,0BAA0B,CAC7B;QACL;QAEA,MAAMQ,KAAK,GAAG,CACVpB,KAAK,CAACqB,UAAU,CAAC;UACbrB;QACJ,CAAC,CAAC,EACFU,UAAU,CACb;QAEDL,OAAO,CAACiB,IAAI,CAAC;UACTtB,KAAK;UACLuB,IAAI,EAAEH,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;UACrBC,WAAW,EAAE,CAAC,GAAGzB,KAAK,CAAC0B,OAAO,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACnB,OAAO,CAAC,EAAET,KAAK,CAACS,OAAO,CAAC,CAACe,IAAI,CAAC,GAAG,CAAC;UAC5EhC,MAAM,EAAE0B,YAAY;UACpBL,MAAM;UACNgB,YAAY,EAAE,IAAAC,yBAAc,EAAC;YACzBjC,KAAK,EAAEA,KAAK,CAACS,cAAc,CAAC;YAC5BW,SAAS,EAAED;UACf,CAAC,CAAC;UACFc,cAAc,EAAEd;QACpB,CAAC,CAAC;MACN;MAEA,OAAOX,OAAO;IAClB;EACJ,CAAC,CAAC;EAEFb,MAAM,CAACuC,IAAI,GAAI,6BAA4B;EAE3C,OAAOvC,MAAM;AACjB,CAAC;AAAC"}
@@ -44,6 +44,24 @@ const createSystemFields = () => {
44
44
  storageId: "meta",
45
45
  fieldId: "meta",
46
46
  label: "Meta"
47
+ }, {
48
+ id: "wbyAco_location",
49
+ type: "object",
50
+ storageId: "location",
51
+ label: "Location",
52
+ fieldId: "wbyAco_location",
53
+ settings: {
54
+ fields: [{
55
+ id: "folderId",
56
+ type: "text",
57
+ fieldId: "folderId",
58
+ label: "Folder ID",
59
+ storageId: "folderId",
60
+ settings: {
61
+ path: "location.folderId"
62
+ }
63
+ }]
64
+ }
47
65
  }, {
48
66
  id: "ownedBy",
49
67
  type: "plainObject",
@@ -1 +1 @@
1
- {"version":3,"names":["createSystemFields","id","type","storageId","fieldId","label","settings","path"],"sources":["systemFields.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types\";\n\ntype Field = Pick<CmsModelField, \"id\" | \"type\" | \"storageId\" | \"fieldId\" | \"settings\" | \"label\">;\n\nexport const createSystemFields = (): Field[] => {\n return [\n {\n id: \"id\",\n type: \"text\",\n storageId: \"id\",\n fieldId: \"id\",\n label: \"ID\"\n },\n {\n id: \"entryId\",\n type: \"text\",\n storageId: \"entryId\",\n fieldId: \"entryId\",\n label: \"Entry ID\"\n },\n {\n id: \"createdOn\",\n type: \"datetime\",\n storageId: \"createdOn\",\n fieldId: \"createdOn\",\n label: \"Created On\"\n },\n {\n id: \"savedOn\",\n type: \"datetime\",\n storageId: \"savedOn\",\n fieldId: \"savedOn\",\n label: \"Saved On\"\n },\n {\n id: \"createdBy\",\n type: \"plainObject\",\n storageId: \"createdBy\",\n fieldId: \"createdBy\",\n label: \"Created By\",\n settings: {\n path: \"createdBy.id\"\n }\n },\n {\n id: \"meta\",\n type: \"plainObject\",\n storageId: \"meta\",\n fieldId: \"meta\",\n label: \"Meta\"\n },\n {\n id: \"ownedBy\",\n type: \"plainObject\",\n storageId: \"ownedBy\",\n fieldId: \"ownedBy\",\n label: \"Owned By\",\n settings: {\n path: \"ownedBy.id\"\n }\n },\n {\n id: \"version\",\n type: \"number\",\n storageId: \"version\",\n fieldId: \"version\",\n label: \"Version\"\n },\n {\n id: \"status\",\n type: \"text\",\n storageId: \"status\",\n fieldId: \"status\",\n label: \"Status\"\n }\n ];\n};\n"],"mappings":";;;;;;AAIO,MAAMA,kBAAkB,GAAG,MAAe;EAC7C,OAAO,CACH;IACIC,EAAE,EAAE,IAAI;IACRC,IAAI,EAAE,MAAM;IACZC,SAAS,EAAE,IAAI;IACfC,OAAO,EAAE,IAAI;IACbC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,SAAS;IACbC,IAAI,EAAE,MAAM;IACZC,SAAS,EAAE,SAAS;IACpBC,OAAO,EAAE,SAAS;IAClBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,WAAW;IACfC,IAAI,EAAE,UAAU;IAChBC,SAAS,EAAE,WAAW;IACtBC,OAAO,EAAE,WAAW;IACpBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,SAAS;IACbC,IAAI,EAAE,UAAU;IAChBC,SAAS,EAAE,SAAS;IACpBC,OAAO,EAAE,SAAS;IAClBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,WAAW;IACfC,IAAI,EAAE,aAAa;IACnBC,SAAS,EAAE,WAAW;IACtBC,OAAO,EAAE,WAAW;IACpBC,KAAK,EAAE,YAAY;IACnBC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV;EACJ,CAAC,EACD;IACIN,EAAE,EAAE,MAAM;IACVC,IAAI,EAAE,aAAa;IACnBC,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE,MAAM;IACfC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,SAAS;IACbC,IAAI,EAAE,aAAa;IACnBC,SAAS,EAAE,SAAS;IACpBC,OAAO,EAAE,SAAS;IAClBC,KAAK,EAAE,UAAU;IACjBC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV;EACJ,CAAC,EACD;IACIN,EAAE,EAAE,SAAS;IACbC,IAAI,EAAE,QAAQ;IACdC,SAAS,EAAE,SAAS;IACpBC,OAAO,EAAE,SAAS;IAClBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,QAAQ;IACZC,IAAI,EAAE,MAAM;IACZC,SAAS,EAAE,QAAQ;IACnBC,OAAO,EAAE,QAAQ;IACjBC,KAAK,EAAE;EACX,CAAC,CACJ;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["createSystemFields","id","type","storageId","fieldId","label","settings","path","fields"],"sources":["systemFields.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types\";\n\ntype Field = Pick<CmsModelField, \"id\" | \"type\" | \"storageId\" | \"fieldId\" | \"settings\" | \"label\">;\n\nexport const createSystemFields = (): Field[] => {\n return [\n {\n id: \"id\",\n type: \"text\",\n storageId: \"id\",\n fieldId: \"id\",\n label: \"ID\"\n },\n {\n id: \"entryId\",\n type: \"text\",\n storageId: \"entryId\",\n fieldId: \"entryId\",\n label: \"Entry ID\"\n },\n {\n id: \"createdOn\",\n type: \"datetime\",\n storageId: \"createdOn\",\n fieldId: \"createdOn\",\n label: \"Created On\"\n },\n {\n id: \"savedOn\",\n type: \"datetime\",\n storageId: \"savedOn\",\n fieldId: \"savedOn\",\n label: \"Saved On\"\n },\n {\n id: \"createdBy\",\n type: \"plainObject\",\n storageId: \"createdBy\",\n fieldId: \"createdBy\",\n label: \"Created By\",\n settings: {\n path: \"createdBy.id\"\n }\n },\n {\n id: \"meta\",\n type: \"plainObject\",\n storageId: \"meta\",\n fieldId: \"meta\",\n label: \"Meta\"\n },\n {\n id: \"wbyAco_location\",\n type: \"object\",\n storageId: \"location\",\n label: \"Location\",\n fieldId: \"wbyAco_location\",\n settings: {\n fields: [\n {\n id: \"folderId\",\n type: \"text\",\n fieldId: \"folderId\",\n label: \"Folder ID\",\n storageId: \"folderId\",\n settings: {\n path: \"location.folderId\"\n }\n }\n ]\n }\n },\n {\n id: \"ownedBy\",\n type: \"plainObject\",\n storageId: \"ownedBy\",\n fieldId: \"ownedBy\",\n label: \"Owned By\",\n settings: {\n path: \"ownedBy.id\"\n }\n },\n {\n id: \"version\",\n type: \"number\",\n storageId: \"version\",\n fieldId: \"version\",\n label: \"Version\"\n },\n {\n id: \"status\",\n type: \"text\",\n storageId: \"status\",\n fieldId: \"status\",\n label: \"Status\"\n }\n ];\n};\n"],"mappings":";;;;;;AAIO,MAAMA,kBAAkB,GAAG,MAAe;EAC7C,OAAO,CACH;IACIC,EAAE,EAAE,IAAI;IACRC,IAAI,EAAE,MAAM;IACZC,SAAS,EAAE,IAAI;IACfC,OAAO,EAAE,IAAI;IACbC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,SAAS;IACbC,IAAI,EAAE,MAAM;IACZC,SAAS,EAAE,SAAS;IACpBC,OAAO,EAAE,SAAS;IAClBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,WAAW;IACfC,IAAI,EAAE,UAAU;IAChBC,SAAS,EAAE,WAAW;IACtBC,OAAO,EAAE,WAAW;IACpBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,SAAS;IACbC,IAAI,EAAE,UAAU;IAChBC,SAAS,EAAE,SAAS;IACpBC,OAAO,EAAE,SAAS;IAClBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,WAAW;IACfC,IAAI,EAAE,aAAa;IACnBC,SAAS,EAAE,WAAW;IACtBC,OAAO,EAAE,WAAW;IACpBC,KAAK,EAAE,YAAY;IACnBC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV;EACJ,CAAC,EACD;IACIN,EAAE,EAAE,MAAM;IACVC,IAAI,EAAE,aAAa;IACnBC,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE,MAAM;IACfC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,iBAAiB;IACrBC,IAAI,EAAE,QAAQ;IACdC,SAAS,EAAE,UAAU;IACrBE,KAAK,EAAE,UAAU;IACjBD,OAAO,EAAE,iBAAiB;IAC1BE,QAAQ,EAAE;MACNE,MAAM,EAAE,CACJ;QACIP,EAAE,EAAE,UAAU;QACdC,IAAI,EAAE,MAAM;QACZE,OAAO,EAAE,UAAU;QACnBC,KAAK,EAAE,WAAW;QAClBF,SAAS,EAAE,UAAU;QACrBG,QAAQ,EAAE;UACNC,IAAI,EAAE;QACV;MACJ,CAAC;IAET;EACJ,CAAC,EACD;IACIN,EAAE,EAAE,SAAS;IACbC,IAAI,EAAE,aAAa;IACnBC,SAAS,EAAE,SAAS;IACpBC,OAAO,EAAE,SAAS;IAClBC,KAAK,EAAE,UAAU;IACjBC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV;EACJ,CAAC,EACD;IACIN,EAAE,EAAE,SAAS;IACbC,IAAI,EAAE,QAAQ;IACdC,SAAS,EAAE,SAAS;IACpBC,OAAO,EAAE,SAAS;IAClBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,QAAQ;IACZC,IAAI,EAAE,MAAM;IACZC,SAAS,EAAE,QAAQ;IACnBC,OAAO,EAAE,QAAQ;IACjBC,KAAK,EAAE;EACX,CAAC,CACJ;AACL,CAAC;AAAC"}
@@ -5,7 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.extractWhereParams = void 0;
7
7
  const extractWhereParams = key => {
8
- const result = key.split("_");
8
+ const isWbyAco = key.match("wbyAco_") !== null;
9
+ const result = key.replace("wbyAco_", "").split("_");
9
10
  const fieldId = result.shift();
10
11
  if (!fieldId) {
11
12
  return null;
@@ -24,7 +25,7 @@ const extractWhereParams = key => {
24
25
  const negate = rawOp.match("not_") !== null;
25
26
  const operation = rawOp.replace("not_", "");
26
27
  return {
27
- fieldId,
28
+ fieldId: isWbyAco ? `wbyAco_${fieldId}` : fieldId,
28
29
  operation,
29
30
  negate
30
31
  };
@@ -1 +1 @@
1
- {"version":3,"names":["extractWhereParams","key","result","split","fieldId","shift","rawOp","length","join","operation","negate","match","replace"],"sources":["where.ts"],"sourcesContent":["export const extractWhereParams = (key: string) => {\n const result = key.split(\"_\");\n const fieldId = result.shift();\n if (!fieldId) {\n return null;\n }\n const rawOp = result.length === 0 ? \"eq\" : result.join(\"_\");\n /**\n * When rawOp is not, it means it is equal negated so just return that.\n */\n if (rawOp === \"not\") {\n return {\n fieldId,\n operation: \"eq\",\n negate: true\n };\n }\n const negate = rawOp.match(\"not_\") !== null;\n const operation = rawOp.replace(\"not_\", \"\");\n return {\n fieldId,\n operation,\n negate\n };\n};\n"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,GAAIC,GAAW,IAAK;EAC/C,MAAMC,MAAM,GAAGD,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC;EAC7B,MAAMC,OAAO,GAAGF,MAAM,CAACG,KAAK,EAAE;EAC9B,IAAI,CAACD,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EACA,MAAME,KAAK,GAAGJ,MAAM,CAACK,MAAM,KAAK,CAAC,GAAG,IAAI,GAAGL,MAAM,CAACM,IAAI,CAAC,GAAG,CAAC;EAC3D;AACJ;AACA;EACI,IAAIF,KAAK,KAAK,KAAK,EAAE;IACjB,OAAO;MACHF,OAAO;MACPK,SAAS,EAAE,IAAI;MACfC,MAAM,EAAE;IACZ,CAAC;EACL;EACA,MAAMA,MAAM,GAAGJ,KAAK,CAACK,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;EAC3C,MAAMF,SAAS,GAAGH,KAAK,CAACM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EAC3C,OAAO;IACHR,OAAO;IACPK,SAAS;IACTC;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["extractWhereParams","key","isWbyAco","match","result","replace","split","fieldId","shift","rawOp","length","join","operation","negate"],"sources":["where.ts"],"sourcesContent":["export const extractWhereParams = (key: string) => {\n const isWbyAco = key.match(\"wbyAco_\") !== null;\n const result = key.replace(\"wbyAco_\", \"\").split(\"_\");\n const fieldId = result.shift();\n if (!fieldId) {\n return null;\n }\n const rawOp = result.length === 0 ? \"eq\" : result.join(\"_\");\n /**\n * When rawOp is not, it means it is equal negated so just return that.\n */\n if (rawOp === \"not\") {\n return {\n fieldId,\n operation: \"eq\",\n negate: true\n };\n }\n const negate = rawOp.match(\"not_\") !== null;\n const operation = rawOp.replace(\"not_\", \"\");\n return {\n fieldId: isWbyAco ? `wbyAco_${fieldId}` : fieldId,\n operation,\n negate\n };\n};\n"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,GAAIC,GAAW,IAAK;EAC/C,MAAMC,QAAQ,GAAGD,GAAG,CAACE,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;EAC9C,MAAMC,MAAM,GAAGH,GAAG,CAACI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;EACpD,MAAMC,OAAO,GAAGH,MAAM,CAACI,KAAK,EAAE;EAC9B,IAAI,CAACD,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EACA,MAAME,KAAK,GAAGL,MAAM,CAACM,MAAM,KAAK,CAAC,GAAG,IAAI,GAAGN,MAAM,CAACO,IAAI,CAAC,GAAG,CAAC;EAC3D;AACJ;AACA;EACI,IAAIF,KAAK,KAAK,KAAK,EAAE;IACjB,OAAO;MACHF,OAAO;MACPK,SAAS,EAAE,IAAI;MACfC,MAAM,EAAE;IACZ,CAAC;EACL;EACA,MAAMA,MAAM,GAAGJ,KAAK,CAACN,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;EAC3C,MAAMS,SAAS,GAAGH,KAAK,CAACJ,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EAC3C,OAAO;IACHE,OAAO,EAAEL,QAAQ,GAAI,UAASK,OAAQ,EAAC,GAAGA,OAAO;IACjDK,SAAS;IACTC;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -1,6 +1,6 @@
1
- import { CmsEntryStorageOperations } from "@webiny/api-headless-cms/types";
2
1
  import { Entity } from "dynamodb-toolbox";
3
2
  import { PluginsContainer } from "@webiny/plugins";
3
+ import { CmsEntryStorageOperations } from "../../types";
4
4
  export interface CreateEntriesStorageOperationsParams {
5
5
  entity: Entity<any>;
6
6
  plugins: PluginsContainer;
@@ -53,6 +53,7 @@ const convertFromStorageEntry = params => {
53
53
  values
54
54
  });
55
55
  };
56
+ const MAX_LIST_LIMIT = 10000;
56
57
  const createEntriesStorageOperations = params => {
57
58
  const {
58
59
  entity,
@@ -291,11 +292,12 @@ const createEntriesStorageOperations = params => {
291
292
  const {
292
293
  entry
293
294
  } = params;
295
+ const id = entry.id || entry.entryId;
294
296
  const model = getStorageOperationsModel(initialModel);
295
297
  const queryAllParams = {
296
298
  entity,
297
299
  partitionKey: (0, _keys.createPartitionKey)({
298
- id: entry.id,
300
+ id,
299
301
  locale: model.locale,
300
302
  tenant: model.tenant
301
303
  }),
@@ -309,7 +311,7 @@ const createEntriesStorageOperations = params => {
309
311
  } catch (ex) {
310
312
  throw new _error.default(ex.message || "Could not load all records.", ex.code || "LOAD_ALL_RECORDS_ERROR", {
311
313
  error: ex,
312
- entry
314
+ id
313
315
  });
314
316
  }
315
317
  const items = records.map(item => {
@@ -330,7 +332,7 @@ const createEntriesStorageOperations = params => {
330
332
  throw new _error.default(ex.message || "Could not delete the entry.", ex.code || "DELETE_ENTRY_ERROR", {
331
333
  error: ex,
332
334
  partitionKey: queryAllParams.partitionKey,
333
- entry
335
+ id
334
336
  });
335
337
  }
336
338
  };
@@ -390,6 +392,66 @@ const createEntriesStorageOperations = params => {
390
392
  });
391
393
  }
392
394
  };
395
+ const deleteMultipleEntries = async (initialModel, params) => {
396
+ const {
397
+ entries
398
+ } = params;
399
+ const model = getStorageOperationsModel(initialModel);
400
+ /**
401
+ * First we need all the revisions of the entries we want to delete.
402
+ */
403
+ const revisions = await dataLoaders.getAllEntryRevisions({
404
+ model,
405
+ ids: entries
406
+ });
407
+ /**
408
+ * Then we need to construct the queries for all the revisions and entries.
409
+ */
410
+ const items = [];
411
+ for (const id of entries) {
412
+ /**
413
+ * Latest item.
414
+ */
415
+ items.push(entity.deleteBatch({
416
+ PK: (0, _keys.createPartitionKey)({
417
+ id,
418
+ locale: model.locale,
419
+ tenant: model.tenant
420
+ }),
421
+ SK: "L"
422
+ }));
423
+ /**
424
+ * Published item.
425
+ */
426
+ items.push(entity.deleteBatch({
427
+ PK: (0, _keys.createPartitionKey)({
428
+ id,
429
+ locale: model.locale,
430
+ tenant: model.tenant
431
+ }),
432
+ SK: "P"
433
+ }));
434
+ }
435
+ /**
436
+ * Exact revisions of all the entries
437
+ */
438
+ for (const revision of revisions) {
439
+ items.push(entity.deleteBatch({
440
+ PK: (0, _keys.createPartitionKey)({
441
+ id: revision.id,
442
+ locale: model.locale,
443
+ tenant: model.tenant
444
+ }),
445
+ SK: (0, _keys.createRevisionSortKey)({
446
+ version: revision.version
447
+ })
448
+ }));
449
+ }
450
+ await (0, _batchWrite.batchWriteAll)({
451
+ table: entity.table,
452
+ items
453
+ });
454
+ };
393
455
  const getLatestRevisionByEntryId = async (initialModel, params) => {
394
456
  const model = getStorageOperationsModel(initialModel);
395
457
  const items = await dataLoaders.getLatestRevisionByEntryId({
@@ -544,7 +606,7 @@ const createEntriesStorageOperations = params => {
544
606
  fields,
545
607
  search
546
608
  } = params;
547
- const limit = initialLimit <= 0 || initialLimit >= 10000 ? 10000 : initialLimit;
609
+ const limit = initialLimit <= 0 || initialLimit >= MAX_LIST_LIMIT ? MAX_LIST_LIMIT : initialLimit;
548
610
  const type = initialWhere.published ? "P" : "L";
549
611
  const queryAllParams = {
550
612
  entity,
@@ -793,12 +855,50 @@ const createEntriesStorageOperations = params => {
793
855
  });
794
856
  }
795
857
  };
858
+ const getUniqueFieldValues = async (model, params) => {
859
+ const {
860
+ where,
861
+ fieldId
862
+ } = params;
863
+ const field = model.fields.find(f => f.fieldId === fieldId);
864
+ if (!field) {
865
+ throw new _error.default(`Could not find field with given "fieldId" value.`, "FIELD_NOT_FOUND", {
866
+ fieldId
867
+ });
868
+ }
869
+ const {
870
+ items
871
+ } = await list(model, {
872
+ where,
873
+ limit: MAX_LIST_LIMIT
874
+ });
875
+ const result = {};
876
+ for (const item of items) {
877
+ const fieldValue = item.values[field.fieldId];
878
+ if (!fieldValue) {
879
+ continue;
880
+ }
881
+ const values = Array.isArray(fieldValue) ? fieldValue : [fieldValue];
882
+ if (values.length === 0) {
883
+ continue;
884
+ }
885
+ for (const value of values) {
886
+ var _result$value;
887
+ result[value] = {
888
+ value,
889
+ count: (((_result$value = result[value]) === null || _result$value === void 0 ? void 0 : _result$value.count) || 0) + 1
890
+ };
891
+ }
892
+ }
893
+ return Object.values(result).sort((a, b) => a.value > b.value ? 1 : b.value > a.value ? -1 : 0).sort((a, b) => b.count - a.count);
894
+ };
796
895
  return {
797
896
  create,
798
897
  createRevisionFrom,
799
898
  update,
800
899
  delete: deleteEntry,
801
900
  deleteRevision,
901
+ deleteMultipleEntries,
802
902
  getPreviousRevision,
803
903
  getPublishedByIds,
804
904
  getLatestByIds,
@@ -810,7 +910,9 @@ const createEntriesStorageOperations = params => {
810
910
  getRevisions,
811
911
  publish,
812
912
  list,
813
- unpublish
913
+ unpublish,
914
+ dataLoaders,
915
+ getUniqueFieldValues
814
916
  };
815
917
  };
816
918
  exports.createEntriesStorageOperations = createEntriesStorageOperations;