@webiny/api-page-builder-so-ddb-es 0.0.0-ee-vpcs.549378cf03

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 (186) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +30 -0
  3. package/configurations.d.ts +9 -0
  4. package/configurations.js +49 -0
  5. package/configurations.js.map +1 -0
  6. package/definitions/blockCategoryEntity.d.ts +9 -0
  7. package/definitions/blockCategoryEntity.js +61 -0
  8. package/definitions/blockCategoryEntity.js.map +1 -0
  9. package/definitions/categoryEntity.d.ts +9 -0
  10. package/definitions/categoryEntity.js +61 -0
  11. package/definitions/categoryEntity.js.map +1 -0
  12. package/definitions/menuEntity.d.ts +9 -0
  13. package/definitions/menuEntity.js +61 -0
  14. package/definitions/menuEntity.js.map +1 -0
  15. package/definitions/pageBlockEntity.d.ts +9 -0
  16. package/definitions/pageBlockEntity.js +64 -0
  17. package/definitions/pageBlockEntity.js.map +1 -0
  18. package/definitions/pageElasticsearchEntity.d.ts +9 -0
  19. package/definitions/pageElasticsearchEntity.js +40 -0
  20. package/definitions/pageElasticsearchEntity.js.map +1 -0
  21. package/definitions/pageElementEntity.d.ts +9 -0
  22. package/definitions/pageElementEntity.js +67 -0
  23. package/definitions/pageElementEntity.js.map +1 -0
  24. package/definitions/pageEntity.d.ts +9 -0
  25. package/definitions/pageEntity.js +97 -0
  26. package/definitions/pageEntity.js.map +1 -0
  27. package/definitions/settingsEntity.d.ts +9 -0
  28. package/definitions/settingsEntity.js +77 -0
  29. package/definitions/settingsEntity.js.map +1 -0
  30. package/definitions/systemEntity.d.ts +9 -0
  31. package/definitions/systemEntity.js +40 -0
  32. package/definitions/systemEntity.js.map +1 -0
  33. package/definitions/table.d.ts +9 -0
  34. package/definitions/table.js +24 -0
  35. package/definitions/table.js.map +1 -0
  36. package/definitions/tableElasticsearch.d.ts +9 -0
  37. package/definitions/tableElasticsearch.js +24 -0
  38. package/definitions/tableElasticsearch.js.map +1 -0
  39. package/elasticsearch/createElasticsearchIndex.d.ts +9 -0
  40. package/elasticsearch/createElasticsearchIndex.js +60 -0
  41. package/elasticsearch/createElasticsearchIndex.js.map +1 -0
  42. package/elasticsearch/indices/base.d.ts +2 -0
  43. package/elasticsearch/indices/base.js +15 -0
  44. package/elasticsearch/indices/base.js.map +1 -0
  45. package/elasticsearch/indices/index.d.ts +1 -0
  46. package/elasticsearch/indices/index.js +16 -0
  47. package/elasticsearch/indices/index.js.map +1 -0
  48. package/elasticsearch/indices/japanese.d.ts +2 -0
  49. package/elasticsearch/indices/japanese.js +16 -0
  50. package/elasticsearch/indices/japanese.js.map +1 -0
  51. package/index.d.ts +2 -0
  52. package/index.js +233 -0
  53. package/index.js.map +1 -0
  54. package/operations/blockCategory/dataLoader.d.ts +16 -0
  55. package/operations/blockCategory/dataLoader.js +79 -0
  56. package/operations/blockCategory/dataLoader.js.map +1 -0
  57. package/operations/blockCategory/fields.d.ts +2 -0
  58. package/operations/blockCategory/fields.js +28 -0
  59. package/operations/blockCategory/fields.js.map +1 -0
  60. package/operations/blockCategory/index.d.ts +8 -0
  61. package/operations/blockCategory/index.js +208 -0
  62. package/operations/blockCategory/index.js.map +1 -0
  63. package/operations/blockCategory/keys.d.ts +9 -0
  64. package/operations/blockCategory/keys.js +25 -0
  65. package/operations/blockCategory/keys.js.map +1 -0
  66. package/operations/category/dataLoader.d.ts +16 -0
  67. package/operations/category/dataLoader.js +79 -0
  68. package/operations/category/dataLoader.js.map +1 -0
  69. package/operations/category/fields.d.ts +2 -0
  70. package/operations/category/fields.js +28 -0
  71. package/operations/category/fields.js.map +1 -0
  72. package/operations/category/index.d.ts +8 -0
  73. package/operations/category/index.js +208 -0
  74. package/operations/category/index.js.map +1 -0
  75. package/operations/category/keys.d.ts +9 -0
  76. package/operations/category/keys.js +25 -0
  77. package/operations/category/keys.js.map +1 -0
  78. package/operations/menu/fields.d.ts +2 -0
  79. package/operations/menu/fields.js +27 -0
  80. package/operations/menu/fields.js.map +1 -0
  81. package/operations/menu/index.d.ts +8 -0
  82. package/operations/menu/index.js +217 -0
  83. package/operations/menu/index.js.map +1 -0
  84. package/operations/pageBlock/dataLoader.d.ts +16 -0
  85. package/operations/pageBlock/dataLoader.js +79 -0
  86. package/operations/pageBlock/dataLoader.js.map +1 -0
  87. package/operations/pageBlock/fields.d.ts +2 -0
  88. package/operations/pageBlock/fields.js +25 -0
  89. package/operations/pageBlock/fields.js.map +1 -0
  90. package/operations/pageBlock/index.d.ts +8 -0
  91. package/operations/pageBlock/index.js +208 -0
  92. package/operations/pageBlock/index.js.map +1 -0
  93. package/operations/pageBlock/keys.d.ts +9 -0
  94. package/operations/pageBlock/keys.js +25 -0
  95. package/operations/pageBlock/keys.js.map +1 -0
  96. package/operations/pageElement/fields.d.ts +2 -0
  97. package/operations/pageElement/fields.js +19 -0
  98. package/operations/pageElement/fields.js.map +1 -0
  99. package/operations/pageElement/index.d.ts +8 -0
  100. package/operations/pageElement/index.js +207 -0
  101. package/operations/pageElement/index.js.map +1 -0
  102. package/operations/pages/elasticsearchQueryBody.d.ts +12 -0
  103. package/operations/pages/elasticsearchQueryBody.js +237 -0
  104. package/operations/pages/elasticsearchQueryBody.js.map +1 -0
  105. package/operations/pages/fields.d.ts +4 -0
  106. package/operations/pages/fields.js +54 -0
  107. package/operations/pages/fields.js.map +1 -0
  108. package/operations/pages/helpers.d.ts +35 -0
  109. package/operations/pages/helpers.js +83 -0
  110. package/operations/pages/helpers.js.map +1 -0
  111. package/operations/pages/index.d.ts +11 -0
  112. package/operations/pages/index.js +829 -0
  113. package/operations/pages/index.js.map +1 -0
  114. package/operations/pages/keys.d.ts +24 -0
  115. package/operations/pages/keys.js +79 -0
  116. package/operations/pages/keys.js.map +1 -0
  117. package/operations/settings/index.d.ts +6 -0
  118. package/operations/settings/index.js +178 -0
  119. package/operations/settings/index.js.map +1 -0
  120. package/operations/system/index.d.ts +6 -0
  121. package/operations/system/index.js +104 -0
  122. package/operations/system/index.js.map +1 -0
  123. package/package.json +65 -0
  124. package/plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin.d.ts +4 -0
  125. package/plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin.js +17 -0
  126. package/plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin.js.map +1 -0
  127. package/plugins/definitions/CategoryDynamoDbElasticFieldPlugin.d.ts +4 -0
  128. package/plugins/definitions/CategoryDynamoDbElasticFieldPlugin.js +17 -0
  129. package/plugins/definitions/CategoryDynamoDbElasticFieldPlugin.js.map +1 -0
  130. package/plugins/definitions/IndexPageDataPlugin.d.ts +17 -0
  131. package/plugins/definitions/IndexPageDataPlugin.js +32 -0
  132. package/plugins/definitions/IndexPageDataPlugin.js.map +1 -0
  133. package/plugins/definitions/MenuDynamoDbElasticFieldPlugin.d.ts +4 -0
  134. package/plugins/definitions/MenuDynamoDbElasticFieldPlugin.js +17 -0
  135. package/plugins/definitions/MenuDynamoDbElasticFieldPlugin.js.map +1 -0
  136. package/plugins/definitions/PageBlockDynamoDbFieldPlugin.d.ts +4 -0
  137. package/plugins/definitions/PageBlockDynamoDbFieldPlugin.js +17 -0
  138. package/plugins/definitions/PageBlockDynamoDbFieldPlugin.js.map +1 -0
  139. package/plugins/definitions/PageDynamoDbElasticsearchFieldPlugin.d.ts +4 -0
  140. package/plugins/definitions/PageDynamoDbElasticsearchFieldPlugin.js +17 -0
  141. package/plugins/definitions/PageDynamoDbElasticsearchFieldPlugin.js.map +1 -0
  142. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.d.ts +4 -0
  143. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.js +17 -0
  144. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.js.map +1 -0
  145. package/plugins/definitions/PageElasticsearchFieldPlugin.d.ts +4 -0
  146. package/plugins/definitions/PageElasticsearchFieldPlugin.js +17 -0
  147. package/plugins/definitions/PageElasticsearchFieldPlugin.js.map +1 -0
  148. package/plugins/definitions/PageElasticsearchIndexPlugin.d.ts +4 -0
  149. package/plugins/definitions/PageElasticsearchIndexPlugin.js +17 -0
  150. package/plugins/definitions/PageElasticsearchIndexPlugin.js.map +1 -0
  151. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.d.ts +4 -0
  152. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.js +17 -0
  153. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.js.map +1 -0
  154. package/plugins/definitions/PageElasticsearchSortModifierPlugin.d.ts +4 -0
  155. package/plugins/definitions/PageElasticsearchSortModifierPlugin.js +17 -0
  156. package/plugins/definitions/PageElasticsearchSortModifierPlugin.js.map +1 -0
  157. package/plugins/definitions/PageElementDynamoDbElasticFieldPlugin.d.ts +4 -0
  158. package/plugins/definitions/PageElementDynamoDbElasticFieldPlugin.js +17 -0
  159. package/plugins/definitions/PageElementDynamoDbElasticFieldPlugin.js.map +1 -0
  160. package/plugins/definitions/SearchLatestPagesPlugin.d.ts +4 -0
  161. package/plugins/definitions/SearchLatestPagesPlugin.js +17 -0
  162. package/plugins/definitions/SearchLatestPagesPlugin.js.map +1 -0
  163. package/plugins/definitions/SearchPagesPlugin.d.ts +23 -0
  164. package/plugins/definitions/SearchPagesPlugin.js +39 -0
  165. package/plugins/definitions/SearchPagesPlugin.js.map +1 -0
  166. package/plugins/definitions/SearchPublishedPagesPlugin.d.ts +4 -0
  167. package/plugins/definitions/SearchPublishedPagesPlugin.js +17 -0
  168. package/plugins/definitions/SearchPublishedPagesPlugin.js.map +1 -0
  169. package/types.d.ts +39 -0
  170. package/types.js +20 -0
  171. package/types.js.map +1 -0
  172. package/upgrades/index.d.ts +2 -0
  173. package/upgrades/index.js +14 -0
  174. package/upgrades/index.js.map +1 -0
  175. package/upgrades/v5.15.0/category.d.ts +2 -0
  176. package/upgrades/v5.15.0/category.js +73 -0
  177. package/upgrades/v5.15.0/category.js.map +1 -0
  178. package/upgrades/v5.15.0/index.d.ts +4 -0
  179. package/upgrades/v5.15.0/index.js +52 -0
  180. package/upgrades/v5.15.0/index.js.map +1 -0
  181. package/upgrades/v5.15.0/menu.d.ts +2 -0
  182. package/upgrades/v5.15.0/menu.js +73 -0
  183. package/upgrades/v5.15.0/menu.js.map +1 -0
  184. package/upgrades/v5.15.0/pageElement.d.ts +2 -0
  185. package/upgrades/v5.15.0/pageElement.js +73 -0
  186. package/upgrades/v5.15.0/pageElement.js.map +1 -0
