@webiny/api-headless-cms-ddb 0.0.0-unstable.496cf268ac → 0.0.0-unstable.5387e5f7c8

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 (294) hide show
  1. package/README.md +6 -20
  2. package/abstractions/CmsDdbDataLoaders.d.ts +5 -0
  3. package/abstractions/CmsDdbDataLoaders.js +5 -0
  4. package/abstractions/CmsDdbDataLoaders.js.map +1 -0
  5. package/abstractions/CmsDdbEntryEntity.d.ts +5 -0
  6. package/abstractions/CmsDdbEntryEntity.js +5 -0
  7. package/abstractions/CmsDdbEntryEntity.js.map +1 -0
  8. package/abstractions/CmsDdbGroupEntity.d.ts +5 -0
  9. package/abstractions/CmsDdbGroupEntity.js +5 -0
  10. package/abstractions/CmsDdbGroupEntity.js.map +1 -0
  11. package/abstractions/CmsDdbModelEntity.d.ts +5 -0
  12. package/abstractions/CmsDdbModelEntity.js +5 -0
  13. package/abstractions/CmsDdbModelEntity.js.map +1 -0
  14. package/abstractions/CmsDdbTable.d.ts +5 -0
  15. package/abstractions/CmsDdbTable.js +5 -0
  16. package/abstractions/CmsDdbTable.js.map +1 -0
  17. package/definitions/entry.d.ts +4 -5
  18. package/definitions/entry.js +10 -93
  19. package/definitions/entry.js.map +1 -1
  20. package/definitions/group.d.ts +4 -5
  21. package/definitions/group.js +10 -64
  22. package/definitions/group.js.map +1 -1
  23. package/definitions/model.d.ts +4 -5
  24. package/definitions/model.js +10 -108
  25. package/definitions/model.js.map +1 -1
  26. package/definitions/table.d.ts +4 -6
  27. package/definitions/table.js +7 -26
  28. package/definitions/table.js.map +1 -1
  29. package/definitions/types.d.ts +65 -0
  30. package/definitions/types.js +0 -0
  31. package/index.d.ts +10 -3
  32. package/index.js +45 -129
  33. package/index.js.map +1 -1
  34. package/operations/entry/DdbCreateEntry.d.ts +16 -0
  35. package/operations/entry/DdbCreateEntry.js +77 -0
  36. package/operations/entry/DdbCreateEntry.js.map +1 -0
  37. package/operations/entry/DdbCreateEntryRevisionFrom.d.ts +16 -0
  38. package/operations/entry/DdbCreateEntryRevisionFrom.js +85 -0
  39. package/operations/entry/DdbCreateEntryRevisionFrom.js.map +1 -0
  40. package/operations/entry/DdbDeleteEntry.d.ts +16 -0
  41. package/operations/entry/DdbDeleteEntry.js +65 -0
  42. package/operations/entry/DdbDeleteEntry.js.map +1 -0
  43. package/operations/entry/DdbDeleteEntryRevision.d.ts +17 -0
  44. package/operations/entry/DdbDeleteEntryRevision.js +91 -0
  45. package/operations/entry/DdbDeleteEntryRevision.js.map +1 -0
  46. package/operations/entry/DdbDeleteMultipleEntries.d.ts +16 -0
  47. package/operations/entry/DdbDeleteMultipleEntries.js +59 -0
  48. package/operations/entry/DdbDeleteMultipleEntries.js.map +1 -0
  49. package/operations/entry/DdbGetEntriesByIds.d.ts +14 -0
  50. package/operations/entry/DdbGetEntriesByIds.js +31 -0
  51. package/operations/entry/DdbGetEntriesByIds.js.map +1 -0
  52. package/operations/entry/DdbGetEntry.d.ts +14 -0
  53. package/operations/entry/DdbGetEntry.js +27 -0
  54. package/operations/entry/DdbGetEntry.js.map +1 -0
  55. package/operations/entry/DdbGetLatestEntriesByIds.d.ts +14 -0
  56. package/operations/entry/DdbGetLatestEntriesByIds.js +31 -0
  57. package/operations/entry/DdbGetLatestEntriesByIds.js.map +1 -0
  58. package/operations/entry/DdbGetLatestRevisionByEntryId.d.ts +14 -0
  59. package/operations/entry/DdbGetLatestRevisionByEntryId.js +35 -0
  60. package/operations/entry/DdbGetLatestRevisionByEntryId.js.map +1 -0
  61. package/operations/entry/DdbGetPreviousRevision.d.ts +14 -0
  62. package/operations/entry/DdbGetPreviousRevision.js +53 -0
  63. package/operations/entry/DdbGetPreviousRevision.js.map +1 -0
  64. package/operations/entry/DdbGetPublishedEntriesByIds.d.ts +14 -0
  65. package/operations/entry/DdbGetPublishedEntriesByIds.js +31 -0
  66. package/operations/entry/DdbGetPublishedEntriesByIds.js.map +1 -0
  67. package/operations/entry/DdbGetPublishedRevisionByEntryId.d.ts +14 -0
  68. package/operations/entry/DdbGetPublishedRevisionByEntryId.js +35 -0
  69. package/operations/entry/DdbGetPublishedRevisionByEntryId.js.map +1 -0
  70. package/operations/entry/DdbGetRevisionById.d.ts +14 -0
  71. package/operations/entry/DdbGetRevisionById.js +34 -0
  72. package/operations/entry/DdbGetRevisionById.js.map +1 -0
  73. package/operations/entry/DdbGetRevisions.d.ts +14 -0
  74. package/operations/entry/DdbGetRevisions.js +33 -0
  75. package/operations/entry/DdbGetRevisions.js.map +1 -0
  76. package/operations/entry/DdbGetUniqueFieldValues.d.ts +12 -0
  77. package/operations/entry/DdbGetUniqueFieldValues.js +31 -0
  78. package/operations/entry/DdbGetUniqueFieldValues.js.map +1 -0
  79. package/operations/entry/DdbListEntries.d.ts +28 -0
  80. package/operations/entry/DdbListEntries.js +124 -0
  81. package/operations/entry/DdbListEntries.js.map +1 -0
  82. package/operations/entry/DdbMoveEntry.d.ts +14 -0
  83. package/operations/entry/DdbMoveEntry.js +57 -0
  84. package/operations/entry/DdbMoveEntry.js.map +1 -0
  85. package/operations/entry/DdbMoveToBin.d.ts +16 -0
  86. package/operations/entry/DdbMoveToBin.js +77 -0
  87. package/operations/entry/DdbMoveToBin.js.map +1 -0
  88. package/operations/entry/DdbPublishEntry.d.ts +18 -0
  89. package/operations/entry/DdbPublishEntry.js +162 -0
  90. package/operations/entry/DdbPublishEntry.js.map +1 -0
  91. package/operations/entry/DdbRestoreFromBin.d.ts +16 -0
  92. package/operations/entry/DdbRestoreFromBin.js +78 -0
  93. package/operations/entry/DdbRestoreFromBin.js.map +1 -0
  94. package/operations/entry/DdbUnpublishEntry.d.ts +17 -0
  95. package/operations/entry/DdbUnpublishEntry.js +112 -0
  96. package/operations/entry/DdbUnpublishEntry.js.map +1 -0
  97. package/operations/entry/DdbUpdateEntry.d.ts +17 -0
  98. package/operations/entry/DdbUpdateEntry.js +105 -0
  99. package/operations/entry/DdbUpdateEntry.js.map +1 -0
  100. package/operations/entry/dataLoader/DataLoaderCache.d.ts +16 -0
  101. package/operations/entry/dataLoader/DataLoaderCache.js +27 -0
  102. package/operations/entry/dataLoader/DataLoaderCache.js.map +1 -0
  103. package/operations/entry/dataLoader/constants.d.ts +1 -0
  104. package/operations/entry/dataLoader/constants.js +5 -0
  105. package/operations/entry/dataLoader/constants.js.map +1 -0
  106. package/operations/entry/dataLoader/createBatchScheduleFn.d.ts +8 -0
  107. package/operations/entry/dataLoader/createBatchScheduleFn.js +10 -0
  108. package/operations/entry/dataLoader/createBatchScheduleFn.js.map +1 -0
  109. package/operations/entry/dataLoader/getAllEntryRevisions.d.ts +4 -0
  110. package/operations/entry/dataLoader/getAllEntryRevisions.js +24 -0
  111. package/operations/entry/dataLoader/getAllEntryRevisions.js.map +1 -0
  112. package/operations/entry/dataLoader/getLatestRevisionByEntryId.d.ts +4 -0
  113. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js +40 -0
  114. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js.map +1 -0
  115. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.d.ts +4 -0
  116. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js +40 -0
  117. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js.map +1 -0
  118. package/operations/entry/dataLoader/getRevisionById.d.ts +4 -0
  119. package/operations/entry/dataLoader/getRevisionById.js +42 -0
  120. package/operations/entry/dataLoader/getRevisionById.js.map +1 -0
  121. package/operations/entry/dataLoader/index.d.ts +8 -0
  122. package/operations/entry/dataLoader/index.js +18 -0
  123. package/operations/entry/dataLoader/index.js.map +1 -0
  124. package/operations/entry/dataLoader/types.d.ts +6 -0
  125. package/operations/entry/dataLoader/types.js +0 -0
  126. package/operations/entry/dataLoaders.d.ts +16 -31
  127. package/operations/entry/dataLoaders.js +92 -272
  128. package/operations/entry/dataLoaders.js.map +1 -1
  129. package/operations/entry/feature.d.ts +4 -0
  130. package/operations/entry/feature.js +55 -0
  131. package/operations/entry/feature.js.map +1 -0
  132. package/operations/entry/keys.d.ts +46 -2
  133. package/operations/entry/keys.js +54 -49
  134. package/operations/entry/keys.js.map +1 -1
  135. package/operations/entry/storageEntryUtils.d.ts +8 -0
  136. package/operations/entry/storageEntryUtils.js +25 -0
  137. package/operations/entry/storageEntryUtils.js.map +1 -0
  138. package/operations/group/DdbCreateGroup.d.ts +12 -0
  139. package/operations/group/DdbCreateGroup.js +35 -0
  140. package/operations/group/DdbCreateGroup.js.map +1 -0
  141. package/operations/group/DdbDeleteGroup.d.ts +12 -0
  142. package/operations/group/DdbDeleteGroup.js +31 -0
  143. package/operations/group/DdbDeleteGroup.js.map +1 -0
  144. package/operations/group/DdbGetGroup.d.ts +12 -0
  145. package/operations/group/DdbGetGroup.js +31 -0
  146. package/operations/group/DdbGetGroup.js.map +1 -0
  147. package/operations/group/DdbListGroups.d.ts +14 -0
  148. package/operations/group/DdbListGroups.js +52 -0
  149. package/operations/group/DdbListGroups.js.map +1 -0
  150. package/operations/group/DdbUpdateGroup.d.ts +12 -0
  151. package/operations/group/DdbUpdateGroup.js +35 -0
  152. package/operations/group/DdbUpdateGroup.js.map +1 -0
  153. package/operations/group/feature.d.ts +4 -0
  154. package/operations/group/feature.js +19 -0
  155. package/operations/group/feature.js.map +1 -0
  156. package/operations/group/keys.d.ts +15 -0
  157. package/operations/group/keys.js +17 -0
  158. package/operations/group/keys.js.map +1 -0
  159. package/operations/model/DdbCreateModel.d.ts +12 -0
  160. package/operations/model/DdbCreateModel.js +37 -0
  161. package/operations/model/DdbCreateModel.js.map +1 -0
  162. package/operations/model/DdbDeleteModel.d.ts +12 -0
  163. package/operations/model/DdbDeleteModel.js +31 -0
  164. package/operations/model/DdbDeleteModel.js.map +1 -0
  165. package/operations/model/DdbGetModel.d.ts +12 -0
  166. package/operations/model/DdbGetModel.js +30 -0
  167. package/operations/model/DdbGetModel.js.map +1 -0
  168. package/operations/model/DdbListModels.d.ts +12 -0
  169. package/operations/model/DdbListModels.js +36 -0
  170. package/operations/model/DdbListModels.js.map +1 -0
  171. package/operations/model/DdbUpdateModel.d.ts +12 -0
  172. package/operations/model/DdbUpdateModel.js +36 -0
  173. package/operations/model/DdbUpdateModel.js.map +1 -0
  174. package/operations/model/feature.d.ts +4 -0
  175. package/operations/model/feature.js +19 -0
  176. package/operations/model/feature.js.map +1 -0
  177. package/operations/model/keys.d.ts +15 -0
  178. package/operations/model/keys.js +16 -0
  179. package/operations/model/keys.js.map +1 -0
  180. package/package.json +30 -33
  181. package/types.d.ts +12 -45
  182. package/types.js +8 -14
  183. package/types.js.map +1 -1
  184. package/definitions/settings.d.ts +0 -9
  185. package/definitions/settings.js +0 -53
  186. package/definitions/settings.js.map +0 -1
  187. package/definitions/system.d.ts +0 -9
  188. package/definitions/system.js +0 -41
  189. package/definitions/system.js.map +0 -1
  190. package/dynamoDb/index.d.ts +0 -2
  191. package/dynamoDb/index.js +0 -13
  192. package/dynamoDb/index.js.map +0 -1
  193. package/dynamoDb/path/plainObject.d.ts +0 -2
  194. package/dynamoDb/path/plainObject.js +0 -33
  195. package/dynamoDb/path/plainObject.js.map +0 -1
  196. package/dynamoDb/storage/date.d.ts +0 -3
  197. package/dynamoDb/storage/date.js +0 -91
  198. package/dynamoDb/storage/date.js.map +0 -1
  199. package/dynamoDb/storage/longText.d.ts +0 -10
  200. package/dynamoDb/storage/longText.js +0 -91
  201. package/dynamoDb/storage/longText.js.map +0 -1
  202. package/dynamoDb/storage/richText.d.ts +0 -2
  203. package/dynamoDb/storage/richText.js +0 -95
  204. package/dynamoDb/storage/richText.js.map +0 -1
  205. package/dynamoDb/transformValue/datetime.d.ts +0 -5
  206. package/dynamoDb/transformValue/datetime.js +0 -45
  207. package/dynamoDb/transformValue/datetime.js.map +0 -1
  208. package/operations/entry/filtering/createExpressions.d.ts +0 -26
  209. package/operations/entry/filtering/createExpressions.js +0 -176
  210. package/operations/entry/filtering/createExpressions.js.map +0 -1
  211. package/operations/entry/filtering/createFields.d.ts +0 -14
  212. package/operations/entry/filtering/createFields.js +0 -105
  213. package/operations/entry/filtering/createFields.js.map +0 -1
  214. package/operations/entry/filtering/extractSort.d.ts +0 -17
  215. package/operations/entry/filtering/extractSort.js +0 -67
  216. package/operations/entry/filtering/extractSort.js.map +0 -1
  217. package/operations/entry/filtering/filter.d.ts +0 -15
  218. package/operations/entry/filtering/filter.js +0 -143
  219. package/operations/entry/filtering/filter.js.map +0 -1
  220. package/operations/entry/filtering/fullTextSearch.d.ts +0 -14
  221. package/operations/entry/filtering/fullTextSearch.js +0 -48
  222. package/operations/entry/filtering/fullTextSearch.js.map +0 -1
  223. package/operations/entry/filtering/getValue.d.ts +0 -5
  224. package/operations/entry/filtering/getValue.js +0 -63
  225. package/operations/entry/filtering/getValue.js.map +0 -1
  226. package/operations/entry/filtering/index.d.ts +0 -2
  227. package/operations/entry/filtering/index.js +0 -19
  228. package/operations/entry/filtering/index.js.map +0 -1
  229. package/operations/entry/filtering/mapPlugins.d.ts +0 -8
  230. package/operations/entry/filtering/mapPlugins.js +0 -31
  231. package/operations/entry/filtering/mapPlugins.js.map +0 -1
  232. package/operations/entry/filtering/plugins/defaultFilterCreate.d.ts +0 -2
  233. package/operations/entry/filtering/plugins/defaultFilterCreate.js +0 -41
  234. package/operations/entry/filtering/plugins/defaultFilterCreate.js.map +0 -1
  235. package/operations/entry/filtering/plugins/index.d.ts +0 -1
  236. package/operations/entry/filtering/plugins/index.js +0 -13
  237. package/operations/entry/filtering/plugins/index.js.map +0 -1
  238. package/operations/entry/filtering/plugins/objectFilterCreate.d.ts +0 -2
  239. package/operations/entry/filtering/plugins/objectFilterCreate.js +0 -86
  240. package/operations/entry/filtering/plugins/objectFilterCreate.js.map +0 -1
  241. package/operations/entry/filtering/plugins/refFilterCreate.d.ts +0 -2
  242. package/operations/entry/filtering/plugins/refFilterCreate.js +0 -71
  243. package/operations/entry/filtering/plugins/refFilterCreate.js.map +0 -1
  244. package/operations/entry/filtering/sort.d.ts +0 -12
  245. package/operations/entry/filtering/sort.js +0 -69
  246. package/operations/entry/filtering/sort.js.map +0 -1
  247. package/operations/entry/filtering/systemFields.d.ts +0 -4
  248. package/operations/entry/filtering/systemFields.js +0 -70
  249. package/operations/entry/filtering/systemFields.js.map +0 -1
  250. package/operations/entry/filtering/transform.d.ts +0 -6
  251. package/operations/entry/filtering/transform.js +0 -16
  252. package/operations/entry/filtering/transform.js.map +0 -1
  253. package/operations/entry/filtering/types.d.ts +0 -40
  254. package/operations/entry/filtering/types.js +0 -5
  255. package/operations/entry/filtering/types.js.map +0 -1
  256. package/operations/entry/filtering/values.d.ts +0 -2
  257. package/operations/entry/filtering/values.js +0 -22
  258. package/operations/entry/filtering/values.js.map +0 -1
  259. package/operations/entry/filtering/where.d.ts +0 -5
  260. package/operations/entry/filtering/where.js +0 -32
  261. package/operations/entry/filtering/where.js.map +0 -1
  262. package/operations/entry/index.d.ts +0 -8
  263. package/operations/entry/index.js +0 -787
  264. package/operations/entry/index.js.map +0 -1
  265. package/operations/entry/systemFields.d.ts +0 -2
  266. package/operations/entry/systemFields.js +0 -72
  267. package/operations/entry/systemFields.js.map +0 -1
  268. package/operations/group/index.d.ts +0 -9
  269. package/operations/group/index.js +0 -162
  270. package/operations/group/index.js.map +0 -1
  271. package/operations/model/index.d.ts +0 -7
  272. package/operations/model/index.js +0 -137
  273. package/operations/model/index.js.map +0 -1
  274. package/operations/settings/index.d.ts +0 -7
  275. package/operations/settings/index.js +0 -111
  276. package/operations/settings/index.js.map +0 -1
  277. package/operations/system/index.d.ts +0 -7
  278. package/operations/system/index.js +0 -82
  279. package/operations/system/index.js.map +0 -1
  280. package/plugins/CmsEntryFieldFilterPathPlugin.d.ts +0 -22
  281. package/plugins/CmsEntryFieldFilterPathPlugin.js +0 -41
  282. package/plugins/CmsEntryFieldFilterPathPlugin.js.map +0 -1
  283. package/plugins/CmsEntryFieldFilterPlugin.d.ts +0 -43
  284. package/plugins/CmsEntryFieldFilterPlugin.js +0 -24
  285. package/plugins/CmsEntryFieldFilterPlugin.js.map +0 -1
  286. package/plugins/CmsEntryFieldSortingPlugin.d.ts +0 -42
  287. package/plugins/CmsEntryFieldSortingPlugin.js +0 -28
  288. package/plugins/CmsEntryFieldSortingPlugin.js.map +0 -1
  289. package/plugins/CmsFieldFilterValueTransformPlugin.d.ts +0 -11
  290. package/plugins/CmsFieldFilterValueTransformPlugin.js +0 -24
  291. package/plugins/CmsFieldFilterValueTransformPlugin.js.map +0 -1
  292. package/plugins/index.d.ts +0 -4
  293. package/plugins/index.js +0 -49
  294. package/plugins/index.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ import error from "@webiny/error";
