@webiny/api-headless-cms-ddb-es 5.33.5 → 5.34.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/configurations.js +1 -1
  2. package/definitions/entry.js +3 -7
  3. package/definitions/entry.js.map +1 -1
  4. package/definitions/entryElasticsearch.js +3 -7
  5. package/definitions/entryElasticsearch.js.map +1 -1
  6. package/definitions/group.js +3 -7
  7. package/definitions/group.js.map +1 -1
  8. package/definitions/model.js +8 -7
  9. package/definitions/model.js.map +1 -1
  10. package/definitions/settings.js +3 -7
  11. package/definitions/settings.js.map +1 -1
  12. package/definitions/system.js +3 -7
  13. package/definitions/system.js.map +1 -1
  14. package/dynamoDb/index.d.ts +1 -1
  15. package/dynamoDb/storage/date.d.ts +2 -1
  16. package/dynamoDb/storage/date.js +1 -1
  17. package/dynamoDb/storage/date.js.map +1 -1
  18. package/dynamoDb/storage/longText.d.ts +1 -1
  19. package/dynamoDb/storage/longText.js +8 -1
  20. package/dynamoDb/storage/longText.js.map +1 -1
  21. package/dynamoDb/storage/richText.d.ts +1 -1
  22. package/dynamoDb/storage/richText.js +1 -1
  23. package/elasticsearch/createElasticsearchIndex.js +1 -1
  24. package/elasticsearch/index.js +1 -1
  25. package/elasticsearch/indexing/index.js +1 -1
  26. package/elasticsearch/indexing/longTextIndexing.d.ts +4 -0
  27. package/elasticsearch/indexing/longTextIndexing.js +20 -4
  28. package/elasticsearch/indexing/longTextIndexing.js.map +1 -1
  29. package/elasticsearch/search/refSearch.js +4 -2
  30. package/elasticsearch/search/refSearch.js.map +1 -1
  31. package/helpers/entryIndexHelpers.js +6 -11
  32. package/helpers/entryIndexHelpers.js.map +1 -1
  33. package/helpers/index.d.ts +0 -1
  34. package/helpers/index.js +0 -13
  35. package/helpers/index.js.map +1 -1
  36. package/index.js +17 -10
  37. package/index.js.map +1 -1
  38. package/operations/entry/dataLoaders.js +7 -9
  39. package/operations/entry/dataLoaders.js.map +1 -1
  40. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.d.ts +18 -0
  41. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +34 -0
  42. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -0
  43. package/operations/entry/elasticsearch/body.d.ts +13 -0
  44. package/operations/entry/elasticsearch/body.js +162 -0
  45. package/operations/entry/elasticsearch/body.js.map +1 -0
  46. package/operations/entry/elasticsearch/fields.d.ts +9 -0
  47. package/operations/entry/elasticsearch/fields.js +248 -0
  48. package/operations/entry/elasticsearch/fields.js.map +1 -0
  49. package/operations/entry/elasticsearch/filtering/applyFiltering.d.ts +8 -0
  50. package/operations/entry/elasticsearch/filtering/applyFiltering.js +66 -0
  51. package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -0
  52. package/operations/entry/elasticsearch/filtering/exec.d.ts +17 -0
  53. package/operations/entry/elasticsearch/filtering/exec.js +215 -0
  54. package/operations/entry/elasticsearch/filtering/exec.js.map +1 -0
  55. package/operations/entry/elasticsearch/filtering/index.d.ts +1 -0
  56. package/operations/entry/elasticsearch/filtering/index.js +18 -0
  57. package/operations/entry/elasticsearch/filtering/index.js.map +1 -0
  58. package/operations/entry/elasticsearch/filtering/path.d.ts +15 -0
  59. package/operations/entry/elasticsearch/filtering/path.js +52 -0
  60. package/operations/entry/elasticsearch/filtering/path.js.map +1 -0
  61. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.d.ts +2 -0
  62. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js +35 -0
  63. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js.map +1 -0
  64. package/operations/entry/elasticsearch/filtering/plugins/index.d.ts +1 -0
  65. package/operations/entry/elasticsearch/filtering/plugins/index.js +18 -0
  66. package/operations/entry/elasticsearch/filtering/plugins/index.js.map +1 -0
  67. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.d.ts +2 -0
  68. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js +78 -0
  69. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js.map +1 -0
  70. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.d.ts +2 -0
  71. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js +58 -0
  72. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js.map +1 -0
  73. package/operations/entry/elasticsearch/filtering/populated.d.ts +2 -0
  74. package/operations/entry/elasticsearch/filtering/populated.js +30 -0
  75. package/operations/entry/elasticsearch/filtering/populated.js.map +1 -0
  76. package/operations/entry/elasticsearch/filtering/values.d.ts +2 -0
  77. package/operations/entry/elasticsearch/filtering/values.js +28 -0
  78. package/operations/entry/elasticsearch/filtering/values.js.map +1 -0
  79. package/operations/entry/elasticsearch/fullTextSearch.d.ts +9 -0
  80. package/operations/entry/elasticsearch/fullTextSearch.js +34 -0
  81. package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -0
  82. package/operations/entry/elasticsearch/fullTextSearchFields.d.ts +8 -0
  83. package/operations/entry/elasticsearch/fullTextSearchFields.js +52 -0
  84. package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -0
  85. package/operations/entry/elasticsearch/initialQuery.d.ts +17 -0
  86. package/operations/entry/elasticsearch/initialQuery.js +117 -0
  87. package/operations/entry/elasticsearch/initialQuery.js.map +1 -0
  88. package/operations/entry/elasticsearch/keyword.d.ts +2 -0
  89. package/operations/entry/elasticsearch/keyword.js +38 -0
  90. package/operations/entry/elasticsearch/keyword.js.map +1 -0
  91. package/operations/entry/elasticsearch/plugins/bodyModifier.d.ts +9 -0
  92. package/operations/entry/elasticsearch/plugins/bodyModifier.js +19 -0
  93. package/operations/entry/elasticsearch/plugins/bodyModifier.js.map +1 -0
  94. package/operations/entry/elasticsearch/plugins/operator.d.ts +8 -0
  95. package/operations/entry/elasticsearch/plugins/operator.js +45 -0
  96. package/operations/entry/elasticsearch/plugins/operator.js.map +1 -0
  97. package/operations/entry/elasticsearch/plugins/queryModifier.d.ts +9 -0
  98. package/operations/entry/elasticsearch/plugins/queryModifier.js +19 -0
  99. package/operations/entry/elasticsearch/plugins/queryModifier.js.map +1 -0
  100. package/operations/entry/elasticsearch/plugins/search.d.ts +7 -0
  101. package/{helpers/searchPluginsList.js → operations/entry/elasticsearch/plugins/search.js} +9 -5
  102. package/operations/entry/elasticsearch/plugins/search.js.map +1 -0
  103. package/operations/entry/elasticsearch/plugins/sortModifier.d.ts +9 -0
  104. package/operations/entry/elasticsearch/plugins/sortModifier.js +19 -0
  105. package/operations/entry/elasticsearch/plugins/sortModifier.js.map +1 -0
  106. package/operations/entry/elasticsearch/sort.d.ts +12 -0
  107. package/operations/entry/elasticsearch/sort.js +92 -0
  108. package/operations/entry/elasticsearch/sort.js.map +1 -0
  109. package/operations/entry/elasticsearch/transformValueForSearch.d.ts +16 -0
  110. package/{helpers → operations/entry/elasticsearch}/transformValueForSearch.js +8 -3
  111. package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -0
  112. package/operations/entry/elasticsearch/types.d.ts +41 -0
  113. package/operations/entry/elasticsearch/types.js +5 -0
  114. package/operations/entry/elasticsearch/types.js.map +1 -0
  115. package/operations/entry/elasticsearchFields.js +3 -0
  116. package/operations/entry/elasticsearchFields.js.map +1 -1
  117. package/operations/entry/index.d.ts +0 -2
  118. package/operations/entry/index.js +100 -310
  119. package/operations/entry/index.js.map +1 -1
  120. package/operations/entry/recordType.d.ts +3 -0
  121. package/operations/entry/recordType.js +24 -0
  122. package/operations/entry/recordType.js.map +1 -0
  123. package/operations/group/index.js +7 -12
  124. package/operations/group/index.js.map +1 -1
  125. package/operations/model/index.js +4 -8
  126. package/operations/model/index.js.map +1 -1
  127. package/operations/settings/index.js +6 -10
  128. package/operations/settings/index.js.map +1 -1
  129. package/operations/system/index.js +4 -8
  130. package/operations/system/index.js.map +1 -1
  131. package/package.json +18 -19
  132. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js +1 -1
  133. package/plugins/CmsEntryElasticsearchFieldPlugin.js +1 -1
  134. package/plugins/CmsEntryElasticsearchIndexPlugin.js +1 -1
  135. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js +1 -1
  136. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js +1 -1
  137. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js +1 -1
  138. package/plugins/CmsEntryFilterPlugin.d.ts +49 -0
  139. package/plugins/CmsEntryFilterPlugin.js +31 -0
  140. package/plugins/CmsEntryFilterPlugin.js.map +1 -0
  141. package/helpers/createElasticsearchQueryBody.d.ts +0 -11
  142. package/helpers/createElasticsearchQueryBody.js +0 -618
  143. package/helpers/createElasticsearchQueryBody.js.map +0 -1
  144. package/helpers/fields.d.ts +0 -19
  145. package/helpers/fields.js +0 -196
  146. package/helpers/fields.js.map +0 -1
  147. package/helpers/searchPluginsList.d.ts +0 -6
  148. package/helpers/searchPluginsList.js.map +0 -1
  149. package/helpers/transformValueForSearch.d.ts +0 -12
  150. package/helpers/transformValueForSearch.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createPartitionKey","params","tenant","locale","createSortKey","modelId","createKeys","PK","SK","createType","createModelsStorageOperations","entity","elasticsearch","create","model","index","configurations","es","keys","error","put","cleanupItem","TYPE","ex","indices","delete","ignore_unavailable","WebinyError","dynamodbError","elasticsearchError","update","message","code","deleteModel","get","item","getRecord","list","where","queryAllParams","partitionKey","options","gte","items","queryAll","cleanupItems"],"sources":["index.ts"],"sourcesContent":["import {\n CmsModel,\n CmsModelStorageOperations,\n CmsModelStorageOperationsCreateParams,\n CmsModelStorageOperationsDeleteParams,\n CmsModelStorageOperationsGetParams,\n CmsModelStorageOperationsListParams,\n CmsModelStorageOperationsUpdateParams\n} from \"@webiny/api-headless-cms/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { configurations } from \"~/configurations\";\nimport WebinyError from \"@webiny/error\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport { get as getRecord } from \"@webiny/db-dynamodb/utils/get\";\nimport { cleanupItem, cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\n\ninterface PartitionKeysParams {\n tenant: string;\n locale: string;\n}\nconst createPartitionKey = (params: PartitionKeysParams): string => {\n const { tenant, locale } = params;\n return `T#${tenant}#L#${locale}#CMS#CM`;\n};\n\ninterface SortKeyParams {\n modelId: string;\n}\nconst createSortKey = (params: SortKeyParams): string => {\n return params.modelId;\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n}\nconst createKeys = (params: PartitionKeysParams & SortKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKey(params)\n };\n};\n\nconst createType = (): string => {\n return \"cms.model\";\n};\n\nexport interface CreateModelsStorageOperationsParams {\n entity: Entity<any>;\n elasticsearch: Client;\n}\nexport const createModelsStorageOperations = (\n params: CreateModelsStorageOperationsParams\n): CmsModelStorageOperations => {\n const { entity, elasticsearch } = params;\n\n const create = async (params: CmsModelStorageOperationsCreateParams) => {\n const { model } = params;\n\n const { index } = configurations.es({\n model\n });\n\n const keys = createKeys(model);\n\n let error;\n try {\n await entity.put({\n ...cleanupItem(entity, model),\n ...keys,\n TYPE: createType()\n });\n return model;\n } catch (ex) {\n error = ex;\n }\n /**\n * In case of DynamoDB error we need to remove the index we created.\n */\n try {\n await elasticsearch.indices.delete({\n index,\n ignore_unavailable: true\n });\n } catch (ex) {\n throw new WebinyError(\n `Could not delete elasticsearch index \"${index}\" after model record failed to be created.`,\n \"DELETE_MODEL_INDEX_ERROR\",\n {\n dynamodbError: error,\n elasticsearchError: ex\n }\n );\n }\n throw error;\n };\n\n const update = async (params: CmsModelStorageOperationsUpdateParams) => {\n const { model } = params;\n\n const keys = createKeys(model);\n\n try {\n await entity.put({\n ...cleanupItem(entity, model),\n ...keys,\n TYPE: createType()\n });\n return model;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update model.\",\n ex.code || \"MODEL_UPDATE_ERROR\",\n {\n error: ex,\n model,\n keys\n }\n );\n }\n };\n\n const deleteModel = async (params: CmsModelStorageOperationsDeleteParams) => {\n const { model } = params;\n const keys = createKeys(model);\n\n const { index } = configurations.es({\n model\n });\n\n try {\n await entity.delete(keys);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete model.\",\n ex.code || \"MODEL_DELETE_ERROR\",\n {\n error: ex,\n model,\n keys\n }\n );\n }\n /**\n * Always delete the model index after deleting the model.\n */\n try {\n await elasticsearch.indices.delete({\n index,\n ignore_unavailable: true\n });\n } catch (ex) {\n throw new WebinyError(\n `Could not delete elasticsearch index \"${index}\" after model record delete.`,\n \"DELETE_MODEL_INDEX_ERROR\",\n {\n error: ex,\n index,\n model\n }\n );\n }\n\n return model;\n };\n\n const get = async (params: CmsModelStorageOperationsGetParams) => {\n const keys = createKeys(params);\n\n try {\n const item = await getRecord<CmsModel>({\n entity,\n keys\n });\n return cleanupItem(entity, item);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get model.\",\n ex.code || \"MODEL_GET_ERROR\",\n {\n error: ex,\n keys\n }\n );\n }\n };\n\n const list = async (params: CmsModelStorageOperationsListParams) => {\n const { where } = params;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey(where),\n options: {\n gte: \" \"\n }\n };\n try {\n const items = await queryAll<CmsModel>(queryAllParams);\n\n return cleanupItems(entity, items);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list models.\",\n ex.code || \"MODEL_LIST_ERROR\",\n {\n error: ex,\n partitionKey: queryAllParams.partitionKey\n }\n );\n }\n };\n\n return {\n create,\n update,\n delete: deleteModel,\n get,\n list\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createPartitionKey","params","tenant","locale","createSortKey","modelId","createKeys","PK","SK","createType","createModelsStorageOperations","entity","elasticsearch","create","model","index","configurations","es","keys","error","put","cleanupItem","TYPE","ex","indices","delete","ignore_unavailable","WebinyError","dynamodbError","elasticsearchError","update","message","code","deleteModel","get","item","getRecord","list","where","queryAllParams","partitionKey","options","gte","items","queryAll","cleanupItems"],"sources":["index.ts"],"sourcesContent":["import {\n CmsModel,\n CmsModelStorageOperations,\n CmsModelStorageOperationsCreateParams,\n CmsModelStorageOperationsDeleteParams,\n CmsModelStorageOperationsGetParams,\n CmsModelStorageOperationsListParams,\n CmsModelStorageOperationsUpdateParams\n} from \"@webiny/api-headless-cms/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { configurations } from \"~/configurations\";\nimport WebinyError from \"@webiny/error\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport { get as getRecord } from \"@webiny/db-dynamodb/utils/get\";\nimport { cleanupItem, cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\n\ninterface PartitionKeysParams {\n tenant: string;\n locale: string;\n}\nconst createPartitionKey = (params: PartitionKeysParams): string => {\n const { tenant, locale } = params;\n return `T#${tenant}#L#${locale}#CMS#CM`;\n};\n\ninterface SortKeyParams {\n modelId: string;\n}\nconst createSortKey = (params: SortKeyParams): string => {\n return params.modelId;\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n}\nconst createKeys = (params: PartitionKeysParams & SortKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKey(params)\n };\n};\n\nconst createType = (): string => {\n return \"cms.model\";\n};\n\nexport interface CreateModelsStorageOperationsParams {\n entity: Entity<any>;\n elasticsearch: Client;\n}\nexport const createModelsStorageOperations = (\n params: CreateModelsStorageOperationsParams\n): CmsModelStorageOperations => {\n const { entity, elasticsearch } = params;\n\n const create = async (params: CmsModelStorageOperationsCreateParams) => {\n const { model } = params;\n\n const { index } = configurations.es({\n model\n });\n\n const keys = createKeys(model);\n\n let error;\n try {\n await entity.put({\n ...cleanupItem(entity, model),\n ...keys,\n TYPE: createType()\n });\n return model;\n } catch (ex) {\n error = ex;\n }\n /**\n * In case of DynamoDB error we need to remove the index we created.\n */\n try {\n await elasticsearch.indices.delete({\n index,\n ignore_unavailable: true\n });\n } catch (ex) {\n throw new WebinyError(\n `Could not delete elasticsearch index \"${index}\" after model record failed to be created.`,\n \"DELETE_MODEL_INDEX_ERROR\",\n {\n dynamodbError: error,\n elasticsearchError: ex\n }\n );\n }\n throw error;\n };\n\n const update = async (params: CmsModelStorageOperationsUpdateParams) => {\n const { model } = params;\n\n const keys = createKeys(model);\n\n try {\n await entity.put({\n ...cleanupItem(entity, model),\n ...keys,\n TYPE: createType()\n });\n return model;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update model.\",\n ex.code || \"MODEL_UPDATE_ERROR\",\n {\n error: ex,\n model,\n keys\n }\n );\n }\n };\n\n const deleteModel = async (params: CmsModelStorageOperationsDeleteParams) => {\n const { model } = params;\n const keys = createKeys(model);\n\n const { index } = configurations.es({\n model\n });\n\n try {\n await entity.delete(keys);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete model.\",\n ex.code || \"MODEL_DELETE_ERROR\",\n {\n error: ex,\n model,\n keys\n }\n );\n }\n /**\n * Always delete the model index after deleting the model.\n */\n try {\n await elasticsearch.indices.delete({\n index,\n ignore_unavailable: true\n });\n } catch (ex) {\n throw new WebinyError(\n `Could not delete elasticsearch index \"${index}\" after model record delete.`,\n \"DELETE_MODEL_INDEX_ERROR\",\n {\n error: ex,\n index,\n model\n }\n );\n }\n\n return model;\n };\n\n const get = async (params: CmsModelStorageOperationsGetParams) => {\n const keys = createKeys(params);\n\n try {\n const item = await getRecord<CmsModel>({\n entity,\n keys\n });\n return cleanupItem(entity, item);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get model.\",\n ex.code || \"MODEL_GET_ERROR\",\n {\n error: ex,\n keys\n }\n );\n }\n };\n\n const list = async (params: CmsModelStorageOperationsListParams) => {\n const { where } = params;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey(where),\n options: {\n gte: \" \"\n }\n };\n try {\n const items = await queryAll<CmsModel>(queryAllParams);\n\n return cleanupItems(entity, items);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list models.\",\n ex.code || \"MODEL_LIST_ERROR\",\n {\n error: ex,\n partitionKey: queryAllParams.partitionKey\n }\n );\n }\n };\n\n return {\n create,\n update,\n delete: deleteModel,\n get,\n list\n };\n};\n"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.createSettingsStorageOperations = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _get = require("@webiny/db-dynamodb/utils/get");
13
13
 
@@ -15,12 +15,8 @@ var _error = _interopRequireDefault(require("@webiny/error"));
15
15
 
16
16
  var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
-
22
18
  const convertToDbData = settings => {
23
- return _objectSpread(_objectSpread({}, settings), {}, {
19
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, settings), {}, {
24
20
  contentModelLastChange: settings.contentModelLastChange.toISOString()
25
21
  });
26
22
  };
@@ -38,7 +34,7 @@ const convertFromDbData = settings => {
38
34
  contentModelLastChange = new Date();
39
35
  }
40
36
 
41
- return _objectSpread(_objectSpread({}, settings), {}, {
37
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, settings), {}, {
42
38
  contentModelLastChange
43
39
  });
44
40
  };