package/index.js ADDED
@@ -0,0 +1,233 @@
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.createStorageOperations = void 0;
9
+
10
+ var _filters = _interopRequireDefault(require("@webiny/db-dynamodb/plugins/filters"));
11
+
12
+ var _plugins = require("@webiny/plugins");
13
+
14
+ var _operators = require("@webiny/api-elasticsearch/operators");
15
+
16
+ var _types = require("./types");
17
+
18
+ var _table = require("./definitions/table");
19
+
20
+ var _tableElasticsearch = require("./definitions/tableElasticsearch");
21
+
22
+ var _indices = require("./elasticsearch/indices");
23
+
24
+ var _createElasticsearchIndex = require("./elasticsearch/createElasticsearchIndex");
25
+
26
+ var _categoryEntity = require("./definitions/categoryEntity");
27
+
28
+ var _fields = require("./operations/category/fields");
29
+
30
+ var _category = require("./operations/category");
31
+
32
+ var _menuEntity = require("./definitions/menuEntity");
33
+
34
+ var _fields2 = require("./operations/menu/fields");
35
+
36
+ var _menu = require("./operations/menu");
37
+
38
+ var _pageElementEntity = require("./definitions/pageElementEntity");
39
+
40
+ var _fields3 = require("./operations/pageElement/fields");
41
+
42
+ var _pageElement = require("./operations/pageElement");
43
+
44
+ var _settingsEntity = require("./definitions/settingsEntity");
45
+
46
+ var _settings = require("./operations/settings");
47
+
48
+ var _systemEntity = require("./definitions/systemEntity");
49
+
50
+ var _system = require("./operations/system");
51
+
52
+ var _pageEntity = require("./definitions/pageEntity");
53
+
54
+ var _fields4 = require("./operations/pages/fields");
55
+
56
+ var _pages = require("./operations/pages");
57
+
58
+ var _pageElasticsearchEntity = require("./definitions/pageElasticsearchEntity");
59
+
60
+ var _blockCategoryEntity = require("./definitions/blockCategoryEntity");
61
+
62
+ var _fields5 = require("./operations/blockCategory/fields");
63
+
64
+ var _blockCategory = require("./operations/blockCategory");
65
+
66
+ var _pageBlockEntity = require("./definitions/pageBlockEntity");
67
+
68
+ var _fields6 = require("./operations/pageBlock/fields");
69
+
70
+ var _pageBlock = require("./operations/pageBlock");
71
+
72
+ const createStorageOperations = params => {
73
+ const {
74
+ documentClient,
75
+ elasticsearch,
76
+ table,
77
+ esTable,
78
+ attributes,
79
+ plugins: userPlugins
80
+ } = params;
81
+ const tableInstance = (0, _table.createTable)({
82
+ table,
83
+ documentClient
84
+ });
85
+ const tableElasticsearchInstance = (0, _tableElasticsearch.createElasticsearchTable)({
86
+ table: esTable,
87
+ documentClient
88
+ });
89
+ const plugins = new _plugins.PluginsContainer([
90
+ /**
91
+ * User defined custom plugins.
92
+ */
93
+ ...(userPlugins || []),
94
+ /**
95
+ * DynamoDB filter plugins for the where conditions.
96
+ */
97
+ (0, _filters.default)(),
98
+ /**
99
+ * Elasticsearch operators.
100
+ */
101
+ (0, _operators.getElasticsearchOperators)(),
102
+ /**
103
+ * Category fields required for filtering/sorting.
104
+ */
105
+ (0, _fields.createCategoryDynamoDbFields)(),
106
+ /**
107
+ * Menu fields required for filtering/sorting.
108
+ */
109
+ (0, _fields2.createMenuDynamoDbFields)(),
110
+ /**
111
+ * Page element fields required for filtering/sorting.
112
+ */
113
+ (0, _fields3.createPageElementDynamoDbFields)(),
114
+ /**
115
+ * Page fields required for filtering/sorting.
116
+ */
117
+ (0, _fields4.createPagesElasticsearchFields)(),
118
+ /**
119
+ * Page fields required for filtering/sorting when using dynamodb.
120
+ */
121
+ (0, _fields4.createPagesDynamoDbFields)(),
122
+ /**
123
+ * Built-in Elasticsearch index templates
124
+ */
125
+ (0, _indices.elasticsearchIndexPlugins)(),
126
+ /**
127
+ * Block Category fields required for filtering/sorting.
128
+ */
129
+ (0, _fields5.createBlockCategoryDynamoDbFields)(),
130
+ /**
131
+ * Page Block fields required for filtering/sorting.
132
+ */
133
+ (0, _fields6.createPageBlockDynamoDbFields)()]);
134
+ const entities = {
135
+ settings: (0, _settingsEntity.createSettingsEntity)({
136
+ entityName: _types.ENTITIES.SETTINGS,
137
+ table: tableInstance,
138
+ attributes: attributes ? attributes[_types.ENTITIES.SETTINGS] : {}
139
+ }),
140
+ system: (0, _systemEntity.createSystemEntity)({
141
+ entityName: _types.ENTITIES.SYSTEM,
142
+ table: tableInstance,
143
+ attributes: attributes ? attributes[_types.ENTITIES.SYSTEM] : {}
144
+ }),
145
+ categories: (0, _categoryEntity.createCategoryEntity)({
146
+ entityName: _types.ENTITIES.CATEGORIES,
147
+ table: tableInstance,
148
+ attributes: attributes ? attributes[_types.ENTITIES.CATEGORIES] : {}
149
+ }),
150
+ menus: (0, _menuEntity.createMenuEntity)({
151
+ entityName: _types.ENTITIES.MENUS,
152
+ table: tableInstance,
153
+ attributes: attributes ? attributes[_types.ENTITIES.MENUS] : {}
154
+ }),
155
+ pageElements: (0, _pageElementEntity.createPageElementEntity)({
156
+ entityName: _types.ENTITIES.PAGE_ELEMENTS,
157
+ table: tableInstance,
158
+ attributes: attributes ? attributes[_types.ENTITIES.PAGE_ELEMENTS] : {}
159
+ }),
160
+ pages: (0, _pageEntity.createPageEntity)({
161
+ entityName: _types.ENTITIES.PAGES,
162
+ table: tableInstance,
163
+ attributes: attributes ? attributes[_types.ENTITIES.PAGES] : {}
164
+ }),
165
+ pagesEs: (0, _pageElasticsearchEntity.createPageElasticsearchEntity)({
166
+ entityName: _types.ENTITIES.PAGES_ES,
167
+ table: tableElasticsearchInstance,
168
+ attributes: attributes ? attributes[_types.ENTITIES.PAGES_ES] : {}
169
+ }),
170
+ blockCategories: (0, _blockCategoryEntity.createBlockCategoryEntity)({
171
+ entityName: _types.ENTITIES.BLOCK_CATEGORIES,
172
+ table: tableInstance,
173
+ attributes: attributes ? attributes[_types.ENTITIES.BLOCK_CATEGORIES] : {}
174
+ }),
175
+ pageBlocks: (0, _pageBlockEntity.createPageBlockEntity)({
176
+ entityName: _types.ENTITIES.PAGE_BLOCKS,
177
+ table: tableInstance,
178
+ attributes: attributes ? attributes[_types.ENTITIES.PAGE_BLOCKS] : {}
179
+ })
180
+ };
181
+ return {
182
+ init: async context => {
183
+ context.i18n.locales.onLocaleBeforeCreate.subscribe(async ({
184
+ locale,
185
+ tenant
186
+ }) => {
187
+ await (0, _createElasticsearchIndex.createElasticsearchIndex)({
188
+ elasticsearch,
189
+ plugins,
190
+ locale: locale.code,
191
+ tenant
192
+ });
193
+ });
194
+ },
195
+ getEntities: () => entities,
196
+ getTable: () => tableInstance,
197
+ getEsTable: () => tableElasticsearchInstance,
198
+ system: (0, _system.createSystemStorageOperations)({
199
+ entity: entities.system
200
+ }),
201
+ settings: (0, _settings.createSettingsStorageOperations)({
202
+ entity: entities.settings
203
+ }),
204
+ categories: (0, _category.createCategoryStorageOperations)({
205
+ entity: entities.categories,
206
+ plugins
207
+ }),
208
+ menus: (0, _menu.createMenuStorageOperations)({
209
+ entity: entities.menus,
210
+ plugins
211
+ }),
212
+ pageElements: (0, _pageElement.createPageElementStorageOperations)({
213
+ entity: entities.pageElements,
214
+ plugins
215
+ }),
216
+ pages: (0, _pages.createPageStorageOperations)({
217
+ entity: entities.pages,
218
+ esEntity: entities.pagesEs,
219
+ elasticsearch,
220
+ plugins
221
+ }),
222
+ blockCategories: (0, _blockCategory.createBlockCategoryStorageOperations)({
223
+ entity: entities.blockCategories,
224
+ plugins
225
+ }),
226
+ pageBlocks: (0, _pageBlock.createPageBlockStorageOperations)({
227
+ entity: entities.pageBlocks,
228
+ plugins
229
+ })
230
+ };
231
+ };
232
+
233
+ exports.createStorageOperations = createStorageOperations;
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createStorageOperations","params","documentClient","elasticsearch","table","esTable","attributes","plugins","userPlugins","tableInstance","createTable","tableElasticsearchInstance","createElasticsearchTable","PluginsContainer","dynamoDbValueFilters","getElasticsearchOperators","createCategoryDynamoDbFields","createMenuDynamoDbFields","createPageElementDynamoDbFields","createPagesElasticsearchFields","createPagesDynamoDbFields","elasticsearchIndexPlugins","createBlockCategoryDynamoDbFields","createPageBlockDynamoDbFields","entities","settings","createSettingsEntity","entityName","ENTITIES","SETTINGS","system","createSystemEntity","SYSTEM","categories","createCategoryEntity","CATEGORIES","menus","createMenuEntity","MENUS","pageElements","createPageElementEntity","PAGE_ELEMENTS","pages","createPageEntity","PAGES","pagesEs","createPageElasticsearchEntity","PAGES_ES","blockCategories","createBlockCategoryEntity","BLOCK_CATEGORIES","pageBlocks","createPageBlockEntity","PAGE_BLOCKS","init","context","i18n","locales","onLocaleBeforeCreate","subscribe","locale","tenant","createElasticsearchIndex","code","getEntities","getTable","getEsTable","createSystemStorageOperations","entity","createSettingsStorageOperations","createCategoryStorageOperations","createMenuStorageOperations","createPageElementStorageOperations","createPageStorageOperations","esEntity","createBlockCategoryStorageOperations","createPageBlockStorageOperations"],"sources":["index.ts"],"sourcesContent":["import dynamoDbValueFilters from \"@webiny/db-dynamodb/plugins/filters\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { getElasticsearchOperators } from \"@webiny/api-elasticsearch/operators\";\n\nimport { ENTITIES, StorageOperationsFactory } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createElasticsearchTable } from \"~/definitions/tableElasticsearch\";\nimport { elasticsearchIndexPlugins } from \"~/elasticsearch/indices\";\nimport { createElasticsearchIndex } from \"~/elasticsearch/createElasticsearchIndex\";\n\nimport { createCategoryEntity } from \"~/definitions/categoryEntity\";\nimport { createCategoryDynamoDbFields } from \"~/operations/category/fields\";\nimport { createCategoryStorageOperations } from \"~/operations/category\";\n\nimport { createMenuEntity } from \"~/definitions/menuEntity\";\nimport { createMenuDynamoDbFields } from \"~/operations/menu/fields\";\nimport { createMenuStorageOperations } from \"~/operations/menu\";\n\nimport { createPageElementEntity } from \"~/definitions/pageElementEntity\";\nimport { createPageElementDynamoDbFields } from \"~/operations/pageElement/fields\";\nimport { createPageElementStorageOperations } from \"~/operations/pageElement\";\n\nimport { createSettingsEntity } from \"~/definitions/settingsEntity\";\nimport { createSettingsStorageOperations } from \"~/operations/settings\";\n\nimport { createSystemEntity } from \"~/definitions/systemEntity\";\nimport { createSystemStorageOperations } from \"~/operations/system\";\n\nimport { createPageEntity } from \"~/definitions/pageEntity\";\nimport {\n createPagesElasticsearchFields,\n createPagesDynamoDbFields\n} from \"~/operations/pages/fields\";\nimport { createPageStorageOperations } from \"~/operations/pages\";\nimport { createPageElasticsearchEntity } from \"~/definitions/pageElasticsearchEntity\";\n\nimport { createBlockCategoryEntity } from \"~/definitions/blockCategoryEntity\";\nimport { createBlockCategoryDynamoDbFields } from \"~/operations/blockCategory/fields\";\nimport { createBlockCategoryStorageOperations } from \"~/operations/blockCategory\";\n\nimport { createPageBlockEntity } from \"~/definitions/pageBlockEntity\";\nimport { createPageBlockDynamoDbFields } from \"~/operations/pageBlock/fields\";\nimport { createPageBlockStorageOperations } from \"~/operations/pageBlock\";\n\nexport const createStorageOperations: StorageOperationsFactory = params => {\n const {\n documentClient,\n elasticsearch,\n table,\n esTable,\n attributes,\n plugins: userPlugins\n } = params;\n\n const tableInstance = createTable({\n table,\n documentClient\n });\n const tableElasticsearchInstance = createElasticsearchTable({\n table: esTable,\n documentClient\n });\n\n const plugins = new PluginsContainer([\n /**\n * User defined custom plugins.\n */\n ...(userPlugins || []),\n /**\n * DynamoDB filter plugins for the where conditions.\n */\n dynamoDbValueFilters(),\n /**\n * Elasticsearch operators.\n */\n getElasticsearchOperators(),\n /**\n * Category fields required for filtering/sorting.\n */\n createCategoryDynamoDbFields(),\n /**\n * Menu fields required for filtering/sorting.\n */\n createMenuDynamoDbFields(),\n /**\n * Page element fields required for filtering/sorting.\n */\n createPageElementDynamoDbFields(),\n /**\n * Page fields required for filtering/sorting.\n */\n createPagesElasticsearchFields(),\n /**\n * Page fields required for filtering/sorting when using dynamodb.\n */\n createPagesDynamoDbFields(),\n /**\n * Built-in Elasticsearch index templates\n */\n elasticsearchIndexPlugins(),\n /**\n * Block Category fields required for filtering/sorting.\n */\n createBlockCategoryDynamoDbFields(),\n /**\n * Page Block fields required for filtering/sorting.\n */\n createPageBlockDynamoDbFields()\n ]);\n\n const entities = {\n settings: createSettingsEntity({\n entityName: ENTITIES.SETTINGS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SETTINGS] : {}\n }),\n system: createSystemEntity({\n entityName: ENTITIES.SYSTEM,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SYSTEM] : {}\n }),\n categories: createCategoryEntity({\n entityName: ENTITIES.CATEGORIES,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.CATEGORIES] : {}\n }),\n menus: createMenuEntity({\n entityName: ENTITIES.MENUS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.MENUS] : {}\n }),\n pageElements: createPageElementEntity({\n entityName: ENTITIES.PAGE_ELEMENTS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.PAGE_ELEMENTS] : {}\n }),\n pages: createPageEntity({\n entityName: ENTITIES.PAGES,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.PAGES] : {}\n }),\n pagesEs: createPageElasticsearchEntity({\n entityName: ENTITIES.PAGES_ES,\n table: tableElasticsearchInstance,\n attributes: attributes ? attributes[ENTITIES.PAGES_ES] : {}\n }),\n blockCategories: createBlockCategoryEntity({\n entityName: ENTITIES.BLOCK_CATEGORIES,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.BLOCK_CATEGORIES] : {}\n }),\n pageBlocks: createPageBlockEntity({\n entityName: ENTITIES.PAGE_BLOCKS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.PAGE_BLOCKS] : {}\n })\n };\n\n return {\n init: async context => {\n context.i18n.locales.onLocaleBeforeCreate.subscribe(async ({ locale, tenant }) => {\n await createElasticsearchIndex({\n elasticsearch,\n plugins,\n locale: locale.code,\n tenant\n });\n });\n },\n getEntities: () => entities,\n getTable: () => tableInstance,\n getEsTable: () => tableElasticsearchInstance,\n system: createSystemStorageOperations({\n entity: entities.system\n }),\n settings: createSettingsStorageOperations({\n entity: entities.settings\n }),\n categories: createCategoryStorageOperations({\n entity: entities.categories,\n plugins\n }),\n menus: createMenuStorageOperations({\n entity: entities.menus,\n plugins\n }),\n pageElements: createPageElementStorageOperations({\n entity: entities.pageElements,\n plugins\n }),\n pages: createPageStorageOperations({\n entity: entities.pages,\n esEntity: entities.pagesEs,\n elasticsearch,\n plugins\n }),\n blockCategories: createBlockCategoryStorageOperations({\n entity: entities.blockCategories,\n plugins\n }),\n pageBlocks: createPageBlockStorageOperations({\n entity: entities.pageBlocks,\n plugins\n })\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { BlockCategory } from "@webiny/api-page-builder/types";
2
+ import { Entity } from "dynamodb-toolbox";
3
+ interface Params {
4
+ entity: Entity<any>;
5
+ }
6
+ declare type DataLoaderGetItem = Pick<BlockCategory, "slug" | "tenant" | "locale">;
7
+ export declare class BlockCategoryDataLoader {
8
+ private _getDataLoader;
9
+ private readonly entity;
10
+ constructor(params: Params);
11
+ getOne(item: DataLoaderGetItem): Promise<BlockCategory>;
12
+ getAll(items: DataLoaderGetItem[]): Promise<BlockCategory[]>;
13
+ clear(): void;
14
+ private getDataLoader;
15
+ }
16
+ export {};
@@ -0,0 +1,79 @@
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.BlockCategoryDataLoader = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _dataloader = _interopRequireDefault(require("dataloader"));
13
+
14
+ var _batchRead = require("@webiny/db-dynamodb/utils/batchRead");
15
+
16
+ var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
17
+
18
+ var _keys = require("./keys");
19
+
20
+ class BlockCategoryDataLoader {
21
+ constructor(params) {
22
+ (0, _defineProperty2.default)(this, "_getDataLoader", undefined);
23
+ (0, _defineProperty2.default)(this, "entity", void 0);
24
+ this.entity = params.entity;
25
+ }
26
+
27
+ async getOne(item) {
28
+ return await this.getDataLoader().load(item);
29
+ }
30
+
31
+ async getAll(items) {
32
+ return await this.getDataLoader().loadMany(items);
33
+ }
34
+
35
+ clear() {
36
+ this.getDataLoader().clearAll();
37
+ }
38
+
39
+ getDataLoader() {
40
+ if (!this._getDataLoader) {
41
+ const cacheKeyFn = key => {
42
+ return `T#${key.tenant}#L#${key.locale}#${key.slug}`;
43
+ };
44
+
45
+ this._getDataLoader = new _dataloader.default(async items => {
46
+ const batched = items.map(item => {
47
+ return this.entity.getBatch({
48
+ PK: (0, _keys.createPartitionKey)(item),
49
+ SK: (0, _keys.createSortKey)(item)
50
+ });
51
+ });
52
+ const records = await (0, _batchRead.batchReadAll)({
53
+ table: this.entity.table,
54
+ items: batched
55
+ });
56
+ const results = records.reduce((collection, result) => {
57
+ if (!result) {
58
+ return collection;
59
+ }
60
+
61
+ const key = cacheKeyFn(result);
62
+ collection[key] = (0, _cleanup.cleanupItem)(this.entity, result);
63
+ return collection;
64
+ }, {});
65
+ return items.map(item => {
66
+ const key = cacheKeyFn(item);
67
+ return results[key] || null;
68
+ });
69
+ }, {
70
+ cacheKeyFn
71
+ });
72
+ }
73
+
74
+ return this._getDataLoader;
75
+ }
76
+
77
+ }
78
+
79
+ exports.BlockCategoryDataLoader = BlockCategoryDataLoader;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BlockCategoryDataLoader","constructor","params","undefined","entity","getOne","item","getDataLoader","load","getAll","items","loadMany","clear","clearAll","_getDataLoader","cacheKeyFn","key","tenant","locale","slug","DataLoader","batched","map","getBatch","PK","createPartitionKey","SK","createSortKey","records","batchReadAll","table","results","reduce","collection","result","cleanupItem"],"sources":["dataLoader.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { batchReadAll } from \"@webiny/db-dynamodb/utils/batchRead\";\nimport { BlockCategory } from \"@webiny/api-page-builder/types\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { createPartitionKey, createSortKey } from \"./keys\";\n\ninterface Params {\n entity: Entity<any>;\n}\n\ntype DataLoaderGetItem = Pick<BlockCategory, \"slug\" | \"tenant\" | \"locale\">;\n\nexport class BlockCategoryDataLoader {\n private _getDataLoader: DataLoader<any, any> | undefined = undefined;\n\n private readonly entity: Entity<any>;\n\n constructor(params: Params) {\n this.entity = params.entity;\n }\n\n public async getOne(item: DataLoaderGetItem): Promise<BlockCategory> {\n return await this.getDataLoader().load(item);\n }\n\n public async getAll(items: DataLoaderGetItem[]): Promise<BlockCategory[]> {\n return await this.getDataLoader().loadMany(items);\n }\n\n public clear(): void {\n this.getDataLoader().clearAll();\n }\n\n private getDataLoader(): DataLoader<any, any> {\n if (!this._getDataLoader) {\n const cacheKeyFn = (key: DataLoaderGetItem) => {\n return `T#${key.tenant}#L#${key.locale}#${key.slug}`;\n };\n this._getDataLoader = new DataLoader(\n async items => {\n const batched = items.map(item => {\n return this.entity.getBatch({\n PK: createPartitionKey(item),\n SK: createSortKey(item)\n });\n });\n\n const records = await batchReadAll<BlockCategory>({\n table: this.entity.table,\n items: batched\n });\n\n const results = records.reduce((collection, result) => {\n if (!result) {\n return collection;\n }\n const key = cacheKeyFn(result);\n collection[key] = cleanupItem(this.entity, result) as BlockCategory;\n return collection;\n }, {} as Record<string, BlockCategory>);\n return items.map(item => {\n const key = cacheKeyFn(item);\n return results[key] || null;\n });\n },\n {\n cacheKeyFn\n }\n );\n }\n return this._getDataLoader;\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AAQO,MAAMA,uBAAN,CAA8B;EAKjCC,WAAW,CAACC,MAAD,EAAiB;IAAA,sDAJ+BC,SAI/B;IAAA;IACxB,KAAKC,MAAL,GAAcF,MAAM,CAACE,MAArB;EACH;;EAEkB,MAANC,MAAM,CAACC,IAAD,EAAkD;IACjE,OAAO,MAAM,KAAKC,aAAL,GAAqBC,IAArB,CAA0BF,IAA1B,CAAb;EACH;;EAEkB,MAANG,MAAM,CAACC,KAAD,EAAuD;IACtE,OAAO,MAAM,KAAKH,aAAL,GAAqBI,QAArB,CAA8BD,KAA9B,CAAb;EACH;;EAEME,KAAK,GAAS;IACjB,KAAKL,aAAL,GAAqBM,QAArB;EACH;;EAEON,aAAa,GAAyB;IAC1C,IAAI,CAAC,KAAKO,cAAV,EAA0B;MACtB,MAAMC,UAAU,GAAIC,GAAD,IAA4B;QAC3C,OAAQ,KAAIA,GAAG,CAACC,MAAO,MAAKD,GAAG,CAACE,MAAO,IAAGF,GAAG,CAACG,IAAK,EAAnD;MACH,CAFD;;MAGA,KAAKL,cAAL,GAAsB,IAAIM,mBAAJ,CAClB,MAAMV,KAAN,IAAe;QACX,MAAMW,OAAO,GAAGX,KAAK,CAACY,GAAN,CAAUhB,IAAI,IAAI;UAC9B,OAAO,KAAKF,MAAL,CAAYmB,QAAZ,CAAqB;YACxBC,EAAE,EAAE,IAAAC,wBAAA,EAAmBnB,IAAnB,CADoB;YAExBoB,EAAE,EAAE,IAAAC,mBAAA,EAAcrB,IAAd;UAFoB,CAArB,CAAP;QAIH,CALe,CAAhB;QAOA,MAAMsB,OAAO,GAAG,MAAM,IAAAC,uBAAA,EAA4B;UAC9CC,KAAK,EAAE,KAAK1B,MAAL,CAAY0B,KAD2B;UAE9CpB,KAAK,EAAEW;QAFuC,CAA5B,CAAtB;QAKA,MAAMU,OAAO,GAAGH,OAAO,CAACI,MAAR,CAAe,CAACC,UAAD,EAAaC,MAAb,KAAwB;UACnD,IAAI,CAACA,MAAL,EAAa;YACT,OAAOD,UAAP;UACH;;UACD,MAAMjB,GAAG,GAAGD,UAAU,CAACmB,MAAD,CAAtB;UACAD,UAAU,CAACjB,GAAD,CAAV,GAAkB,IAAAmB,oBAAA,EAAY,KAAK/B,MAAjB,EAAyB8B,MAAzB,CAAlB;UACA,OAAOD,UAAP;QACH,CAPe,EAOb,EAPa,CAAhB;QAQA,OAAOvB,KAAK,CAACY,GAAN,CAAUhB,IAAI,IAAI;UACrB,MAAMU,GAAG,GAAGD,UAAU,CAACT,IAAD,CAAtB;UACA,OAAOyB,OAAO,CAACf,GAAD,CAAP,IAAgB,IAAvB;QACH,CAHM,CAAP;MAIH,CA1BiB,EA2BlB;QACID;MADJ,CA3BkB,CAAtB;IA+BH;;IACD,OAAO,KAAKD,cAAZ;EACH;;AA3DgC"}
@@ -0,0 +1,2 @@
1
+ import { BlockCategoryDynamoDbElasticFieldPlugin } from "../../plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin";
2
+ export declare const createBlockCategoryDynamoDbFields: () => BlockCategoryDynamoDbElasticFieldPlugin[];
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createBlockCategoryDynamoDbFields = void 0;
7
+
8
+ var _BlockCategoryDynamoDbElasticFieldPlugin = require("../../plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin");
9
+
10
+ const createBlockCategoryDynamoDbFields = () => {
11
+ return [new _BlockCategoryDynamoDbElasticFieldPlugin.BlockCategoryDynamoDbElasticFieldPlugin({
12
+ field: "id"
13
+ }), new _BlockCategoryDynamoDbElasticFieldPlugin.BlockCategoryDynamoDbElasticFieldPlugin({
14
+ field: "createdOn",
15
+ type: "date"
16
+ }), new _BlockCategoryDynamoDbElasticFieldPlugin.BlockCategoryDynamoDbElasticFieldPlugin({
17
+ field: "savedOn",
18
+ type: "date"
19
+ }), new _BlockCategoryDynamoDbElasticFieldPlugin.BlockCategoryDynamoDbElasticFieldPlugin({
20
+ field: "publishedOn",
21
+ type: "date"
22
+ }), new _BlockCategoryDynamoDbElasticFieldPlugin.BlockCategoryDynamoDbElasticFieldPlugin({
23
+ field: "createdBy",
24
+ path: "createdBy.id"
25
+ })];
26
+ };
27
+
28
+ exports.createBlockCategoryDynamoDbFields = createBlockCategoryDynamoDbFields;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createBlockCategoryDynamoDbFields","BlockCategoryDynamoDbElasticFieldPlugin","field","type","path"],"sources":["fields.ts"],"sourcesContent":["import { BlockCategoryDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin\";\n\nexport const createBlockCategoryDynamoDbFields = (): BlockCategoryDynamoDbElasticFieldPlugin[] => {\n return [\n new BlockCategoryDynamoDbElasticFieldPlugin({\n field: \"id\"\n }),\n new BlockCategoryDynamoDbElasticFieldPlugin({\n field: \"createdOn\",\n type: \"date\"\n }),\n new BlockCategoryDynamoDbElasticFieldPlugin({\n field: \"savedOn\",\n type: \"date\"\n }),\n new BlockCategoryDynamoDbElasticFieldPlugin({\n field: \"publishedOn\",\n type: \"date\"\n }),\n new BlockCategoryDynamoDbElasticFieldPlugin({\n field: \"createdBy\",\n path: \"createdBy.id\"\n })\n ];\n};\n"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,iCAAiC,GAAG,MAAiD;EAC9F,OAAO,CACH,IAAIC,gFAAJ,CAA4C;IACxCC,KAAK,EAAE;EADiC,CAA5C,CADG,EAIH,IAAID,gFAAJ,CAA4C;IACxCC,KAAK,EAAE,WADiC;IAExCC,IAAI,EAAE;EAFkC,CAA5C,CAJG,EAQH,IAAIF,gFAAJ,CAA4C;IACxCC,KAAK,EAAE,SADiC;IAExCC,IAAI,EAAE;EAFkC,CAA5C,CARG,EAYH,IAAIF,gFAAJ,CAA4C;IACxCC,KAAK,EAAE,aADiC;IAExCC,IAAI,EAAE;EAFkC,CAA5C,CAZG,EAgBH,IAAIF,gFAAJ,CAA4C;IACxCC,KAAK,EAAE,WADiC;IAExCE,IAAI,EAAE;EAFkC,CAA5C,CAhBG,CAAP;AAqBH,CAtBM"}
@@ -0,0 +1,8 @@
1
+ import { BlockCategoryStorageOperations } from "@webiny/api-page-builder/types";
2
+ import { Entity } from "dynamodb-toolbox";
3
+ import { PluginsContainer } from "@webiny/plugins";
4
+ export interface CreateBlockCategoryStorageOperationsParams {
5
+ entity: Entity<any>;
6
+ plugins: PluginsContainer;
7
+ }
8
+ export declare const createBlockCategoryStorageOperations: ({ entity, plugins }: CreateBlockCategoryStorageOperationsParams) => BlockCategoryStorageOperations;
@@ -0,0 +1,208 @@
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.createBlockCategoryStorageOperations = void 0;
9
+
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _error = _interopRequireDefault(require("@webiny/error"));
15
+
16
+ var _query = require("@webiny/db-dynamodb/utils/query");
17
+
18
+ var _sort = require("@webiny/db-dynamodb/utils/sort");
19
+
20
+ var _filter = require("@webiny/db-dynamodb/utils/filter");
21
+
22
+ var _dataLoader = require("./dataLoader");
23
+
24
+ var _listResponse = require("@webiny/db-dynamodb/utils/listResponse");
25
+
26
+ var _BlockCategoryDynamoDbElasticFieldPlugin = require("../../plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin");
27
+
28
+ var _keys = require("./keys");
29
+
30
+ const _excluded = ["tenant", "locale"];
31
+
32
+ const createType = () => {
33
+ return "pb.blockCategory";
34
+ };
35
+
36
+ const createBlockCategoryStorageOperations = ({
37
+ entity,
38
+ plugins
39
+ }) => {
40
+ const dataLoader = new _dataLoader.BlockCategoryDataLoader({
41
+ entity
42
+ });
43
+
44
+ const get = async params => {
45
+ const {
46
+ where
47
+ } = params;
48
+
49
+ try {
50
+ return await dataLoader.getOne(where);
51
+ } catch (ex) {
52
+ throw new _error.default(ex.message || "Could not load block category by given parameters.", ex.code || "BLOCK_CATEGORY_GET_ERROR", {
53
+ where
54
+ });
55
+ }
56
+ };
57
+
58
+ const create = async params => {
59
+ const {
60
+ blockCategory
61
+ } = params;
62
+ const keys = {
63
+ PK: (0, _keys.createPartitionKey)({
64
+ tenant: blockCategory.tenant,
65
+ locale: blockCategory.locale
66
+ }),
67
+ SK: (0, _keys.createSortKey)(blockCategory)
68
+ };
69
+
70
+ try {
71
+ await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, blockCategory), {}, {
72
+ TYPE: createType()
73
+ }, keys));
74
+ /**
75
+ * Always clear data loader cache when modifying the records.
76
+ */
77
+
78
+ dataLoader.clear();
79
+ return blockCategory;
80
+ } catch (ex) {
81
+ throw new _error.default(ex.message || "Could not create block category.", ex.code || "BLOCK_CATEGORY_CREATE_ERROR", {
82
+ keys
83
+ });
84
+ }
85
+ };
86
+
87
+ const update = async params => {
88
+ const {
89
+ original,
90
+ blockCategory
91
+ } = params;
92
+ const keys = {
93
+ PK: (0, _keys.createPartitionKey)({
94
+ tenant: original.tenant,
95
+ locale: original.locale
96
+ }),
97
+ SK: (0, _keys.createSortKey)(blockCategory)
98
+ };
99
+
100
+ try {
101
+ await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, blockCategory), {}, {
102
+ TYPE: createType()
103
+ }, keys));
104
+ /**
105
+ * Always clear data loader cache when modifying the records.
106
+ */
107
+
108
+ dataLoader.clear();
109
+ return blockCategory;
110
+ } catch (ex) {
111
+ throw new _error.default(ex.message || "Could not update block category.", ex.code || "BLOCK_CATEGORY_UPDATE_ERROR", {
112
+ keys,
113
+ original,
114
+ category: blockCategory
115
+ });
116
+ }
117
+ };
118
+
119
+ const deleteBlockCategory = async params => {
120
+ const {
121
+ blockCategory
122
+ } = params;
123
+ const keys = {
124
+ PK: (0, _keys.createPartitionKey)({
125
+ tenant: blockCategory.tenant,
126
+ locale: blockCategory.locale
127
+ }),
128
+ SK: (0, _keys.createSortKey)(blockCategory)
129
+ };
130
+
131
+ try {
132
+ await entity.delete((0, _objectSpread2.default)((0, _objectSpread2.default)({}, blockCategory), keys));
133
+ /**
134
+ * Always clear data loader cache when modifying the records.
135
+ */
136
+
137
+ dataLoader.clear();
138
+ return blockCategory;
139
+ } catch (ex) {
140
+ throw new _error.default(ex.message || "Could not delete block category.", ex.code || "BLOCK_CATEGORY_DELETE_ERROR", {
141
+ keys,
142
+ blockCategory
143
+ });
144
+ }
145
+ };
146
+
147
+ const list = async params => {
148
+ const {
149
+ where,
150
+ sort,
151
+ limit
152
+ } = params;
153
+ const {
154
+ tenant,
155
+ locale
156
+ } = where,
157
+ restWhere = (0, _objectWithoutProperties2.default)(where, _excluded);
158
+ const queryAllParams = {
159
+ entity,
160
+ partitionKey: (0, _keys.createPartitionKey)({
161
+ tenant,
162
+ locale
163
+ }),
164
+ options: {
165
+ gt: " "
166
+ }
167
+ };
168
+ let items = [];
169
+
170
+ try {
171
+ items = await (0, _query.queryAll)(queryAllParams);
172
+ } catch (ex) {
173
+ throw new _error.default(ex.message || "Could not list block categories by given parameters.", ex.code || "BLOCK_CATEGORIES_LIST_ERROR", {
174
+ partitionKey: queryAllParams.partitionKey,
175
+ options: queryAllParams.options
176
+ });
177
+ }
178
+
179
+ const fields = plugins.byType(_BlockCategoryDynamoDbElasticFieldPlugin.BlockCategoryDynamoDbElasticFieldPlugin.type);
180
+ const filteredItems = (0, _filter.filterItems)({
181
+ plugins,
182
+ where: restWhere,
183
+ items,
184
+ fields
185
+ });
186
+ const sortedItems = (0, _sort.sortItems)({
187
+ items: filteredItems,
188
+ sort,
189
+ fields
190
+ });
191
+ return (0, _listResponse.createListResponse)({
192
+ items: sortedItems,
193
+ limit: limit || 100000,
194
+ totalCount: filteredItems.length,
195
+ after: null
196
+ });
197
+ };
198
+
199
+ return {
200
+ get,
201
+ create,
202
+ update,
203
+ delete: deleteBlockCategory,
204
+ list
205
+ };
206
+ };
207
+
208
+ exports.createBlockCategoryStorageOperations = createBlockCategoryStorageOperations;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createType","createBlockCategoryStorageOperations","entity","plugins","dataLoader","BlockCategoryDataLoader","get","params","where","getOne","ex","WebinyError","message","code","create","blockCategory","keys","PK","createPartitionKey","tenant","locale","SK","createSortKey","put","TYPE","clear","update","original","category","deleteBlockCategory","delete","list","sort","limit","restWhere","queryAllParams","partitionKey","options","gt","items","queryAll","fields","byType","BlockCategoryDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","totalCount","length","after"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n BlockCategory,\n BlockCategoryStorageOperations,\n BlockCategoryStorageOperationsCreateParams,\n BlockCategoryStorageOperationsDeleteParams,\n BlockCategoryStorageOperationsGetParams,\n BlockCategoryStorageOperationsListParams,\n BlockCategoryStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { BlockCategoryDataLoader } from \"./dataLoader\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { BlockCategoryDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { createPartitionKey, createSortKey } from \"~/operations/blockCategory/keys\";\n\nconst createType = (): string => {\n return \"pb.blockCategory\";\n};\n\nexport interface CreateBlockCategoryStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createBlockCategoryStorageOperations = ({\n entity,\n plugins\n}: CreateBlockCategoryStorageOperationsParams): BlockCategoryStorageOperations => {\n const dataLoader = new BlockCategoryDataLoader({\n entity\n });\n\n const get = async (params: BlockCategoryStorageOperationsGetParams) => {\n const { where } = params;\n\n try {\n return await dataLoader.getOne(where);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load block category by given parameters.\",\n ex.code || \"BLOCK_CATEGORY_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const create = async (params: BlockCategoryStorageOperationsCreateParams) => {\n const { blockCategory } = params;\n\n const keys = {\n PK: createPartitionKey({\n tenant: blockCategory.tenant,\n locale: blockCategory.locale\n }),\n SK: createSortKey(blockCategory)\n };\n\n try {\n await entity.put({\n ...blockCategory,\n TYPE: createType(),\n ...keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return blockCategory;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create block category.\",\n ex.code || \"BLOCK_CATEGORY_CREATE_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n const update = async (params: BlockCategoryStorageOperationsUpdateParams) => {\n const { original, blockCategory } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: original.tenant,\n locale: original.locale\n }),\n SK: createSortKey(blockCategory)\n };\n\n try {\n await entity.put({\n ...blockCategory,\n TYPE: createType(),\n ...keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return blockCategory;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update block category.\",\n ex.code || \"BLOCK_CATEGORY_UPDATE_ERROR\",\n {\n keys,\n original,\n category: blockCategory\n }\n );\n }\n };\n\n const deleteBlockCategory = async (params: BlockCategoryStorageOperationsDeleteParams) => {\n const { blockCategory } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: blockCategory.tenant,\n locale: blockCategory.locale\n }),\n SK: createSortKey(blockCategory)\n };\n\n try {\n await entity.delete({\n ...blockCategory,\n ...keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return blockCategory;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete block category.\",\n ex.code || \"BLOCK_CATEGORY_DELETE_ERROR\",\n {\n keys,\n blockCategory\n }\n );\n }\n };\n\n const list = async (params: BlockCategoryStorageOperationsListParams) => {\n const { where, sort, limit } = params;\n\n const { tenant, locale, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey({ tenant, locale }),\n options: {\n gt: \" \"\n }\n };\n\n let items: BlockCategory[] = [];\n\n try {\n items = await queryAll<BlockCategory>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list block categories by given parameters.\",\n ex.code || \"BLOCK_CATEGORIES_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<BlockCategoryDynamoDbElasticFieldPlugin>(\n BlockCategoryDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<BlockCategory>({\n plugins,\n where: restWhere,\n items,\n fields\n });\n\n const sortedItems = sortItems<BlockCategory>({\n items: filteredItems,\n sort,\n fields\n });\n\n return createListResponse({\n items: sortedItems,\n limit: limit || 100000,\n totalCount: filteredItems.length,\n after: null\n });\n };\n\n return {\n get,\n create,\n update,\n delete: deleteBlockCategory,\n list\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface PartitionKeyParams {
2
+ tenant: string;
3
+ locale: string;
4
+ }
5
+ export declare const createPartitionKey: (params: PartitionKeyParams) => string;
6
+ export interface SortKeyParams {
7
+ slug: string;
8
+ }
9
+ export declare const createSortKey: (params: SortKeyParams) => string;