2
+ import { DeleteModelStorageOperation } from "@webiny/api-headless-cms/features/shared/storageOperations/model/DeleteModelStorageOperation.js";
3
+ import { CmsDdbModelEntity } from "../../abstractions/CmsDdbModelEntity.js";
4
+ import { createKeys } from "./keys.js";
5
+ class DdbDeleteModelImpl {
6
+ constructor(entity){
7
+ this.entity = entity;
8
+ }
9
+ async execute(params) {
10
+ const { model } = params;
11
+ const keys = createKeys(model);
12
+ try {
13
+ await this.entity.delete(keys);
14
+ } catch (ex) {
15
+ throw new error(ex.message || "Could not delete model.", ex.code || "MODEL_DELETE_ERROR", {
16
+ error: ex,
17
+ model,
18
+ keys
19
+ });
20
+ }
21
+ }
22
+ }
23
+ const DdbDeleteModel = DeleteModelStorageOperation.createImplementation({
24
+ implementation: DdbDeleteModelImpl,
25
+ dependencies: [
26
+ CmsDdbModelEntity
27
+ ]
28
+ });
29
+ export { DdbDeleteModel };
30
+
31
+ //# sourceMappingURL=DdbDeleteModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/model/DdbDeleteModel.js","sources":["../../../src/operations/model/DdbDeleteModel.ts"],"sourcesContent":["import type { CmsModelStorageOperationsDeleteParams } from \"@webiny/api-headless-cms/types/index.js\";\nimport WebinyError from \"@webiny/error\";\nimport { DeleteModelStorageOperation } from \"@webiny/api-headless-cms/features/shared/storageOperations/model/DeleteModelStorageOperation.js\";\nimport { CmsDdbModelEntity } from \"~/abstractions/CmsDdbModelEntity.js\";\nimport { createKeys } from \"./keys.js\";\n\nclass DdbDeleteModelImpl implements DeleteModelStorageOperation.Interface {\n constructor(private entity: CmsDdbModelEntity.Interface) {}\n\n async execute(params: CmsModelStorageOperationsDeleteParams) {\n const { model } = params;\n const keys = createKeys(model);\n try {\n await this.entity.delete(keys);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete model.\",\n ex.code || \"MODEL_DELETE_ERROR\",\n { error: ex, model, keys }\n );\n }\n }\n}\n\nexport const DdbDeleteModel = DeleteModelStorageOperation.createImplementation({\n implementation: DdbDeleteModelImpl,\n dependencies: [CmsDdbModelEntity]\n});\n"],"names":["DdbDeleteModelImpl","entity","params","model","keys","createKeys","ex","WebinyError","DdbDeleteModel","DeleteModelStorageOperation","CmsDdbModelEntity"],"mappings":";;;;AAMA,MAAMA;IACF,YAAoBC,MAAmC,CAAE;aAArCA,MAAM,GAANA;IAAsC;IAE1D,MAAM,QAAQC,MAA6C,EAAE;QACzD,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,MAAME,OAAOC,WAAWF;QACxB,IAAI;YACA,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAACC;QAC7B,EAAE,OAAOE,IAAI;YACT,MAAM,IAAIC,MACND,GAAG,OAAO,IAAI,2BACdA,GAAG,IAAI,IAAI,sBACX;gBAAE,OAAOA;gBAAIH;gBAAOC;YAAK;QAEjC;IACJ;AACJ;AAEO,MAAMI,iBAAiBC,4BAA4B,oBAAoB,CAAC;IAC3E,gBAAgBT;IAChB,cAAc;QAACU;KAAkB;AACrC"}
@@ -0,0 +1,12 @@
1
+ import type { CmsModelStorageOperationsGetParams } from "@webiny/api-headless-cms/types/index.js";
2
+ import { GetModelStorageOperation } from "@webiny/api-headless-cms/features/shared/storageOperations/model/GetModelStorageOperation.js";
3
+ import { CmsDdbModelEntity } from "../../abstractions/CmsDdbModelEntity.js";
4
+ declare class DdbGetModelImpl implements GetModelStorageOperation.Interface {
5
+ private entity;
6
+ constructor(entity: CmsDdbModelEntity.Interface);
7
+ execute(params: CmsModelStorageOperationsGetParams): Promise<import("@webiny/api-headless-cms/types/model.js").StorageCmsModel | null>;
8
+ }
9
+ export declare const DdbGetModel: typeof DdbGetModelImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/shared/storageOperations/model/GetModelStorageOperation.js").IGetModelStorageOperation>;
11
+ };
12
+ export {};
@@ -0,0 +1,30 @@
1
+ import error from "@webiny/error";
2
+ import { GetModelStorageOperation } from "@webiny/api-headless-cms/features/shared/storageOperations/model/GetModelStorageOperation.js";
3
+ import { CmsDdbModelEntity } from "../../abstractions/CmsDdbModelEntity.js";
4
+ import { createKeys } from "./keys.js";
5
+ class DdbGetModelImpl {
6
+ constructor(entity){
7
+ this.entity = entity;
8
+ }
9
+ async execute(params) {
10
+ const keys = createKeys(params);
11
+ try {
12
+ const result = await this.entity.get(keys);
13
+ return result?.data || null;
14
+ } catch (ex) {
15
+ throw new error(ex.message || "Could not get model.", ex.code || "MODEL_GET_ERROR", {
16
+ error: ex,
17
+ keys
18
+ });
19
+ }
20
+ }
21
+ }
22
+ const DdbGetModel = GetModelStorageOperation.createImplementation({
23
+ implementation: DdbGetModelImpl,
24
+ dependencies: [
25
+ CmsDdbModelEntity
26
+ ]
27
+ });
28
+ export { DdbGetModel };
29
+
30
+ //# sourceMappingURL=DdbGetModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/model/DdbGetModel.js","sources":["../../../src/operations/model/DdbGetModel.ts"],"sourcesContent":["import type { CmsModelStorageOperationsGetParams } from \"@webiny/api-headless-cms/types/index.js\";\nimport WebinyError from \"@webiny/error\";\nimport { GetModelStorageOperation } from \"@webiny/api-headless-cms/features/shared/storageOperations/model/GetModelStorageOperation.js\";\nimport { CmsDdbModelEntity } from \"~/abstractions/CmsDdbModelEntity.js\";\nimport { createKeys } from \"./keys.js\";\n\nclass DdbGetModelImpl implements GetModelStorageOperation.Interface {\n constructor(private entity: CmsDdbModelEntity.Interface) {}\n\n async execute(params: CmsModelStorageOperationsGetParams) {\n const keys = createKeys(params);\n try {\n const result = await this.entity.get(keys);\n return result?.data || null;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get model.\",\n ex.code || \"MODEL_GET_ERROR\",\n { error: ex, keys }\n );\n }\n }\n}\n\nexport const DdbGetModel = GetModelStorageOperation.createImplementation({\n implementation: DdbGetModelImpl,\n dependencies: [CmsDdbModelEntity]\n});\n"],"names":["DdbGetModelImpl","entity","params","keys","createKeys","result","ex","WebinyError","DdbGetModel","GetModelStorageOperation","CmsDdbModelEntity"],"mappings":";;;;AAMA,MAAMA;IACF,YAAoBC,MAAmC,CAAE;aAArCA,MAAM,GAANA;IAAsC;IAE1D,MAAM,QAAQC,MAA0C,EAAE;QACtD,MAAMC,OAAOC,WAAWF;QACxB,IAAI;YACA,MAAMG,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAACF;YACrC,OAAOE,QAAQ,QAAQ;QAC3B,EAAE,OAAOC,IAAI;YACT,MAAM,IAAIC,MACND,GAAG,OAAO,IAAI,wBACdA,GAAG,IAAI,IAAI,mBACX;gBAAE,OAAOA;gBAAIH;YAAK;QAE1B;IACJ;AACJ;AAEO,MAAMK,cAAcC,yBAAyB,oBAAoB,CAAC;IACrE,gBAAgBT;IAChB,cAAc;QAACU;KAAkB;AACrC"}
@@ -0,0 +1,12 @@
1
+ import type { CmsModelStorageOperationsListParams } from "@webiny/api-headless-cms/types/index.js";
2
+ import { ListModelsStorageOperation } from "@webiny/api-headless-cms/features/shared/storageOperations/model/ListModelsStorageOperation.js";
3
+ import { CmsDdbModelEntity } from "../../abstractions/CmsDdbModelEntity.js";
4
+ declare class DdbListModelsImpl implements ListModelsStorageOperation.Interface {
5
+ private entity;
6
+ constructor(entity: CmsDdbModelEntity.Interface);
7
+ execute(params: CmsModelStorageOperationsListParams): Promise<import("@webiny/api-headless-cms/types/model.js").StorageCmsModel[]>;
8
+ }
9
+ export declare const DdbListModels: typeof DdbListModelsImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/shared/storageOperations/model/ListModelsStorageOperation.js").IListModelsStorageOperation>;
11
+ };
12
+ export {};
@@ -0,0 +1,36 @@
1
+ import error from "@webiny/error";
2
+ import { ListModelsStorageOperation } from "@webiny/api-headless-cms/features/shared/storageOperations/model/ListModelsStorageOperation.js";
3
+ import { CmsDdbModelEntity } from "../../abstractions/CmsDdbModelEntity.js";
4
+ import { createPartitionKey } from "./keys.js";
5
+ class DdbListModelsImpl {
6
+ constructor(entity){
7
+ this.entity = entity;
8
+ }
9
+ async execute(params) {
10
+ const { where } = params;
11
+ const partitionKey = createPartitionKey(where);
12
+ try {
13
+ const result = await this.entity.queryAll({
14
+ partitionKey,
15
+ options: {
16
+ gte: " "
17
+ }
18
+ });
19
+ return result.map((item)=>item.data);
20
+ } catch (ex) {
21
+ throw new error(ex.message || "Could not list models.", ex.code || "MODEL_LIST_ERROR", {
22
+ error: ex,
23
+ partitionKey
24
+ });
25
+ }
26
+ }
27
+ }
28
+ const DdbListModels = ListModelsStorageOperation.createImplementation({
29
+ implementation: DdbListModelsImpl,
30
+ dependencies: [
31
+ CmsDdbModelEntity
32
+ ]
33
+ });
34
+ export { DdbListModels };
35
+
36
+ //# sourceMappingURL=DdbListModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/model/DdbListModels.js","sources":["../../../src/operations/model/DdbListModels.ts"],"sourcesContent":["import type { CmsModelStorageOperationsListParams } from \"@webiny/api-headless-cms/types/index.js\";\nimport WebinyError from \"@webiny/error\";\nimport { ListModelsStorageOperation } from \"@webiny/api-headless-cms/features/shared/storageOperations/model/ListModelsStorageOperation.js\";\nimport { CmsDdbModelEntity } from \"~/abstractions/CmsDdbModelEntity.js\";\nimport { createPartitionKey } from \"./keys.js\";\n\nclass DdbListModelsImpl implements ListModelsStorageOperation.Interface {\n constructor(private entity: CmsDdbModelEntity.Interface) {}\n\n async execute(params: CmsModelStorageOperationsListParams) {\n const { where } = params;\n const partitionKey = createPartitionKey(where);\n try {\n const result = await this.entity.queryAll({\n partitionKey,\n options: { gte: \" \" }\n });\n return result.map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list models.\",\n ex.code || \"MODEL_LIST_ERROR\",\n { error: ex, partitionKey }\n );\n }\n }\n}\n\nexport const DdbListModels = ListModelsStorageOperation.createImplementation({\n implementation: DdbListModelsImpl,\n dependencies: [CmsDdbModelEntity]\n});\n"],"names":["DdbListModelsImpl","entity","params","where","partitionKey","createPartitionKey","result","item","ex","WebinyError","DdbListModels","ListModelsStorageOperation","CmsDdbModelEntity"],"mappings":";;;;AAMA,MAAMA;IACF,YAAoBC,MAAmC,CAAE;aAArCA,MAAM,GAANA;IAAsC;IAE1D,MAAM,QAAQC,MAA2C,EAAE;QACvD,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,MAAME,eAAeC,mBAAmBF;QACxC,IAAI;YACA,MAAMG,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACtCF;gBACA,SAAS;oBAAE,KAAK;gBAAI;YACxB;YACA,OAAOE,OAAO,GAAG,CAACC,CAAAA,OAAQA,KAAK,IAAI;QACvC,EAAE,OAAOC,IAAI;YACT,MAAM,IAAIC,MACND,GAAG,OAAO,IAAI,0BACdA,GAAG,IAAI,IAAI,oBACX;gBAAE,OAAOA;gBAAIJ;YAAa;QAElC;IACJ;AACJ;AAEO,MAAMM,gBAAgBC,2BAA2B,oBAAoB,CAAC;IACzE,gBAAgBX;IAChB,cAAc;QAACY;KAAkB;AACrC"}
@@ -0,0 +1,12 @@
1
+ import type { CmsModelStorageOperationsUpdateParams } from "@webiny/api-headless-cms/types/index.js";
2
+ import { UpdateModelStorageOperation } from "@webiny/api-headless-cms/features/shared/storageOperations/model/UpdateModelStorageOperation.js";
3
+ import { CmsDdbModelEntity } from "../../abstractions/CmsDdbModelEntity.js";
4
+ declare class DdbUpdateModelImpl implements UpdateModelStorageOperation.Interface {
5
+ private entity;
6
+ constructor(entity: CmsDdbModelEntity.Interface);
7
+ execute(params: CmsModelStorageOperationsUpdateParams): Promise<import("@webiny/api-headless-cms/types/model.js").StorageCmsModel>;
8
+ }
9
+ export declare const DdbUpdateModel: typeof DdbUpdateModelImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/shared/storageOperations/model/UpdateModelStorageOperation.js").IUpdateModelStorageOperation>;
11
+ };
12
+ export {};
@@ -0,0 +1,36 @@
1
+ import error from "@webiny/error";
2
+ import { UpdateModelStorageOperation } from "@webiny/api-headless-cms/features/shared/storageOperations/model/UpdateModelStorageOperation.js";
3
+ import { CmsDdbModelEntity } from "../../abstractions/CmsDdbModelEntity.js";
4
+ import { createKeys, createType } from "./keys.js";
5
+ class DdbUpdateModelImpl {
6
+ constructor(entity){
7
+ this.entity = entity;
8
+ }
9
+ async execute(params) {
10
+ const { model } = params;
11
+ const keys = createKeys(model);
12
+ try {
13
+ await this.entity.put({
14
+ data: model,
15
+ ...keys,
16
+ TYPE: createType()
17
+ });
18
+ return model;
19
+ } catch (ex) {
20
+ throw new error(ex.message || "Could not update model.", ex.code || "MODEL_UPDATE_ERROR", {
21
+ error: ex,
22
+ model,
23
+ keys
24
+ });
25
+ }
26
+ }
27
+ }
28
+ const DdbUpdateModel = UpdateModelStorageOperation.createImplementation({
29
+ implementation: DdbUpdateModelImpl,
30
+ dependencies: [
31
+ CmsDdbModelEntity
32
+ ]
33
+ });
34
+ export { DdbUpdateModel };
35
+
36
+ //# sourceMappingURL=DdbUpdateModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/model/DdbUpdateModel.js","sources":["../../../src/operations/model/DdbUpdateModel.ts"],"sourcesContent":["import type { CmsModelStorageOperationsUpdateParams } from \"@webiny/api-headless-cms/types/index.js\";\nimport WebinyError from \"@webiny/error\";\nimport { UpdateModelStorageOperation } from \"@webiny/api-headless-cms/features/shared/storageOperations/model/UpdateModelStorageOperation.js\";\nimport { CmsDdbModelEntity } from \"~/abstractions/CmsDdbModelEntity.js\";\nimport { createKeys, createType } from \"./keys.js\";\n\nclass DdbUpdateModelImpl implements UpdateModelStorageOperation.Interface {\n constructor(private entity: CmsDdbModelEntity.Interface) {}\n\n async execute(params: CmsModelStorageOperationsUpdateParams) {\n const { model } = params;\n const keys = createKeys(model);\n try {\n await this.entity.put({\n data: 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 { error: ex, model, keys }\n );\n }\n }\n}\n\nexport const DdbUpdateModel = UpdateModelStorageOperation.createImplementation({\n implementation: DdbUpdateModelImpl,\n dependencies: [CmsDdbModelEntity]\n});\n"],"names":["DdbUpdateModelImpl","entity","params","model","keys","createKeys","createType","ex","WebinyError","DdbUpdateModel","UpdateModelStorageOperation","CmsDdbModelEntity"],"mappings":";;;;AAMA,MAAMA;IACF,YAAoBC,MAAmC,CAAE;aAArCA,MAAM,GAANA;IAAsC;IAE1D,MAAM,QAAQC,MAA6C,EAAE;QACzD,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,MAAME,OAAOC,WAAWF;QACxB,IAAI;YACA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBAClB,MAAMA;gBACN,GAAGC,IAAI;gBACP,MAAME;YACV;YACA,OAAOH;QACX,EAAE,OAAOI,IAAI;YACT,MAAM,IAAIC,MACND,GAAG,OAAO,IAAI,2BACdA,GAAG,IAAI,IAAI,sBACX;gBAAE,OAAOA;gBAAIJ;gBAAOC;YAAK;QAEjC;IACJ;AACJ;AAEO,MAAMK,iBAAiBC,4BAA4B,oBAAoB,CAAC;IAC3E,gBAAgBV;IAChB,cAAc;QAACW;KAAkB;AACrC"}
@@ -0,0 +1,4 @@
1
+ export declare const DdbModelStorageOpsFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,19 @@
1
+ import { createFeature } from "@webiny/feature/api/index.js";
2
+ import { DdbGetModel } from "./DdbGetModel.js";
3
+ import { DdbListModels } from "./DdbListModels.js";
4
+ import { DdbCreateModel } from "./DdbCreateModel.js";
5
+ import { DdbUpdateModel } from "./DdbUpdateModel.js";
6
+ import { DdbDeleteModel } from "./DdbDeleteModel.js";
7
+ const DdbModelStorageOpsFeature = createFeature({
8
+ name: "cms.ddb.modelStorageOps",
9
+ register: (container)=>{
10
+ container.register(DdbGetModel);
11
+ container.register(DdbListModels);
12
+ container.register(DdbCreateModel);
13
+ container.register(DdbUpdateModel);
14
+ container.register(DdbDeleteModel);
15
+ }
16
+ });
17
+ export { DdbModelStorageOpsFeature };
18
+
19
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/model/feature.js","sources":["../../../src/operations/model/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api/index.js\";\nimport { DdbGetModel } from \"./DdbGetModel.js\";\nimport { DdbListModels } from \"./DdbListModels.js\";\nimport { DdbCreateModel } from \"./DdbCreateModel.js\";\nimport { DdbUpdateModel } from \"./DdbUpdateModel.js\";\nimport { DdbDeleteModel } from \"./DdbDeleteModel.js\";\n\nexport const DdbModelStorageOpsFeature = createFeature({\n name: \"cms.ddb.modelStorageOps\",\n register: container => {\n container.register(DdbGetModel);\n container.register(DdbListModels);\n container.register(DdbCreateModel);\n container.register(DdbUpdateModel);\n container.register(DdbDeleteModel);\n }\n});\n"],"names":["DdbModelStorageOpsFeature","createFeature","container","DdbGetModel","DdbListModels","DdbCreateModel","DdbUpdateModel","DdbDeleteModel"],"mappings":";;;;;;AAOO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAAUC,CAAAA;QACNA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;IACvB;AACJ"}
@@ -0,0 +1,15 @@
1
+ interface PartitionKeysParams {
2
+ tenant: string;
3
+ }
4
+ export declare const createPartitionKey: (params: PartitionKeysParams) => string;
5
+ interface SortKeyParams {
6
+ modelId: string;
7
+ }
8
+ interface Keys {
9
+ PK: string;
10
+ SK: string;
11
+ GSI_TENANT: string;
12
+ }
13
+ export declare const createKeys: (params: PartitionKeysParams & SortKeyParams) => Keys;
14
+ export declare const createType: () => string;
15
+ export {};
@@ -0,0 +1,16 @@
1
+ import error from "@webiny/error";
2
+ const createPartitionKey = (params)=>{
3
+ const { tenant } = params;
4
+ if (!tenant) throw new error("Missing tenant variable when creating model partitionKey.");
5
+ return `T#${tenant}#CMS#CM`;
6
+ };
7
+ const createSortKey = (params)=>params.modelId;
8
+ const createKeys = (params)=>({
9
+ PK: createPartitionKey(params),
10
+ SK: createSortKey(params),
11
+ GSI_TENANT: params.tenant
12
+ });
13
+ const createType = ()=>"cms.model";
14
+ export { createKeys, createPartitionKey, createType };
15
+
16
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations/model/keys.js","sources":["../../../src/operations/model/keys.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\n\ninterface PartitionKeysParams {\n tenant: string;\n}\n\nexport const createPartitionKey = (params: PartitionKeysParams): string => {\n const { tenant } = params;\n if (!tenant) {\n throw new WebinyError(`Missing tenant variable when creating model partitionKey.`);\n }\n return `T#${tenant}#CMS#CM`;\n};\n\ninterface SortKeyParams {\n modelId: string;\n}\n\nconst createSortKey = (params: SortKeyParams): string => {\n return params.modelId;\n};\n\ninterface Keys {\n PK: string;\n SK: string;\n GSI_TENANT: string;\n}\n\nexport const createKeys = (params: PartitionKeysParams & SortKeyParams): Keys => {\n return {\n PK: createPartitionKey(params),\n SK: createSortKey(params),\n GSI_TENANT: params.tenant\n };\n};\n\nexport const createType = (): string => {\n return \"cms.model\";\n};\n"],"names":["createPartitionKey","params","tenant","WebinyError","createSortKey","createKeys","createType"],"mappings":";AAMO,MAAMA,qBAAqB,CAACC;IAC/B,MAAM,EAAEC,MAAM,EAAE,GAAGD;IACnB,IAAI,CAACC,QACD,MAAM,IAAIC,MAAY;IAE1B,OAAO,CAAC,EAAE,EAAED,OAAO,OAAO,CAAC;AAC/B;AAMA,MAAME,gBAAgB,CAACH,SACZA,OAAO,OAAO;AASlB,MAAMI,aAAa,CAACJ,SAChB;QACH,IAAID,mBAAmBC;QACvB,IAAIG,cAAcH;QAClB,YAAYA,OAAO,MAAM;IAC7B;AAGG,MAAMK,aAAa,IACf"}
package/package.json CHANGED
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms-ddb",
3
- "version": "0.0.0-unstable.496cf268ac",
4
- "main": "index.js",
3
+ "version": "0.0.0-unstable.5387e5f7c8",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": "./index.js",
7
+ "./*": "./*"
8
+ },
5
9
  "keywords": [
6
10
  "@webiny/api-headless-cms",
7
11
  "storage-operations",
8
12
  "dynamodb",
13
+ "ddb",
9
14
  "cms:ddb"
10
15
  ],