@@ -74,7 +70,7 @@ const createSettingsStorageOperations = params => {
74
70
  const dbSettings = convertToDbData(settings);
75
71
 
76
72
  try {
77
- await entity.put(_objectSpread(_objectSpread({}, dbSettings), keys));
73
+ await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, dbSettings), keys));
78
74
  return settings;
79
75
  } catch (ex) {
80
76
  throw new _error.default(ex.message || "Could not create settings.", ex.code || "CREATE_SETTINGS_ERROR", {
@@ -94,7 +90,7 @@ const createSettingsStorageOperations = params => {
94
90
  const dbSettings = convertToDbData(settings);
95
91
 
96
92
  try {
97
- await entity.put(_objectSpread(_objectSpread({}, dbSettings), keys));
93
+ await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, dbSettings), keys));
98
94
  return settings;
99
95
  } catch (ex) {
100
96
  throw new _error.default(ex.message || "Could not update settings.", ex.code || "UPDATE_SETTINGS_ERROR", {
@@ -1 +1 @@
1
- {"version":3,"names":["convertToDbData","settings","contentModelLastChange","toISOString","convertFromDbData","Date","createPartitionKey","tenant","locale","createSortKey","createKeys","params","PK","SK","createSettingsStorageOperations","entity","create","keys","dbSettings","put","ex","WebinyError","message","code","error","update","get","record","getRecord","cleanupItem"],"sources":["index.ts"],"sourcesContent":["import {\n CmsSettings,\n CmsSettingsStorageOperations,\n CmsSettingsStorageOperationsCreateParams,\n CmsSettingsStorageOperationsGetParams,\n CmsSettingsStorageOperationsUpdateParams\n} from \"@webiny/api-headless-cms/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { get as getRecord } from \"@webiny/db-dynamodb/utils/get\";\nimport WebinyError from \"@webiny/error\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\n\ninterface CmsSettingsDb extends Omit<CmsSettings, \"contentModelLastChange\"> {\n contentModelLastChange: string;\n}\n\nconst convertToDbData = (settings: CmsSettings): CmsSettingsDb => {\n return {\n ...settings,\n contentModelLastChange: settings.contentModelLastChange.toISOString()\n };\n};\n\nconst convertFromDbData = (settings?: CmsSettingsDb): CmsSettings | null => {\n if (!settings) {\n return null;\n }\n let contentModelLastChange;\n try {\n contentModelLastChange = new Date(settings.contentModelLastChange);\n } catch {\n contentModelLastChange = new Date();\n }\n return {\n ...settings,\n contentModelLastChange\n };\n};\n\ninterface PartitionKeyParams {\n tenant: string;\n locale: string;\n}\n\nconst createPartitionKey = ({ tenant, locale }: PartitionKeyParams): string => {\n return `T#${tenant}#L#${locale}#CMS#SETTINGS`;\n};\n\nconst createSortKey = (): string => {\n return \"settings\";\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n}\nconst createKeys = (params: PartitionKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKey()\n };\n};\n\nexport interface CreateSettingsStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createSettingsStorageOperations = (\n params: CreateSettingsStorageOperationsParams\n): CmsSettingsStorageOperations => {\n const { entity } = params;\n\n const create = async (params: CmsSettingsStorageOperationsCreateParams) => {\n const { settings } = params;\n const keys = createKeys(settings);\n\n const dbSettings: CmsSettingsDb = convertToDbData(settings);\n\n try {\n await entity.put({\n ...dbSettings,\n ...keys\n });\n return settings;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create settings.\",\n ex.code || \"CREATE_SETTINGS_ERROR\",\n {\n error: ex,\n settings,\n dbSettings,\n keys\n }\n );\n }\n };\n\n const update = async (params: CmsSettingsStorageOperationsUpdateParams) => {\n const { settings } = params;\n\n const keys = createKeys(settings);\n\n const dbSettings: CmsSettingsDb = convertToDbData(settings);\n\n try {\n await entity.put({\n ...dbSettings,\n ...keys\n });\n return settings;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update settings.\",\n ex.code || \"UPDATE_SETTINGS_ERROR\",\n {\n error: ex,\n settings,\n dbSettings,\n keys\n }\n );\n }\n };\n\n const get = async (params: CmsSettingsStorageOperationsGetParams) => {\n const keys = createKeys(params);\n try {\n const record = await getRecord<CmsSettingsDb>({\n entity,\n keys\n });\n if (!record) {\n return null;\n }\n const settings = cleanupItem(entity, record) as CmsSettingsDb;\n return convertFromDbData(settings);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get settings.\",\n ex.code || \"GET_SETTINGS_ERROR\",\n {\n error: ex,\n keys\n }\n );\n }\n };\n\n return {\n create,\n get,\n update\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["convertToDbData","settings","contentModelLastChange","toISOString","convertFromDbData","Date","createPartitionKey","tenant","locale","createSortKey","createKeys","params","PK","SK","createSettingsStorageOperations","entity","create","keys","dbSettings","put","ex","WebinyError","message","code","error","update","get","record","getRecord","cleanupItem"],"sources":["index.ts"],"sourcesContent":["import {\n CmsSettings,\n CmsSettingsStorageOperations,\n CmsSettingsStorageOperationsCreateParams,\n CmsSettingsStorageOperationsGetParams,\n CmsSettingsStorageOperationsUpdateParams\n} from \"@webiny/api-headless-cms/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { get as getRecord } from \"@webiny/db-dynamodb/utils/get\";\nimport WebinyError from \"@webiny/error\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\n\ninterface CmsSettingsDb extends Omit<CmsSettings, \"contentModelLastChange\"> {\n contentModelLastChange: string;\n}\n\nconst convertToDbData = (settings: CmsSettings): CmsSettingsDb => {\n return {\n ...settings,\n contentModelLastChange: settings.contentModelLastChange.toISOString()\n };\n};\n\nconst convertFromDbData = (settings?: CmsSettingsDb): CmsSettings | null => {\n if (!settings) {\n return null;\n }\n let contentModelLastChange;\n try {\n contentModelLastChange = new Date(settings.contentModelLastChange);\n } catch {\n contentModelLastChange = new Date();\n }\n return {\n ...settings,\n contentModelLastChange\n };\n};\n\ninterface PartitionKeyParams {\n tenant: string;\n locale: string;\n}\n\nconst createPartitionKey = ({ tenant, locale }: PartitionKeyParams): string => {\n return `T#${tenant}#L#${locale}#CMS#SETTINGS`;\n};\n\nconst createSortKey = (): string => {\n return \"settings\";\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n}\nconst createKeys = (params: PartitionKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKey()\n };\n};\n\nexport interface CreateSettingsStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createSettingsStorageOperations = (\n params: CreateSettingsStorageOperationsParams\n): CmsSettingsStorageOperations => {\n const { entity } = params;\n\n const create = async (params: CmsSettingsStorageOperationsCreateParams) => {\n const { settings } = params;\n const keys = createKeys(settings);\n\n const dbSettings: CmsSettingsDb = convertToDbData(settings);\n\n try {\n await entity.put({\n ...dbSettings,\n ...keys\n });\n return settings;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create settings.\",\n ex.code || \"CREATE_SETTINGS_ERROR\",\n {\n error: ex,\n settings,\n dbSettings,\n keys\n }\n );\n }\n };\n\n const update = async (params: CmsSettingsStorageOperationsUpdateParams) => {\n const { settings } = params;\n\n const keys = createKeys(settings);\n\n const dbSettings: CmsSettingsDb = convertToDbData(settings);\n\n try {\n await entity.put({\n ...dbSettings,\n ...keys\n });\n return settings;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update settings.\",\n ex.code || \"UPDATE_SETTINGS_ERROR\",\n {\n error: ex,\n settings,\n dbSettings,\n keys\n }\n );\n }\n };\n\n const get = async (params: CmsSettingsStorageOperationsGetParams) => {\n const keys = createKeys(params);\n try {\n const record = await getRecord<CmsSettingsDb>({\n entity,\n keys\n });\n if (!record) {\n return null;\n }\n const settings = cleanupItem(entity, record) as CmsSettingsDb;\n return convertFromDbData(settings);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get settings.\",\n ex.code || \"GET_SETTINGS_ERROR\",\n {\n error: ex,\n keys\n }\n );\n }\n };\n\n return {\n create,\n get,\n update\n };\n};\n"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.createSystemStorageOperations = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _error = _interopRequireDefault(require("@webiny/error"));
13
13
 
@@ -15,10 +15,6 @@ var _get = require("@webiny/db-dynamodb/utils/get");
15
15
 
16
16
  var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
-
22
18
  const createPartitionKey = ({
23
19
  tenant
24
20
  }) => {
@@ -47,7 +43,7 @@ const createSystemStorageOperations = params => {
47
43
  const keys = createKeys(system);
48
44
 
49
45
  try {
50
- await entity.put(_objectSpread(_objectSpread({}, system), keys));
46
+ await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, system), keys));
51
47
  return system;
52
48
  } catch (ex) {
53
49
  throw new _error.default(ex.message || "Could not create system.", ex.code || "CREATE_SYSTEM_ERROR", {
@@ -65,7 +61,7 @@ const createSystemStorageOperations = params => {
65
61
  const keys = createKeys(system);
66
62
 
67
63
  try {
68
- await entity.put(_objectSpread(_objectSpread({}, system), keys));
64
+ await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, system), keys));
69
65
  return system;
70
66
  } catch (ex) {
71
67
  throw new _error.default(ex.message || "Could not update system.", ex.code || "UPDATE_SYSTEM_ERROR", {
@@ -1 +1 @@
1
- {"version":3,"names":["createPartitionKey","tenant","toLowerCase","createSortKey","createKeys","params","PK","SK","createSystemStorageOperations","entity","create","system","keys","put","ex","WebinyError","message","code","error","update","get","getRecord","cleanupItem"],"sources":["index.ts"],"sourcesContent":["import {\n CmsSystem,\n CmsSystemStorageOperations,\n CmsSystemStorageOperationsCreateParams,\n CmsSystemStorageOperationsGetParams,\n CmsSystemStorageOperationsUpdateParams\n} from \"@webiny/api-headless-cms/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport WebinyError from \"@webiny/error\";\nimport { get as getRecord } from \"@webiny/db-dynamodb/utils/get\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\n\nexport interface CreateSystemStorageOperationsParams {\n entity: Entity<any>;\n}\n\ninterface PartitionKeyParams {\n tenant: string;\n}\nconst createPartitionKey = ({ tenant }: PartitionKeyParams): string => {\n return `T#${tenant.toLowerCase()}#SYSTEM`;\n};\nconst createSortKey = (): string => {\n return \"CMS\";\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n}\nconst createKeys = (params: PartitionKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKey()\n };\n};\n\nexport const createSystemStorageOperations = (\n params: CreateSystemStorageOperationsParams\n): CmsSystemStorageOperations => {\n const { entity } = params;\n\n const create = async ({ system }: CmsSystemStorageOperationsCreateParams) => {\n const keys = createKeys(system);\n try {\n await entity.put({\n ...system,\n ...keys\n });\n return system;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create system.\",\n ex.code || \"CREATE_SYSTEM_ERROR\",\n {\n error: ex,\n system,\n keys\n }\n );\n }\n };\n\n const update = async (params: CmsSystemStorageOperationsUpdateParams) => {\n const { system } = params;\n\n const keys = createKeys(system);\n\n try {\n await entity.put({\n ...system,\n ...keys\n });\n return system;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update system.\",\n ex.code || \"UPDATE_SYSTEM_ERROR\",\n {\n error: ex,\n system,\n keys\n }\n );\n }\n };\n\n const get = async (params: CmsSystemStorageOperationsGetParams) => {\n const keys = createKeys(params);\n\n try {\n const system = await getRecord<CmsSystem>({\n entity,\n keys\n });\n return cleanupItem(entity, system);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get system.\",\n ex.code || \"GET_SYSTEM_ERROR\",\n {\n error: ex,\n keys\n }\n );\n }\n };\n\n return {\n create,\n update,\n get\n };\n};\n"],"mappings":";;;;;;;;;;;AAQA;;AACA;;AACA;;;;;;AASA,MAAMA,kBAAkB,GAAG,CAAC;EAAEC;AAAF,CAAD,KAA4C;EACnE,OAAQ,KAAIA,MAAM,CAACC,WAAP,EAAqB,SAAjC;AACH,CAFD;;AAGA,MAAMC,aAAa,GAAG,MAAc;EAChC,OAAO,KAAP;AACH,CAFD;;AAQA,MAAMC,UAAU,GAAIC,MAAD,IAAsC;EACrD,OAAO;IACHC,EAAE,EAAEN,kBAAkB,CAACK,MAAD,CADnB;IAEHE,EAAE,EAAEJ,aAAa;EAFd,CAAP;AAIH,CALD;;AAOO,MAAMK,6BAA6B,GACtCH,MADyC,IAEZ;EAC7B,MAAM;IAAEI;EAAF,IAAaJ,MAAnB;;EAEA,MAAMK,MAAM,GAAG,OAAO;IAAEC;EAAF,CAAP,KAA8D;IACzE,MAAMC,IAAI,GAAGR,UAAU,CAACO,MAAD,CAAvB;;IACA,IAAI;MACA,MAAMF,MAAM,CAACI,GAAP,iCACCF,MADD,GAECC,IAFD,EAAN;MAIA,OAAOD,MAAP;IACH,CAND,CAME,OAAOG,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,0BADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,qBAFT,EAGF;QACIC,KAAK,EAAEJ,EADX;QAEIH,MAFJ;QAGIC;MAHJ,CAHE,CAAN;IASH;EACJ,CAnBD;;EAqBA,MAAMO,MAAM,GAAG,MAAOd,MAAP,IAA0D;IACrE,MAAM;MAAEM;IAAF,IAAaN,MAAnB;IAEA,MAAMO,IAAI,GAAGR,UAAU,CAACO,MAAD,CAAvB;;IAEA,IAAI;MACA,MAAMF,MAAM,CAACI,GAAP,iCACCF,MADD,GAECC,IAFD,EAAN;MAIA,OAAOD,MAAP;IACH,CAND,CAME,OAAOG,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,0BADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,qBAFT,EAGF;QACIC,KAAK,EAAEJ,EADX;QAEIH,MAFJ;QAGIC;MAHJ,CAHE,CAAN;IASH;EACJ,CAtBD;;EAwBA,MAAMQ,GAAG,GAAG,MAAOf,MAAP,IAAuD;IAC/D,MAAMO,IAAI,GAAGR,UAAU,CAACC,MAAD,CAAvB;;IAEA,IAAI;MACA,MAAMM,MAAM,GAAG,MAAM,IAAAU,QAAA,EAAqB;QACtCZ,MADsC;QAEtCG;MAFsC,CAArB,CAArB;MAIA,OAAO,IAAAU,oBAAA,EAAYb,MAAZ,EAAoBE,MAApB,CAAP;IACH,CAND,CAME,OAAOG,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,uBADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,kBAFT,EAGF;QACIC,KAAK,EAAEJ,EADX;QAEIF;MAFJ,CAHE,CAAN;IAQH;EACJ,CAnBD;;EAqBA,OAAO;IACHF,MADG;IAEHS,MAFG;IAGHC;EAHG,CAAP;AAKH,CA5EM"}
1
+ {"version":3,"names":["createPartitionKey","tenant","toLowerCase","createSortKey","createKeys","params","PK","SK","createSystemStorageOperations","entity","create","system","keys","put","ex","WebinyError","message","code","error","update","get","getRecord","cleanupItem"],"sources":["index.ts"],"sourcesContent":["import {\n CmsSystem,\n CmsSystemStorageOperations,\n CmsSystemStorageOperationsCreateParams,\n CmsSystemStorageOperationsGetParams,\n CmsSystemStorageOperationsUpdateParams\n} from \"@webiny/api-headless-cms/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport WebinyError from \"@webiny/error\";\nimport { get as getRecord } from \"@webiny/db-dynamodb/utils/get\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\n\nexport interface CreateSystemStorageOperationsParams {\n entity: Entity<any>;\n}\n\ninterface PartitionKeyParams {\n tenant: string;\n}\nconst createPartitionKey = ({ tenant }: PartitionKeyParams): string => {\n return `T#${tenant.toLowerCase()}#SYSTEM`;\n};\nconst createSortKey = (): string => {\n return \"CMS\";\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n}\nconst createKeys = (params: PartitionKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKey()\n };\n};\n\nexport const createSystemStorageOperations = (\n params: CreateSystemStorageOperationsParams\n): CmsSystemStorageOperations => {\n const { entity } = params;\n\n const create = async ({ system }: CmsSystemStorageOperationsCreateParams) => {\n const keys = createKeys(system);\n try {\n await entity.put({\n ...system,\n ...keys\n });\n return system;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create system.\",\n ex.code || \"CREATE_SYSTEM_ERROR\",\n {\n error: ex,\n system,\n keys\n }\n );\n }\n };\n\n const update = async (params: CmsSystemStorageOperationsUpdateParams) => {\n const { system } = params;\n\n const keys = createKeys(system);\n\n try {\n await entity.put({\n ...system,\n ...keys\n });\n return system;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update system.\",\n ex.code || \"UPDATE_SYSTEM_ERROR\",\n {\n error: ex,\n system,\n keys\n }\n );\n }\n };\n\n const get = async (params: CmsSystemStorageOperationsGetParams) => {\n const keys = createKeys(params);\n\n try {\n const system = await getRecord<CmsSystem>({\n entity,\n keys\n });\n return cleanupItem(entity, system);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get system.\",\n ex.code || \"GET_SYSTEM_ERROR\",\n {\n error: ex,\n keys\n }\n );\n }\n };\n\n return {\n create,\n update,\n get\n };\n};\n"],"mappings":";;;;;;;;;;;AAQA;;AACA;;AACA;;AASA,MAAMA,kBAAkB,GAAG,CAAC;EAAEC;AAAF,CAAD,KAA4C;EACnE,OAAQ,KAAIA,MAAM,CAACC,WAAP,EAAqB,SAAjC;AACH,CAFD;;AAGA,MAAMC,aAAa,GAAG,MAAc;EAChC,OAAO,KAAP;AACH,CAFD;;AAQA,MAAMC,UAAU,GAAIC,MAAD,IAAsC;EACrD,OAAO;IACHC,EAAE,EAAEN,kBAAkB,CAACK,MAAD,CADnB;IAEHE,EAAE,EAAEJ,aAAa;EAFd,CAAP;AAIH,CALD;;AAOO,MAAMK,6BAA6B,GACtCH,MADyC,IAEZ;EAC7B,MAAM;IAAEI;EAAF,IAAaJ,MAAnB;;EAEA,MAAMK,MAAM,GAAG,OAAO;IAAEC;EAAF,CAAP,KAA8D;IACzE,MAAMC,IAAI,GAAGR,UAAU,CAACO,MAAD,CAAvB;;IACA,IAAI;MACA,MAAMF,MAAM,CAACI,GAAP,6DACCF,MADD,GAECC,IAFD,EAAN;MAIA,OAAOD,MAAP;IACH,CAND,CAME,OAAOG,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,0BADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,qBAFT,EAGF;QACIC,KAAK,EAAEJ,EADX;QAEIH,MAFJ;QAGIC;MAHJ,CAHE,CAAN;IASH;EACJ,CAnBD;;EAqBA,MAAMO,MAAM,GAAG,MAAOd,MAAP,IAA0D;IACrE,MAAM;MAAEM;IAAF,IAAaN,MAAnB;IAEA,MAAMO,IAAI,GAAGR,UAAU,CAACO,MAAD,CAAvB;;IAEA,IAAI;MACA,MAAMF,MAAM,CAACI,GAAP,6DACCF,MADD,GAECC,IAFD,EAAN;MAIA,OAAOD,MAAP;IACH,CAND,CAME,OAAOG,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,0BADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,qBAFT,EAGF;QACIC,KAAK,EAAEJ,EADX;QAEIH,MAFJ;QAGIC;MAHJ,CAHE,CAAN;IASH;EACJ,CAtBD;;EAwBA,MAAMQ,GAAG,GAAG,MAAOf,MAAP,IAAuD;IAC/D,MAAMO,IAAI,GAAGR,UAAU,CAACC,MAAD,CAAvB;;IAEA,IAAI;MACA,MAAMM,MAAM,GAAG,MAAM,IAAAU,QAAA,EAAqB;QACtCZ,MADsC;QAEtCG;MAFsC,CAArB,CAArB;MAIA,OAAO,IAAAU,oBAAA,EAAYb,MAAZ,EAAoBE,MAApB,CAAP;IACH,CAND,CAME,OAAOG,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,uBADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,kBAFT,EAGF;QACIC,KAAK,EAAEJ,EADX;QAEIF;MAFJ,CAHE,CAAN;IAQH;EACJ,CAnBD;;EAqBA,OAAO;IACHF,MADG;IAEHS,MAFG;IAGHC;EAHG,CAAP;AAKH,CA5EM"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms-ddb-es",
3
- "version": "5.33.5",
3
+ "version": "5.34.0-beta.0",
4
4
  "main": "index.js",
5
5
  "keywords": [
6
6
  "@webiny/api-headless-cms",
@@ -22,31 +22,30 @@
22
22
  ],
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
- "@babel/runtime": "7.18.9",
26
- "@webiny/api": "5.33.5",
27
- "@webiny/api-elasticsearch": "5.33.5",
28
- "@webiny/api-headless-cms": "5.33.5",
29
- "@webiny/db-dynamodb": "5.33.5",
30
- "@webiny/error": "5.33.5",
31
- "@webiny/handler-db": "5.33.5",
32
- "@webiny/plugins": "5.33.5",
33
- "@webiny/utils": "5.33.5",
25
+ "@babel/runtime": "7.19.0",
26
+ "@webiny/api": "5.34.0-beta.0",
27
+ "@webiny/api-elasticsearch": "5.34.0-beta.0",
28
+ "@webiny/api-headless-cms": "5.34.0-beta.0",
29
+ "@webiny/db-dynamodb": "5.34.0-beta.0",
30
+ "@webiny/error": "5.34.0-beta.0",
31
+ "@webiny/handler-db": "5.34.0-beta.0",
32
+ "@webiny/plugins": "5.34.0-beta.0",
33
+ "@webiny/utils": "5.34.0-beta.0",
34
34
  "dataloader": "2.1.0",
35
35
  "dynamodb-toolbox": "0.3.5",
36
36
  "jsonpack": "1.1.5",
37
37
  "lodash": "4.17.21"
38
38
  },
39
39
  "devDependencies": {
40
- "@babel/cli": "^7.16.0",
41
- "@babel/core": "^7.16.0",
42
- "@babel/preset-env": "^7.16.4",
43
- "@babel/preset-flow": "^7.16.0",
40
+ "@babel/cli": "^7.19.3",
41
+ "@babel/core": "^7.19.3",
42
+ "@babel/preset-env": "^7.19.4",
44
43
  "@elastic/elasticsearch": "7.12.0",
45
44
  "@types/jsonpack": "^1.1.0",
46
- "@webiny/api-dynamodb-to-elasticsearch": "^5.33.5",
47
- "@webiny/cli": "^5.33.5",
48
- "@webiny/handler-aws": "^5.33.5",
49
- "@webiny/project-utils": "^5.33.5",
45
+ "@webiny/api-dynamodb-to-elasticsearch": "^5.34.0-beta.0",
46
+ "@webiny/cli": "^5.34.0-beta.0",
47
+ "@webiny/handler-aws": "^5.34.0-beta.0",
48
+ "@webiny/project-utils": "^5.34.0-beta.0",
50
49
  "jest": "^28.1.0",
51
50
  "jest-dynalite": "^3.2.0",
52
51
  "jest-environment-node": "^27.2.4",
@@ -65,5 +64,5 @@
65
64
  "build": "yarn webiny run build",
66
65
  "watch": "yarn webiny run watch"
67
66
  },
68
- "gitHead": "5063045cd2abdcdb360f97262f9b90b8858ec1df"
67
+ "gitHead": "9648454619a1bfb35040eb00f27a64ed75194e61"
69
68
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -0,0 +1,49 @@
1
+ import { Plugin } from "@webiny/plugins";
2
+ import { ValueFilterPlugin } from "@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin";
3
+ import { ModelField, ModelFields } from "../operations/entry/elasticsearch/types";
4
+ import { ElasticsearchBoolQueryConfig } from "@webiny/api-elasticsearch/types";
5
+ interface CmsEntryFilterPluginConfig {
6
+ fieldType: string;
7
+ exec: (params: ExecParams) => void;
8
+ }
9
+ interface ApplyParams {
10
+ key: string;
11
+ value: any;
12
+ query: ElasticsearchBoolQueryConfig;
13
+ operator: string;
14
+ field: ModelField;
15
+ }
16
+ export interface ApplyFilteringCb {
17
+ (params: ApplyParams): void;
18
+ }
19
+ export interface GetFilterPluginCb {
20
+ (type: string): CmsEntryFilterPlugin;
21
+ }
22
+ interface ExecParams {
23
+ applyFiltering: ApplyFilteringCb;
24
+ getFilterPlugin: GetFilterPluginCb;
25
+ key: string;
26
+ value: any;
27
+ operator: string;
28
+ field: ModelField;
29
+ fields: ModelFields;
30
+ query: ElasticsearchBoolQueryConfig;
31
+ }
32
+ export interface CmsEntryFilterPluginCreateResponse {
33
+ field: ModelField;
34
+ path: string;
35
+ fieldPathId: string;
36
+ plugin: ValueFilterPlugin;
37
+ negate: boolean;
38
+ compareValue: any;
39
+ transformValue: <I = any, O = any>(value: I) => O;
40
+ }
41
+ export declare class CmsEntryFilterPlugin extends Plugin {
42
+ static readonly type: string;
43
+ static readonly ALL: string;
44
+ private readonly config;
45
+ readonly fieldType: string;
46
+ constructor(config: CmsEntryFilterPluginConfig);
47
+ exec(params: ExecParams): void;
48
+ }
49
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.CmsEntryFilterPlugin = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _plugins = require("@webiny/plugins");
13
+
14
+ class CmsEntryFilterPlugin extends _plugins.Plugin {
15
+ constructor(config) {
16
+ super();
17
+ (0, _defineProperty2.default)(this, "config", void 0);
18
+ (0, _defineProperty2.default)(this, "fieldType", void 0);
19
+ this.config = config;
20
+ this.fieldType = this.config.fieldType;
21
+ }
22
+
23
+ exec(params) {
24
+ return this.config.exec(params);
25
+ }
26
+
27
+ }
28
+
29
+ exports.CmsEntryFilterPlugin = CmsEntryFilterPlugin;
30
+ (0, _defineProperty2.default)(CmsEntryFilterPlugin, "type", "cms.elasticsearch.entry.filter");
31
+ (0, _defineProperty2.default)(CmsEntryFilterPlugin, "ALL", "*");
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsEntryFilterPlugin","Plugin","constructor","config","fieldType","exec","params"],"sources":["CmsEntryFilterPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport { ValueFilterPlugin } from \"@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin\";\nimport { ModelField, ModelFields } from \"~/operations/entry/elasticsearch/types\";\nimport { ElasticsearchBoolQueryConfig } from \"@webiny/api-elasticsearch/types\";\n\ninterface CmsEntryFilterPluginConfig {\n fieldType: string;\n exec: (params: ExecParams) => void;\n}\ninterface ApplyParams {\n key: string;\n value: any;\n query: ElasticsearchBoolQueryConfig;\n operator: string;\n field: ModelField;\n}\nexport interface ApplyFilteringCb {\n (params: ApplyParams): void;\n}\n\nexport interface GetFilterPluginCb {\n (type: string): CmsEntryFilterPlugin;\n}\n\ninterface ExecParams {\n applyFiltering: ApplyFilteringCb;\n getFilterPlugin: GetFilterPluginCb;\n key: string;\n value: any;\n operator: string;\n field: ModelField;\n fields: ModelFields;\n query: ElasticsearchBoolQueryConfig;\n}\n\nexport interface CmsEntryFilterPluginCreateResponse {\n field: ModelField;\n path: string;\n fieldPathId: string;\n plugin: ValueFilterPlugin;\n negate: boolean;\n compareValue: any;\n transformValue: <I = any, O = any>(value: I) => O;\n}\n\nexport class CmsEntryFilterPlugin extends Plugin {\n public static override readonly type: string = \"cms.elasticsearch.entry.filter\";\n public static readonly ALL: string = \"*\";\n\n private readonly config: CmsEntryFilterPluginConfig;\n public readonly fieldType: string;\n\n public constructor(config: CmsEntryFilterPluginConfig) {\n super();\n this.config = config;\n this.fieldType = this.config.fieldType;\n }\n\n public exec(params: ExecParams) {\n return this.config.exec(params);\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AA6CO,MAAMA,oBAAN,SAAmCC,eAAnC,CAA0C;EAOtCC,WAAW,CAACC,MAAD,EAAqC;IACnD;IADmD;IAAA;IAEnD,KAAKA,MAAL,GAAcA,MAAd;IACA,KAAKC,SAAL,GAAiB,KAAKD,MAAL,CAAYC,SAA7B;EACH;;EAEMC,IAAI,CAACC,MAAD,EAAqB;IAC5B,OAAO,KAAKH,MAAL,CAAYE,IAAZ,CAAiBC,MAAjB,CAAP;EACH;;AAf4C;;;8BAApCN,oB,UACsC,gC;8BADtCA,oB,SAE4B,G"}
@@ -1,11 +0,0 @@
1
- import { CmsEntryListParams, CmsModel } from "@webiny/api-headless-cms/types";
2
- import { SearchBody as esSearchBody } from "@webiny/api-elasticsearch/types";
3
- import { PluginsContainer } from "@webiny/plugins";
4
- interface CreateElasticsearchParams {
5
- plugins: PluginsContainer;
6
- model: CmsModel;
7
- args: CmsEntryListParams;
8
- parentPath?: string;
9
- }
10
- export declare const createElasticsearchQueryBody: (params: CreateElasticsearchParams) => esSearchBody;
11
- export {};