11
16
  "repository": {
@@ -21,40 +26,32 @@
21
26
  ],
22
27
  "license": "MIT",
23
28
  "dependencies": {
24
- "@babel/runtime": "7.20.13",
25
- "@webiny/api-headless-cms": "0.0.0-unstable.496cf268ac",
26
- "@webiny/db-dynamodb": "0.0.0-unstable.496cf268ac",
27
- "@webiny/error": "0.0.0-unstable.496cf268ac",
28
- "@webiny/handler-db": "0.0.0-unstable.496cf268ac",
29
- "@webiny/utils": "0.0.0-unstable.496cf268ac",
30
- "aws-sdk": "2.1310.0",
31
- "dataloader": "2.2.1",
32
- "dot-prop": "6.0.1",
33
- "dynamodb-toolbox": "0.3.5",
34
- "jsonpack": "1.1.5",
35
- "lodash": "4.17.21"
29
+ "@webiny/api": "0.0.0-unstable.5387e5f7c8",
30
+ "@webiny/api-headless-cms": "0.0.0-unstable.5387e5f7c8",
31
+ "@webiny/api-headless-cms-storage": "0.0.0-unstable.5387e5f7c8",
32
+ "@webiny/aws-sdk": "0.0.0-unstable.5387e5f7c8",
33
+ "@webiny/db-dynamodb": "0.0.0-unstable.5387e5f7c8",
34
+ "@webiny/db-utils": "0.0.0-unstable.5387e5f7c8",
35
+ "@webiny/error": "0.0.0-unstable.5387e5f7c8",
36
+ "@webiny/feature": "0.0.0-unstable.5387e5f7c8",
37
+ "@webiny/handler": "0.0.0-unstable.5387e5f7c8",
38
+ "@webiny/utils": "0.0.0-unstable.5387e5f7c8",
39
+ "dataloader": "2.2.3"
36
40
  },
37
41
  "devDependencies": {
38
- "@babel/cli": "^7.19.3",
39
- "@babel/core": "^7.19.3",
40
- "@babel/preset-env": "^7.19.4",
41
- "@types/jsonpack": "^1.1.0",
42
- "@webiny/cli": "^0.0.0-unstable.496cf268ac",
43
- "@webiny/plugins": "^0.0.0-unstable.496cf268ac",
44
- "@webiny/project-utils": "^0.0.0-unstable.496cf268ac",
45
- "jest": "^28.1.0",
46
- "jest-dynalite": "^3.2.0",
47
- "jest-environment-node": "^27.2.4",
48
- "ttypescript": "^1.5.12",
49
- "typescript": "4.7.4"
42
+ "@types/jsonpack": "1.1.6",
43
+ "@webiny/api-core": "0.0.0-unstable.5387e5f7c8",
44
+ "@webiny/build-tools": "0.0.0-unstable.5387e5f7c8",
45
+ "@webiny/di": "2.0.0",
46
+ "jest-dynalite": "3.6.1",
47
+ "typescript": "7.0.2",
48
+ "vitest": "4.1.11"
50
49
  },
51
50
  "publishConfig": {
52
- "access": "public",
53
- "directory": "dist"
54
- },
55
- "scripts": {
56
- "build": "yarn webiny run build",
57
- "watch": "yarn webiny run watch"
51
+ "access": "public"
58
52
  },
59
- "gitHead": "496cf268acd5b092c860b62d75c7d765c9472043"
53
+ "gitHead": "b8aec8a1be3f25c3b428b357fe1e352c7cbff9ae",
54
+ "webiny": {
55
+ "publishFrom": "dist"
56
+ }
60
57
  }
package/types.d.ts CHANGED
@@ -1,53 +1,20 @@
1
- import { Plugin } from "@webiny/plugins/types";
2
- import { CmsModelField, HeadlessCmsStorageOperations as BaseHeadlessCmsStorageOperations } from "@webiny/api-headless-cms/types";
3
- import { DynamoDBTypes, TableConstructor } from "dynamodb-toolbox/dist/classes/Table";
4
- import { EntityAttributeConfig, EntityCompositeAttributes } from "dynamodb-toolbox/dist/classes/Entity";
5
- import { DocumentClient } from "aws-sdk/clients/dynamodb";
6
- import { Entity, Table } from "dynamodb-toolbox";
7
- interface CmsFieldFilterValueTransformParams {
8
- /**
9
- * A field which value we are transforming.
10
- */
11
- field: Partial<CmsModelField> & Pick<CmsModelField, "id" | "storageId" | "fieldId" | "settings">;
12
- value: any;
13
- }
14
- export interface CmsFieldFilterValueTransformPlugin extends Plugin {
15
- /**
16
- * A plugin type.
17
- */
18
- type: "cms-field-filter-value-transform";
19
- /**
20
- * A field type this plugin is for.
21
- */
22
- fieldType: string;
23
- /**
24
- * Transform method which expect field definition and value to transform.
25
- */
26
- transform: (params: CmsFieldFilterValueTransformParams) => any;
27
- }
28
- export declare type AttributeDefinition = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;
29
- export declare type Attributes = Record<string, AttributeDefinition>;
1
+ import type { CmsEntryValues, CmsModel, CmsStorageEntry } from "@webiny/api-headless-cms/types/index.js";
30
2
  export declare enum ENTITIES {
31
- SYSTEM = "CmsSystem",
32
- SETTINGS = "CmsSettings",
33
3
  GROUPS = "CmsGroups",
34
4
  MODELS = "CmsModels",
35
5
  ENTRIES = "CmsEntries"
36
6
  }
37
- export interface TableModifier {
38
- (table: TableConstructor): TableConstructor;
39
- }
40
- export interface StorageOperationsFactoryParams {
41
- documentClient: DocumentClient;
42
- table?: TableModifier;
43
- attributes?: Record<ENTITIES, Attributes>;
44
- plugins?: Plugin[] | Plugin[][];
7
+ export interface DataLoadersHandlerInterfaceClearAllParams {
8
+ tenant: string;
45
9
  }
46
- export interface HeadlessCmsStorageOperations extends BaseHeadlessCmsStorageOperations {
47
- getTable: () => Table;
48
- getEntities: () => Record<"system" | "settings" | "groups" | "models" | "entries", Entity<any>>;
10
+ export interface DataLoadersHandlerDataLoaderParams {
11
+ model: Pick<CmsModel, "tenant" | "modelId">;
12
+ ids: readonly string[];
49
13
  }
50
- export interface StorageOperationsFactory {
51
- (params: StorageOperationsFactoryParams): HeadlessCmsStorageOperations;
14
+ export interface IDataLoadersHandler {
15
+ getAllEntryRevisions<T extends CmsEntryValues = CmsEntryValues>(params: DataLoadersHandlerDataLoaderParams): Promise<CmsStorageEntry<T>[]>;
16
+ getRevisionById<T extends CmsEntryValues = CmsEntryValues>(params: DataLoadersHandlerDataLoaderParams): Promise<CmsStorageEntry<T>[]>;
17
+ getPublishedRevisionByEntryId<T extends CmsEntryValues = CmsEntryValues>(params: DataLoadersHandlerDataLoaderParams): Promise<CmsStorageEntry<T>[]>;
18
+ getLatestRevisionByEntryId<T extends CmsEntryValues = CmsEntryValues>(params: DataLoadersHandlerDataLoaderParams): Promise<CmsStorageEntry<T>[]>;
19
+ clearAll: (params?: DataLoadersHandlerInterfaceClearAllParams) => void;
52
20
  }
53
- export {};
package/types.js CHANGED
@@ -1,15 +1,9 @@
1
- "use strict";
1
+ var types_ENTITIES = /*#__PURE__*/ function(ENTITIES) {
2
+ ENTITIES["GROUPS"] = "CmsGroups";
3
+ ENTITIES["MODELS"] = "CmsModels";
4
+ ENTITIES["ENTRIES"] = "CmsEntries";
5
+ return ENTITIES;
6
+ }({});
7
+ export { types_ENTITIES as ENTITIES };
2
8
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ENTITIES = void 0;
7
- let ENTITIES;
8
- exports.ENTITIES = ENTITIES;
9
- (function (ENTITIES) {
10
- ENTITIES["SYSTEM"] = "CmsSystem";
11
- ENTITIES["SETTINGS"] = "CmsSettings";
12
- ENTITIES["GROUPS"] = "CmsGroups";
13
- ENTITIES["MODELS"] = "CmsModels";
14
- ENTITIES["ENTRIES"] = "CmsEntries";
15
- })(ENTITIES || (exports.ENTITIES = ENTITIES = {}));
9
+ //# sourceMappingURL=types.js.map
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ENTITIES"],"sources":["types.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins/types\";\nimport {\n CmsModelField,\n HeadlessCmsStorageOperations as BaseHeadlessCmsStorageOperations\n} from \"@webiny/api-headless-cms/types\";\nimport { DynamoDBTypes, TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\nimport {\n EntityAttributeConfig,\n EntityCompositeAttributes\n} from \"dynamodb-toolbox/dist/classes/Entity\";\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Entity, Table } from \"dynamodb-toolbox\";\n\ninterface CmsFieldFilterValueTransformParams {\n /**\n * A field which value we are transforming.\n */\n field: Partial<CmsModelField> &\n Pick<CmsModelField, \"id\" | \"storageId\" | \"fieldId\" | \"settings\">;\n value: any;\n}\n\nexport interface CmsFieldFilterValueTransformPlugin extends Plugin {\n /**\n * A plugin type.\n */\n type: \"cms-field-filter-value-transform\";\n /**\n * A field type this plugin is for.\n */\n fieldType: string;\n /**\n * Transform method which expect field definition and value to transform.\n */\n transform: (params: CmsFieldFilterValueTransformParams) => any;\n}\n\nexport type AttributeDefinition = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;\n\nexport type Attributes = Record<string, AttributeDefinition>;\n\nexport enum ENTITIES {\n SYSTEM = \"CmsSystem\",\n SETTINGS = \"CmsSettings\",\n GROUPS = \"CmsGroups\",\n MODELS = \"CmsModels\",\n ENTRIES = \"CmsEntries\"\n}\n\nexport interface TableModifier {\n (table: TableConstructor): TableConstructor;\n}\n\nexport interface StorageOperationsFactoryParams {\n documentClient: DocumentClient;\n table?: TableModifier;\n attributes?: Record<ENTITIES, Attributes>;\n plugins?: Plugin[] | Plugin[][];\n}\n\nexport interface HeadlessCmsStorageOperations extends BaseHeadlessCmsStorageOperations {\n getTable: () => Table;\n getEntities: () => Record<\"system\" | \"settings\" | \"groups\" | \"models\" | \"entries\", Entity<any>>;\n}\n\nexport interface StorageOperationsFactory {\n (params: StorageOperationsFactoryParams): HeadlessCmsStorageOperations;\n}\n"],"mappings":";;;;;;IAyCYA,QAAQ;AAAA;AAAA,WAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,wBAARA,QAAQ"}
1
+ {"version":3,"file":"types.js","sources":["../src/types.ts"],"sourcesContent":["import type {\n CmsEntryValues,\n CmsModel,\n CmsStorageEntry\n} from \"@webiny/api-headless-cms/types/index.js\";\n\nexport enum ENTITIES {\n GROUPS = \"CmsGroups\",\n MODELS = \"CmsModels\",\n ENTRIES = \"CmsEntries\"\n}\n\nexport interface DataLoadersHandlerInterfaceClearAllParams {\n tenant: string;\n}\n\nexport interface DataLoadersHandlerDataLoaderParams {\n model: Pick<CmsModel, \"tenant\" | \"modelId\">;\n ids: readonly string[];\n}\n\nexport interface IDataLoadersHandler {\n getAllEntryRevisions<T extends CmsEntryValues = CmsEntryValues>(\n params: DataLoadersHandlerDataLoaderParams\n ): Promise<CmsStorageEntry<T>[]>;\n getRevisionById<T extends CmsEntryValues = CmsEntryValues>(\n params: DataLoadersHandlerDataLoaderParams\n ): Promise<CmsStorageEntry<T>[]>;\n getPublishedRevisionByEntryId<T extends CmsEntryValues = CmsEntryValues>(\n params: DataLoadersHandlerDataLoaderParams\n ): Promise<CmsStorageEntry<T>[]>;\n getLatestRevisionByEntryId<T extends CmsEntryValues = CmsEntryValues>(\n params: DataLoadersHandlerDataLoaderParams\n ): Promise<CmsStorageEntry<T>[]>;\n clearAll: (params?: DataLoadersHandlerInterfaceClearAllParams) => void;\n}\n"],"names":["ENTITIES"],"mappings":"AAMO,IAAKA,iBAAQA,WAAAA,GAAAA,SAARA,QAAQ;;;;WAARA"}
@@ -1,9 +0,0 @@
1
- import { Entity, Table } from "dynamodb-toolbox";
2
- import { Attributes } from "../types";
3
- interface Params {
4
- table: Table;
5
- entityName: string;
6
- attributes: Attributes;
7
- }
8
- export declare const createSettingsEntity: (params: Params) => Entity<any>;
9
- export {};
@@ -1,53 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.createSettingsEntity = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _dynamodbToolbox = require("dynamodb-toolbox");
10
- const createSettingsEntity = params => {
11
- const {
12
- entityName,
13
- table,
14
- attributes
15
- } = params;
16
- return new _dynamodbToolbox.Entity({
17
- name: entityName,
18
- table,
19
- attributes: (0, _objectSpread2.default)({
20
- PK: {
21
- partitionKey: true
22
- },
23
- SK: {
24
- sortKey: true
25
- },
26
- TYPE: {
27
- type: "string"
28
- },
29
- key: {
30
- type: "string"
31
- },
32
- uploadMinFileSize: {
33
- type: "number"
34
- },
35
- uploadMaxFileSize: {
36
- type: "number"
37
- },
38
- srcPrefix: {
39
- type: "string"
40
- },
41
- contentModelLastChange: {
42
- type: "string"
43
- },
44
- tenant: {
45
- type: "string"
46
- },
47
- locale: {
48
- type: "string"
49
- }
50
- }, attributes || {})
51
- });
52
- };
53
- exports.createSettingsEntity = createSettingsEntity;
@@ -1 +0,0 @@
1
- {"version":3,"names":["createSettingsEntity","params","entityName","table","attributes","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","key","uploadMinFileSize","uploadMaxFileSize","srcPrefix","contentModelLastChange","tenant","locale"],"sources":["settings.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface Params {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createSettingsEntity = (params: Params): Entity<any> => {\n const { entityName, table, attributes } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n key: {\n type: \"string\"\n },\n uploadMinFileSize: {\n type: \"number\"\n },\n uploadMaxFileSize: {\n type: \"number\"\n },\n srcPrefix: {\n type: \"string\"\n },\n contentModelLastChange: {\n type: \"string\"\n },\n tenant: {\n type: \"string\"\n },\n locale: {\n type: \"string\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AASO,MAAMA,oBAAoB,GAAIC,MAAc,IAAkB;EACjE,MAAM;IAAEC,UAAU;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBC,KAAK;IACLC,UAAU;MACNG,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,GAAG,EAAE;QACDD,IAAI,EAAE;MACV,CAAC;MACDE,iBAAiB,EAAE;QACfF,IAAI,EAAE;MACV,CAAC;MACDG,iBAAiB,EAAE;QACfH,IAAI,EAAE;MACV,CAAC;MACDI,SAAS,EAAE;QACPJ,IAAI,EAAE;MACV,CAAC;MACDK,sBAAsB,EAAE;QACpBL,IAAI,EAAE;MACV,CAAC;MACDM,MAAM,EAAE;QACJN,IAAI,EAAE;MACV,CAAC;MACDO,MAAM,EAAE;QACJP,IAAI,EAAE;MACV;IAAC,GACGR,UAAU,IAAI,CAAC,CAAC;EAE5B,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,9 +0,0 @@
1
- import { Entity, Table } from "dynamodb-toolbox";
2
- import { Attributes } from "../types";
3
- interface Params {
4
- table: Table;
5
- entityName: string;
6
- attributes: Attributes;
7
- }
8
- export declare const createSystemEntity: (params: Params) => Entity<any>;
9
- export {};
@@ -1,41 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.createSystemEntity = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _dynamodbToolbox = require("dynamodb-toolbox");
10
- const createSystemEntity = params => {
11
- const {
12
- entityName,
13
- attributes,
14
- table
15
- } = params;
16
- return new _dynamodbToolbox.Entity({
17
- name: entityName,
18
- table,
19
- attributes: (0, _objectSpread2.default)({
20
- PK: {
21
- partitionKey: true
22
- },
23
- SK: {
24
- sortKey: true
25
- },
26
- version: {
27
- type: "string"
28
- },
29
- locale: {
30
- type: "string"
31
- },
32
- tenant: {
33
- type: "string"
34
- },
35
- readAPIKey: {
36
- type: "string"
37
- }
38
- }, attributes || {})
39
- });
40
- };
41
- exports.createSystemEntity = createSystemEntity;
@@ -1 +0,0 @@
1
- {"version":3,"names":["createSystemEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","version","type","locale","tenant","readAPIKey"],"sources":["system.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface Params {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createSystemEntity = (params: Params): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n version: {\n type: \"string\"\n },\n locale: {\n type: \"string\"\n },\n tenant: {\n type: \"string\"\n },\n readAPIKey: {\n type: \"string\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AASO,MAAMA,kBAAkB,GAAIC,MAAc,IAAkB;EAC/D,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,MAAM,EAAE;QACJD,IAAI,EAAE;MACV,CAAC;MACDE,MAAM,EAAE;QACJF,IAAI,EAAE;MACV,CAAC;MACDG,UAAU,EAAE;QACRH,IAAI,EAAE;MACV;IAAC,GACGT,UAAU,IAAI,CAAC,CAAC;EAE5B,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,2 +0,0 @@
1
- declare const _default: () => (import("@webiny/api-headless-cms").StorageTransformPlugin<any, any, import("@webiny/api-headless-cms/types").CmsModelField> | import("..").CmsEntryFieldFilterPathPlugin | import("../types").CmsFieldFilterValueTransformPlugin)[];
2
- export default _default;
package/dynamoDb/index.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _richText = require("./storage/richText");
8
- var _longText = require("./storage/longText");
9
- var _date = require("./storage/date");
10
- var _plainObject = require("./path/plainObject");
11
- var _datetime = require("./transformValue/datetime");
12
- var _default = () => [(0, _richText.createRichTextStorageTransformPlugin)(), (0, _longText.createLongTextStorageTransformPlugin)(), (0, _date.createDateStorageTransformPlugin)(), (0, _plainObject.createPlainObjectPathPlugin)(), (0, _datetime.createDatetimeTransformValuePlugin)()];
13
- exports.default = _default;
@@ -1 +0,0 @@
1
- {"version":3,"names":["createRichTextStorageTransformPlugin","createLongTextStorageTransformPlugin","createDateStorageTransformPlugin","createPlainObjectPathPlugin","createDatetimeTransformValuePlugin"],"sources":["index.ts"],"sourcesContent":["import { createRichTextStorageTransformPlugin } from \"./storage/richText\";\nimport { createLongTextStorageTransformPlugin } from \"./storage/longText\";\nimport { createDateStorageTransformPlugin } from \"./storage/date\";\nimport { createPlainObjectPathPlugin } from \"./path/plainObject\";\nimport { createDatetimeTransformValuePlugin } from \"./transformValue/datetime\";\n\nexport default () => [\n createRichTextStorageTransformPlugin(),\n createLongTextStorageTransformPlugin(),\n createDateStorageTransformPlugin(),\n createPlainObjectPathPlugin(),\n createDatetimeTransformValuePlugin()\n];\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AAA+E,eAEhE,MAAM,CACjB,IAAAA,8CAAoC,GAAE,EACtC,IAAAC,8CAAoC,GAAE,EACtC,IAAAC,sCAAgC,GAAE,EAClC,IAAAC,wCAA2B,GAAE,EAC7B,IAAAC,4CAAkC,GAAE,CACvC;AAAA"}
@@ -1,2 +0,0 @@
1
- import { CmsEntryFieldFilterPathPlugin } from "../../plugins/CmsEntryFieldFilterPathPlugin";
2
- export declare const createPlainObjectPathPlugin: () => CmsEntryFieldFilterPathPlugin;