@webiny/api-page-builder-so-ddb-es 6.0.0-alpha.0 → 6.0.0-alpha.2

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 (82) hide show
  1. package/configurations.d.ts +2 -2
  2. package/configurations.js.map +1 -1
  3. package/definitions/blockCategoryEntity.d.ts +3 -2
  4. package/definitions/blockCategoryEntity.js.map +1 -1
  5. package/definitions/categoryEntity.d.ts +3 -2
  6. package/definitions/categoryEntity.js.map +1 -1
  7. package/definitions/menuEntity.d.ts +3 -2
  8. package/definitions/menuEntity.js.map +1 -1
  9. package/definitions/pageBlockEntity.d.ts +3 -2
  10. package/definitions/pageBlockEntity.js.map +1 -1
  11. package/definitions/pageElasticsearchEntity.d.ts +3 -2
  12. package/definitions/pageElasticsearchEntity.js.map +1 -1
  13. package/definitions/pageElementEntity.d.ts +3 -2
  14. package/definitions/pageElementEntity.js.map +1 -1
  15. package/definitions/pageEntity.d.ts +3 -2
  16. package/definitions/pageEntity.js.map +1 -1
  17. package/definitions/pageTemplateEntity.d.ts +3 -2
  18. package/definitions/pageTemplateEntity.js.map +1 -1
  19. package/definitions/settingsEntity.d.ts +2 -1
  20. package/definitions/settingsEntity.js.map +1 -1
  21. package/definitions/systemEntity.d.ts +3 -2
  22. package/definitions/systemEntity.js.map +1 -1
  23. package/definitions/table.d.ts +2 -2
  24. package/definitions/table.js.map +1 -1
  25. package/definitions/tableElasticsearch.d.ts +2 -2
  26. package/definitions/tableElasticsearch.js.map +1 -1
  27. package/elasticsearch/createElasticsearchIndex.d.ts +2 -2
  28. package/elasticsearch/createElasticsearchIndex.js.map +1 -1
  29. package/index.d.ts +1 -1
  30. package/index.js.map +1 -1
  31. package/operations/blockCategory/dataLoader.d.ts +3 -3
  32. package/operations/blockCategory/dataLoader.js.map +1 -1
  33. package/operations/blockCategory/index.d.ts +3 -3
  34. package/operations/blockCategory/index.js.map +1 -1
  35. package/operations/category/dataLoader.d.ts +3 -3
  36. package/operations/category/dataLoader.js.map +1 -1
  37. package/operations/category/index.d.ts +3 -3
  38. package/operations/category/index.js.map +1 -1
  39. package/operations/menu/index.d.ts +3 -3
  40. package/operations/menu/index.js.map +1 -1
  41. package/operations/pageBlock/compression.d.ts +1 -1
  42. package/operations/pageBlock/compression.js.map +1 -1
  43. package/operations/pageBlock/dataLoader.d.ts +3 -3
  44. package/operations/pageBlock/dataLoader.js.map +1 -1
  45. package/operations/pageBlock/index.d.ts +3 -3
  46. package/operations/pageBlock/index.js.map +1 -1
  47. package/operations/pageElement/index.d.ts +3 -3
  48. package/operations/pageElement/index.js.map +1 -1
  49. package/operations/pageTemplate/dataLoader.d.ts +3 -3
  50. package/operations/pageTemplate/dataLoader.js.map +1 -1
  51. package/operations/pageTemplate/index.d.ts +3 -3
  52. package/operations/pageTemplate/index.js.map +1 -1
  53. package/operations/pageTemplate/keys.d.ts +1 -1
  54. package/operations/pageTemplate/keys.js.map +1 -1
  55. package/operations/pages/elasticsearchQueryBody.d.ts +3 -3
  56. package/operations/pages/elasticsearchQueryBody.js.map +1 -1
  57. package/operations/pages/helpers.d.ts +2 -2
  58. package/operations/pages/helpers.js.map +1 -1
  59. package/operations/pages/index.js.map +1 -1
  60. package/operations/pages/logIgnoredEsResponseError.d.ts +1 -1
  61. package/operations/pages/logIgnoredEsResponseError.js.map +1 -1
  62. package/operations/pages/shouldIgnoreEsResponseError.d.ts +1 -1
  63. package/operations/pages/shouldIgnoreEsResponseError.js.map +1 -1
  64. package/operations/settings/index.d.ts +2 -2
  65. package/operations/settings/index.js.map +1 -1
  66. package/operations/system/index.d.ts +2 -2
  67. package/operations/system/index.js.map +1 -1
  68. package/package.json +29 -29
  69. package/plugins/definitions/IndexPageDataPlugin.d.ts +3 -2
  70. package/plugins/definitions/IndexPageDataPlugin.js.map +1 -1
  71. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.d.ts +2 -1
  72. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.js.map +1 -1
  73. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.d.ts +3 -2
  74. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.js.map +1 -1
  75. package/plugins/definitions/PageElasticsearchSortModifierPlugin.d.ts +2 -1
  76. package/plugins/definitions/PageElasticsearchSortModifierPlugin.js.map +1 -1
  77. package/plugins/definitions/SearchPagesPlugin.d.ts +3 -2
  78. package/plugins/definitions/SearchPagesPlugin.js.map +1 -1
  79. package/tasks/createIndexTaskPlugin.d.ts +1 -1
  80. package/tasks/createIndexTaskPlugin.js.map +1 -1
  81. package/types.d.ts +5 -5
  82. package/types.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_BlockCategoryDynamoDbElasticFieldPlugin","_keys","_dbDynamodb","createType","createBlockCategoryStorageOperations","entity","plugins","dataLoader","BlockCategoryDataLoader","get","params","where","getOne","ex","WebinyError","message","code","create","blockCategory","keys","PK","createPartitionKey","tenant","locale","SK","createSortKey","put","item","TYPE","clear","update","original","category","deleteBlockCategory","deleteItem","list","sort","limit","restWhere","queryAllParams","partitionKey","options","gt","items","queryAll","fields","byType","BlockCategoryDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","totalCount","length","after","delete","exports"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n BlockCategory,\n BlockCategoryStorageOperationsCreateParams,\n BlockCategoryStorageOperationsDeleteParams,\n BlockCategoryStorageOperationsGetParams,\n BlockCategoryStorageOperationsListParams,\n BlockCategoryStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"@webiny/db-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\";\nimport { BlockCategoryStorageOperations } from \"~/types\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\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 put({\n entity,\n item: {\n ...blockCategory,\n TYPE: createType(),\n ...keys\n }\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 put({\n entity,\n item: {\n ...blockCategory,\n TYPE: createType(),\n ...keys\n }\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 deleteItem({\n entity,\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 dataLoader,\n get,\n create,\n update,\n delete: deleteBlockCategory,\n list\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_BlockCategoryDynamoDbElasticFieldPlugin","_keys","_dbDynamodb","createType","createBlockCategoryStorageOperations","entity","plugins","dataLoader","BlockCategoryDataLoader","get","params","where","getOne","ex","WebinyError","message","code","create","blockCategory","keys","PK","createPartitionKey","tenant","locale","SK","createSortKey","put","item","TYPE","clear","update","original","category","deleteBlockCategory","deleteItem","list","sort","limit","restWhere","queryAllParams","partitionKey","options","gt","items","queryAll","fields","byType","BlockCategoryDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","totalCount","length","after","delete","exports"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n BlockCategory,\n BlockCategoryStorageOperationsCreateParams,\n BlockCategoryStorageOperationsDeleteParams,\n BlockCategoryStorageOperationsGetParams,\n BlockCategoryStorageOperationsListParams,\n BlockCategoryStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport type { QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { queryAll } 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 type { PluginsContainer } from \"@webiny/plugins\";\nimport { createPartitionKey, createSortKey } from \"~/operations/blockCategory/keys\";\nimport type { BlockCategoryStorageOperations } from \"~/types\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\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 put({\n entity,\n item: {\n ...blockCategory,\n TYPE: createType(),\n ...keys\n }\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 put({\n entity,\n item: {\n ...blockCategory,\n TYPE: createType(),\n ...keys\n }\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 deleteItem({\n entity,\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 dataLoader,\n get,\n create,\n update,\n delete: deleteBlockCategory,\n list\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { Category } from "@webiny/api-page-builder/types";
2
- import { Entity } from "@webiny/db-dynamodb/toolbox";
3
- import { DataLoaderInterface } from "../../types";
1
+ import type { Category } from "@webiny/api-page-builder/types";
2
+ import type { Entity } from "@webiny/db-dynamodb/toolbox";
3
+ import type { DataLoaderInterface } from "../../types";
4
4
  interface Params {
5
5
  entity: Entity<any>;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_dataloader","_interopRequireDefault","require","_dbDynamodb","_cleanup","_keys","CategoryDataLoader","_getDataLoader","undefined","constructor","params","entity","getOne","item","getDataLoader","load","getAll","items","loadMany","clear","clearAll","cacheKeyFn","key","tenant","locale","slug","DataLoader","batched","map","getBatch","PK","createPartitionKey","SK","createSortKey","records","batchReadAll","table","results","reduce","collection","result","cleanupItem","exports"],"sources":["dataLoader.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { batchReadAll } from \"@webiny/db-dynamodb\";\nimport { Category } from \"@webiny/api-page-builder/types\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { createPartitionKey, createSortKey } from \"./keys\";\nimport { DataLoaderInterface } from \"~/types\";\n\ninterface Params {\n entity: Entity<any>;\n}\n\ntype DataLoaderGetItem = Pick<Category, \"slug\" | \"tenant\" | \"locale\">;\n\nexport class CategoryDataLoader implements DataLoaderInterface {\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<Category> {\n return await this.getDataLoader().load(item);\n }\n\n public async getAll(items: DataLoaderGetItem[]): Promise<Category[]> {\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<Category>({\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 Category;\n return collection;\n }, {} as Record<string, Category>);\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,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AASO,MAAMI,kBAAkB,CAAgC;EACnDC,cAAc,GAAqCC,SAAS;EAIpEC,WAAWA,CAACC,MAAc,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;EAC/B;EAEA,MAAaC,MAAMA,CAACC,IAAuB,EAAqB;IAC5D,OAAO,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,CAACC,IAAI,CAACF,IAAI,CAAC;EAChD;EAEA,MAAaG,MAAMA,CAACC,KAA0B,EAAuB;IACjE,OAAO,MAAM,IAAI,CAACH,aAAa,CAAC,CAAC,CAACI,QAAQ,CAACD,KAAK,CAAC;EACrD;EAEOE,KAAKA,CAAA,EAAS;IACjB,IAAI,CAACL,aAAa,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EACnC;EAEQN,aAAaA,CAAA,EAAyB;IAC1C,IAAI,CAAC,IAAI,CAACP,cAAc,EAAE;MACtB,MAAMc,UAAU,GAAIC,GAAsB,IAAK;QAC3C,OAAO,KAAKA,GAAG,CAACC,MAAM,MAAMD,GAAG,CAACE,MAAM,IAAIF,GAAG,CAACG,IAAI,EAAE;MACxD,CAAC;MACD,IAAI,CAAClB,cAAc,GAAG,IAAImB,mBAAU,CAChC,MAAMT,KAAK,IAAI;QACX,MAAMU,OAAO,GAAGV,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UAC9B,OAAO,IAAI,CAACF,MAAM,CAACkB,QAAQ,CAAC;YACxBC,EAAE,EAAE,IAAAC,wBAAkB,EAAClB,IAAI,CAAC;YAC5BmB,EAAE,EAAE,IAAAC,mBAAa,EAACpB,IAAI;UAC1B,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,MAAMqB,OAAO,GAAG,MAAM,IAAAC,wBAAY,EAAW;UACzCC,KAAK,EAAE,IAAI,CAACzB,MAAM,CAACyB,KAAK;UACxBnB,KAAK,EAAEU;QACX,CAAC,CAAC;QAEF,MAAMU,OAAO,GAAGH,OAAO,CAACI,MAAM,CAAC,CAACC,UAAU,EAAEC,MAAM,KAAK;UACnD,IAAI,CAACA,MAAM,EAAE;YACT,OAAOD,UAAU;UACrB;UACA,MAAMjB,GAAG,GAAGD,UAAU,CAACmB,MAAM,CAAC;UAC9BD,UAAU,CAACjB,GAAG,CAAC,GAAG,IAAAmB,oBAAW,EAAC,IAAI,CAAC9B,MAAM,EAAE6B,MAAM,CAAa;UAC9D,OAAOD,UAAU;QACrB,CAAC,EAAE,CAAC,CAA6B,CAAC;QAClC,OAAOtB,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UACrB,MAAMS,GAAG,GAAGD,UAAU,CAACR,IAAI,CAAC;UAC5B,OAAOwB,OAAO,CAACf,GAAG,CAAC,IAAI,IAAI;QAC/B,CAAC,CAAC;MACN,CAAC,EACD;QACID;MACJ,CACJ,CAAC;IACL;IACA,OAAO,IAAI,CAACd,cAAc;EAC9B;AACJ;AAACmC,OAAA,CAAApC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_dataloader","_interopRequireDefault","require","_dbDynamodb","_cleanup","_keys","CategoryDataLoader","_getDataLoader","undefined","constructor","params","entity","getOne","item","getDataLoader","load","getAll","items","loadMany","clear","clearAll","cacheKeyFn","key","tenant","locale","slug","DataLoader","batched","map","getBatch","PK","createPartitionKey","SK","createSortKey","records","batchReadAll","table","results","reduce","collection","result","cleanupItem","exports"],"sources":["dataLoader.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { batchReadAll } from \"@webiny/db-dynamodb\";\nimport type { Category } from \"@webiny/api-page-builder/types\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { createPartitionKey, createSortKey } from \"./keys\";\nimport type { DataLoaderInterface } from \"~/types\";\n\ninterface Params {\n entity: Entity<any>;\n}\n\ntype DataLoaderGetItem = Pick<Category, \"slug\" | \"tenant\" | \"locale\">;\n\nexport class CategoryDataLoader implements DataLoaderInterface {\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<Category> {\n return await this.getDataLoader().load(item);\n }\n\n public async getAll(items: DataLoaderGetItem[]): Promise<Category[]> {\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<Category>({\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 Category;\n return collection;\n }, {} as Record<string, Category>);\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,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AASO,MAAMI,kBAAkB,CAAgC;EACnDC,cAAc,GAAqCC,SAAS;EAIpEC,WAAWA,CAACC,MAAc,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;EAC/B;EAEA,MAAaC,MAAMA,CAACC,IAAuB,EAAqB;IAC5D,OAAO,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,CAACC,IAAI,CAACF,IAAI,CAAC;EAChD;EAEA,MAAaG,MAAMA,CAACC,KAA0B,EAAuB;IACjE,OAAO,MAAM,IAAI,CAACH,aAAa,CAAC,CAAC,CAACI,QAAQ,CAACD,KAAK,CAAC;EACrD;EAEOE,KAAKA,CAAA,EAAS;IACjB,IAAI,CAACL,aAAa,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EACnC;EAEQN,aAAaA,CAAA,EAAyB;IAC1C,IAAI,CAAC,IAAI,CAACP,cAAc,EAAE;MACtB,MAAMc,UAAU,GAAIC,GAAsB,IAAK;QAC3C,OAAO,KAAKA,GAAG,CAACC,MAAM,MAAMD,GAAG,CAACE,MAAM,IAAIF,GAAG,CAACG,IAAI,EAAE;MACxD,CAAC;MACD,IAAI,CAAClB,cAAc,GAAG,IAAImB,mBAAU,CAChC,MAAMT,KAAK,IAAI;QACX,MAAMU,OAAO,GAAGV,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UAC9B,OAAO,IAAI,CAACF,MAAM,CAACkB,QAAQ,CAAC;YACxBC,EAAE,EAAE,IAAAC,wBAAkB,EAAClB,IAAI,CAAC;YAC5BmB,EAAE,EAAE,IAAAC,mBAAa,EAACpB,IAAI;UAC1B,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,MAAMqB,OAAO,GAAG,MAAM,IAAAC,wBAAY,EAAW;UACzCC,KAAK,EAAE,IAAI,CAACzB,MAAM,CAACyB,KAAK;UACxBnB,KAAK,EAAEU;QACX,CAAC,CAAC;QAEF,MAAMU,OAAO,GAAGH,OAAO,CAACI,MAAM,CAAC,CAACC,UAAU,EAAEC,MAAM,KAAK;UACnD,IAAI,CAACA,MAAM,EAAE;YACT,OAAOD,UAAU;UACrB;UACA,MAAMjB,GAAG,GAAGD,UAAU,CAACmB,MAAM,CAAC;UAC9BD,UAAU,CAACjB,GAAG,CAAC,GAAG,IAAAmB,oBAAW,EAAC,IAAI,CAAC9B,MAAM,EAAE6B,MAAM,CAAa;UAC9D,OAAOD,UAAU;QACrB,CAAC,EAAE,CAAC,CAA6B,CAAC;QAClC,OAAOtB,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UACrB,MAAMS,GAAG,GAAGD,UAAU,CAACR,IAAI,CAAC;UAC5B,OAAOwB,OAAO,CAACf,GAAG,CAAC,IAAI,IAAI;QAC/B,CAAC,CAAC;MACN,CAAC,EACD;QACID;MACJ,CACJ,CAAC;IACL;IACA,OAAO,IAAI,CAACd,cAAc;EAC9B;AACJ;AAACmC,OAAA,CAAApC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { Entity } from "@webiny/db-dynamodb/toolbox";
2
- import { PluginsContainer } from "@webiny/plugins";
3
- import { CategoryStorageOperations } from "../../types";
1
+ import type { Entity } from "@webiny/db-dynamodb/toolbox";
2
+ import type { PluginsContainer } from "@webiny/plugins";
3
+ import type { CategoryStorageOperations } from "../../types";
4
4
  export interface CreateCategoryStorageOperationsParams {
5
5
  entity: Entity<any>;
6
6
  plugins: PluginsContainer;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_CategoryDynamoDbElasticFieldPlugin","_keys","_dbDynamodb","createType","createCategoryStorageOperations","entity","plugins","dataLoader","CategoryDataLoader","get","params","where","getOne","ex","WebinyError","message","code","create","category","keys","PK","createPartitionKey","tenant","locale","SK","createSortKey","put","item","TYPE","clear","update","original","deleteCategory","deleteItem","list","sort","limit","restWhere","queryAllParams","partitionKey","options","gt","items","queryAll","fields","byType","CategoryDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","totalCount","length","after","delete","exports"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n Category,\n CategoryStorageOperationsCreateParams,\n CategoryStorageOperationsDeleteParams,\n CategoryStorageOperationsGetParams,\n CategoryStorageOperationsListParams,\n CategoryStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"@webiny/db-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 { CategoryDataLoader } from \"./dataLoader\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { CategoryDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/CategoryDynamoDbElasticFieldPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { createPartitionKey, createSortKey } from \"~/operations/category/keys\";\nimport { CategoryStorageOperations } from \"~/types\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\n\nconst createType = (): string => {\n return \"pb.category\";\n};\n\nexport interface CreateCategoryStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createCategoryStorageOperations = ({\n entity,\n plugins\n}: CreateCategoryStorageOperationsParams): CategoryStorageOperations => {\n const dataLoader = new CategoryDataLoader({\n entity\n });\n\n const get = async (params: CategoryStorageOperationsGetParams) => {\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 category by given parameters.\",\n ex.code || \"CATEGORY_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const create = async (params: CategoryStorageOperationsCreateParams) => {\n const { category } = params;\n\n const keys = {\n PK: createPartitionKey({\n tenant: category.tenant,\n locale: category.locale\n }),\n SK: createSortKey(category)\n };\n\n try {\n await put({\n entity,\n item: {\n ...category,\n TYPE: createType(),\n ...keys\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return category;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create category.\",\n ex.code || \"CATEGORY_CREATE_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n const update = async (params: CategoryStorageOperationsUpdateParams) => {\n const { original, category } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: original.tenant,\n locale: original.locale\n }),\n SK: createSortKey(category)\n };\n\n try {\n await put({\n entity,\n item: {\n ...category,\n TYPE: createType(),\n ...keys\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return category;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update category.\",\n ex.code || \"CATEGORY_UPDATE_ERROR\",\n {\n keys,\n original,\n category\n }\n );\n }\n };\n\n const deleteCategory = async (params: CategoryStorageOperationsDeleteParams) => {\n const { category } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: category.tenant,\n locale: category.locale\n }),\n SK: createSortKey(category)\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return category;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete category.\",\n ex.code || \"CATEGORY_DELETE_ERROR\",\n {\n keys,\n category\n }\n );\n }\n };\n\n const list = async (params: CategoryStorageOperationsListParams) => {\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: Category[] = [];\n\n try {\n items = await queryAll<Category>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list categories by given parameters.\",\n ex.code || \"CATEGORIES_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<CategoryDynamoDbElasticFieldPlugin>(\n CategoryDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<Category>({\n plugins,\n where: restWhere,\n items,\n fields\n });\n\n const sortedItems = sortItems<Category>({\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 dataLoader,\n get,\n create,\n update,\n delete: deleteCategory,\n list\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_CategoryDynamoDbElasticFieldPlugin","_keys","_dbDynamodb","createType","createCategoryStorageOperations","entity","plugins","dataLoader","CategoryDataLoader","get","params","where","getOne","ex","WebinyError","message","code","create","category","keys","PK","createPartitionKey","tenant","locale","SK","createSortKey","put","item","TYPE","clear","update","original","deleteCategory","deleteItem","list","sort","limit","restWhere","queryAllParams","partitionKey","options","gt","items","queryAll","fields","byType","CategoryDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","totalCount","length","after","delete","exports"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n Category,\n CategoryStorageOperationsCreateParams,\n CategoryStorageOperationsDeleteParams,\n CategoryStorageOperationsGetParams,\n CategoryStorageOperationsListParams,\n CategoryStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport type { QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { CategoryDataLoader } from \"./dataLoader\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { CategoryDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/CategoryDynamoDbElasticFieldPlugin\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { createPartitionKey, createSortKey } from \"~/operations/category/keys\";\nimport type { CategoryStorageOperations } from \"~/types\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\n\nconst createType = (): string => {\n return \"pb.category\";\n};\n\nexport interface CreateCategoryStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createCategoryStorageOperations = ({\n entity,\n plugins\n}: CreateCategoryStorageOperationsParams): CategoryStorageOperations => {\n const dataLoader = new CategoryDataLoader({\n entity\n });\n\n const get = async (params: CategoryStorageOperationsGetParams) => {\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 category by given parameters.\",\n ex.code || \"CATEGORY_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const create = async (params: CategoryStorageOperationsCreateParams) => {\n const { category } = params;\n\n const keys = {\n PK: createPartitionKey({\n tenant: category.tenant,\n locale: category.locale\n }),\n SK: createSortKey(category)\n };\n\n try {\n await put({\n entity,\n item: {\n ...category,\n TYPE: createType(),\n ...keys\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return category;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create category.\",\n ex.code || \"CATEGORY_CREATE_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n const update = async (params: CategoryStorageOperationsUpdateParams) => {\n const { original, category } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: original.tenant,\n locale: original.locale\n }),\n SK: createSortKey(category)\n };\n\n try {\n await put({\n entity,\n item: {\n ...category,\n TYPE: createType(),\n ...keys\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return category;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update category.\",\n ex.code || \"CATEGORY_UPDATE_ERROR\",\n {\n keys,\n original,\n category\n }\n );\n }\n };\n\n const deleteCategory = async (params: CategoryStorageOperationsDeleteParams) => {\n const { category } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: category.tenant,\n locale: category.locale\n }),\n SK: createSortKey(category)\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return category;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete category.\",\n ex.code || \"CATEGORY_DELETE_ERROR\",\n {\n keys,\n category\n }\n );\n }\n };\n\n const list = async (params: CategoryStorageOperationsListParams) => {\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: Category[] = [];\n\n try {\n items = await queryAll<Category>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list categories by given parameters.\",\n ex.code || \"CATEGORIES_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<CategoryDynamoDbElasticFieldPlugin>(\n CategoryDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<Category>({\n plugins,\n where: restWhere,\n items,\n fields\n });\n\n const sortedItems = sortItems<Category>({\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 dataLoader,\n get,\n create,\n update,\n delete: deleteCategory,\n list\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAWA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,mCAAA,GAAAN,OAAA;AAEA,IAAAO,KAAA,GAAAP,OAAA;AAEA,IAAAQ,WAAA,GAAAR,OAAA;AAEA,MAAMS,UAAU,GAAGA,CAAA,KAAc;EAC7B,OAAO,aAAa;AACxB,CAAC;AAMM,MAAMC,+BAA+B,GAAGA,CAAC;EAC5CC,MAAM;EACNC;AACmC,CAAC,KAAgC;EACpE,MAAMC,UAAU,GAAG,IAAIC,8BAAkB,CAAC;IACtCH;EACJ,CAAC,CAAC;EAEF,MAAMI,GAAG,GAAG,MAAOC,MAA0C,IAAK;IAC9D,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM;IAExB,IAAI;MACA,OAAO,MAAMH,UAAU,CAACK,MAAM,CAACD,KAAK,CAAC;IACzC,CAAC,CAAC,OAAOE,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,8CAA8C,EAC5DF,EAAE,CAACG,IAAI,IAAI,oBAAoB,EAC/B;QACIL;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMM,MAAM,GAAG,MAAOP,MAA6C,IAAK;IACpE,MAAM;MAAEQ;IAAS,CAAC,GAAGR,MAAM;IAE3B,MAAMS,IAAI,GAAG;MACTC,EAAE,EAAE,IAAAC,wBAAkB,EAAC;QACnBC,MAAM,EAAEJ,QAAQ,CAACI,MAAM;QACvBC,MAAM,EAAEL,QAAQ,CAACK;MACrB,CAAC,CAAC;MACFC,EAAE,EAAE,IAAAC,mBAAa,EAACP,QAAQ;IAC9B,CAAC;IAED,IAAI;MACA,MAAM,IAAAQ,eAAG,EAAC;QACNrB,MAAM;QACNsB,IAAI,EAAE;UACF,GAAGT,QAAQ;UACXU,IAAI,EAAEzB,UAAU,CAAC,CAAC;UAClB,GAAGgB;QACP;MACJ,CAAC,CAAC;MACF;AACZ;AACA;MACYZ,UAAU,CAACsB,KAAK,CAAC,CAAC;MAElB,OAAOX,QAAQ;IACnB,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,4BAA4B,EAC1CF,EAAE,CAACG,IAAI,IAAI,uBAAuB,EAClC;QACIG;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMW,MAAM,GAAG,MAAOpB,MAA6C,IAAK;IACpE,MAAM;MAAEqB,QAAQ;MAAEb;IAAS,CAAC,GAAGR,MAAM;IACrC,MAAMS,IAAI,GAAG;MACTC,EAAE,EAAE,IAAAC,wBAAkB,EAAC;QACnBC,MAAM,EAAES,QAAQ,CAACT,MAAM;QACvBC,MAAM,EAAEQ,QAAQ,CAACR;MACrB,CAAC,CAAC;MACFC,EAAE,EAAE,IAAAC,mBAAa,EAACP,QAAQ;IAC9B,CAAC;IAED,IAAI;MACA,MAAM,IAAAQ,eAAG,EAAC;QACNrB,MAAM;QACNsB,IAAI,EAAE;UACF,GAAGT,QAAQ;UACXU,IAAI,EAAEzB,UAAU,CAAC,CAAC;UAClB,GAAGgB;QACP;MACJ,CAAC,CAAC;MACF;AACZ;AACA;MACYZ,UAAU,CAACsB,KAAK,CAAC,CAAC;MAElB,OAAOX,QAAQ;IACnB,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,4BAA4B,EAC1CF,EAAE,CAACG,IAAI,IAAI,uBAAuB,EAClC;QACIG,IAAI;QACJY,QAAQ;QACRb;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMc,cAAc,GAAG,MAAOtB,MAA6C,IAAK;IAC5E,MAAM;MAAEQ;IAAS,CAAC,GAAGR,MAAM;IAC3B,MAAMS,IAAI,GAAG;MACTC,EAAE,EAAE,IAAAC,wBAAkB,EAAC;QACnBC,MAAM,EAAEJ,QAAQ,CAACI,MAAM;QACvBC,MAAM,EAAEL,QAAQ,CAACK;MACrB,CAAC,CAAC;MACFC,EAAE,EAAE,IAAAC,mBAAa,EAACP,QAAQ;IAC9B,CAAC;IAED,IAAI;MACA,MAAM,IAAAe,sBAAU,EAAC;QACb5B,MAAM;QACNc;MACJ,CAAC,CAAC;MACF;AACZ;AACA;MACYZ,UAAU,CAACsB,KAAK,CAAC,CAAC;MAElB,OAAOX,QAAQ;IACnB,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,4BAA4B,EAC1CF,EAAE,CAACG,IAAI,IAAI,uBAAuB,EAClC;QACIG,IAAI;QACJD;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMgB,IAAI,GAAG,MAAOxB,MAA2C,IAAK;IAChE,MAAM;MAAEC,KAAK;MAAEwB,IAAI;MAAEC;IAAM,CAAC,GAAG1B,MAAM;IAErC,MAAM;MAAEY,MAAM;MAAEC,MAAM;MAAE,GAAGc;IAAU,CAAC,GAAG1B,KAAK;IAC9C,MAAM2B,cAA8B,GAAG;MACnCjC,MAAM;MACNkC,YAAY,EAAE,IAAAlB,wBAAkB,EAAC;QAAEC,MAAM;QAAEC;MAAO,CAAC,CAAC;MACpDiB,OAAO,EAAE;QACLC,EAAE,EAAE;MACR;IACJ,CAAC;IAED,IAAIC,KAAiB,GAAG,EAAE;IAE1B,IAAI;MACAA,KAAK,GAAG,MAAM,IAAAC,eAAQ,EAAWL,cAAc,CAAC;IACpD,CAAC,CAAC,OAAOzB,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,gDAAgD,EAC9DF,EAAE,CAACG,IAAI,IAAI,uBAAuB,EAClC;QACIuB,YAAY,EAAED,cAAc,CAACC,YAAY;QACzCC,OAAO,EAAEF,cAAc,CAACE;MAC5B,CACJ,CAAC;IACL;IAEA,MAAMI,MAAM,GAAGtC,OAAO,CAACuC,MAAM,CACzBC,sEAAkC,CAACC,IACvC,CAAC;IAED,MAAMC,aAAa,GAAG,IAAAC,mBAAW,EAAW;MACxC3C,OAAO;MACPK,KAAK,EAAE0B,SAAS;MAChBK,KAAK;MACLE;IACJ,CAAC,CAAC;IAEF,MAAMM,WAAW,GAAG,IAAAC,eAAS,EAAW;MACpCT,KAAK,EAAEM,aAAa;MACpBb,IAAI;MACJS;IACJ,CAAC,CAAC;IAEF,OAAO,IAAAQ,gCAAkB,EAAC;MACtBV,KAAK,EAAEQ,WAAW;MAClBd,KAAK,EAAEA,KAAK,IAAI,MAAM;MACtBiB,UAAU,EAAEL,aAAa,CAACM,MAAM;MAChCC,KAAK,EAAE;IACX,CAAC,CAAC;EACN,CAAC;EAED,OAAO;IACHhD,UAAU;IACVE,GAAG;IACHQ,MAAM;IACNa,MAAM;IACN0B,MAAM,EAAExB,cAAc;IACtBE;EACJ,CAAC;AACL,CAAC;AAACuB,OAAA,CAAArD,+BAAA,GAAAA,+BAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { MenuStorageOperations } from "@webiny/api-page-builder/types";
2
- import { Entity } from "@webiny/db-dynamodb/toolbox";
3
- import { PluginsContainer } from "@webiny/plugins";
1
+ import type { MenuStorageOperations } from "@webiny/api-page-builder/types";
2
+ import type { Entity } from "@webiny/db-dynamodb/toolbox";
3
+ import type { PluginsContainer } from "@webiny/plugins";
4
4
  export interface CreateMenuStorageOperationsParams {
5
5
  entity: Entity<any>;
6
6
  plugins: PluginsContainer;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_cleanup","_query","_filter","_sort","_listResponse","_MenuDynamoDbElasticFieldPlugin","_dbDynamodb","createPartitionKey","params","tenant","locale","createSortKey","slug","createType","createMenuStorageOperations","entity","plugins","get","where","keys","PK","SK","getClean","ex","WebinyError","message","code","create","menu","put","item","TYPE","update","original","list","sort","limit","restWhere","queryAllParams","partitionKey","options","undefined","gt","items","queryAll","fields","byType","MenuDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","map","cleanupItem","sortedItems","sortItems","createListResponse","totalCount","length","after","deleteMenu","deleteItem","delete","exports"],"sources":["index.ts"],"sourcesContent":["import {\n Menu,\n MenuStorageOperations,\n MenuStorageOperationsCreateParams,\n MenuStorageOperationsDeleteParams,\n MenuStorageOperationsGetParams,\n MenuStorageOperationsListParams,\n MenuStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport WebinyError from \"@webiny/error\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { MenuDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/MenuDynamoDbElasticFieldPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { deleteItem, getClean, put } from \"@webiny/db-dynamodb\";\n\ninterface PartitionKeyParams {\n tenant: string;\n locale: string;\n}\nconst createPartitionKey = (params: PartitionKeyParams): string => {\n const { tenant, locale } = params;\n return `T#${tenant}#L#${locale}#PB#M`;\n};\n\ninterface SortKeyParams {\n slug: string;\n}\nconst createSortKey = (params: SortKeyParams): string => {\n const { slug } = params;\n return slug;\n};\n\nconst createType = (): string => {\n return \"pb.menu\";\n};\n\nexport interface CreateMenuStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createMenuStorageOperations = ({\n entity,\n plugins\n}: CreateMenuStorageOperationsParams): MenuStorageOperations => {\n const get = async (params: MenuStorageOperationsGetParams) => {\n const { where } = params;\n const keys = {\n PK: createPartitionKey(where),\n SK: createSortKey(where)\n };\n\n try {\n return await getClean<Menu>({\n entity,\n keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load menu by given parameters.\",\n ex.code || \"MENU_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const create = async (params: MenuStorageOperationsCreateParams) => {\n const { menu } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: menu.tenant,\n locale: menu.locale\n }),\n SK: createSortKey(menu)\n };\n\n try {\n await put({\n entity,\n item: {\n ...menu,\n TYPE: createType(),\n ...keys\n }\n });\n return menu;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create menu.\",\n ex.code || \"MENU_CREATE_ERROR\",\n {\n keys,\n menu\n }\n );\n }\n };\n\n const update = async (params: MenuStorageOperationsUpdateParams) => {\n const { menu, original } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: menu.tenant,\n locale: menu.locale\n }),\n SK: createSortKey(menu)\n };\n\n try {\n await put({\n entity,\n item: {\n ...menu,\n TYPE: createType(),\n ...keys\n }\n });\n return menu;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update menu.\",\n ex.code || \"MENU_UPDATE_ERROR\",\n {\n keys,\n original,\n menu\n }\n );\n }\n };\n\n const list = async (params: MenuStorageOperationsListParams) => {\n const { where, sort, limit = 10 } = params;\n\n const { tenant, locale, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey({\n tenant,\n locale\n }),\n options: {\n limit: limit || undefined,\n gt: \" \"\n }\n };\n\n let items: Menu[] = [];\n\n try {\n items = await queryAll<Menu>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list menus by given parameters.\",\n ex.code || \"MENUS_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<MenuDynamoDbElasticFieldPlugin>(\n MenuDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<Menu>({\n plugins,\n where: restWhere,\n items,\n fields\n }).map(item => {\n return cleanupItem<Menu>(entity, item);\n }) as Menu[];\n\n const sortedItems = sortItems<Menu>({\n items: filteredItems,\n sort,\n fields\n ///: [\"createdOn\", \"id\", \"title\", \"slug\"]\n });\n\n return createListResponse({\n items: sortedItems,\n limit,\n totalCount: filteredItems.length,\n after: null\n });\n };\n\n const deleteMenu = async (params: MenuStorageOperationsDeleteParams) => {\n const { menu } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: menu.tenant,\n locale: menu.locale\n }),\n SK: createSortKey(menu)\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n return menu;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete menu.\",\n ex.code || \"MENU_DELETE_ERROR\",\n {\n keys,\n menu\n }\n );\n }\n };\n\n return {\n get,\n create,\n update,\n list,\n delete: deleteMenu\n };\n};\n"],"mappings":";;;;;;;AAUA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,+BAAA,GAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AAMA,MAAMQ,kBAAkB,GAAIC,MAA0B,IAAa;EAC/D,MAAM;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGF,MAAM;EACjC,OAAO,KAAKC,MAAM,MAAMC,MAAM,OAAO;AACzC,CAAC;AAKD,MAAMC,aAAa,GAAIH,MAAqB,IAAa;EACrD,MAAM;IAAEI;EAAK,CAAC,GAAGJ,MAAM;EACvB,OAAOI,IAAI;AACf,CAAC;AAED,MAAMC,UAAU,GAAGA,CAAA,KAAc;EAC7B,OAAO,SAAS;AACpB,CAAC;AAMM,MAAMC,2BAA2B,GAAGA,CAAC;EACxCC,MAAM;EACNC;AAC+B,CAAC,KAA4B;EAC5D,MAAMC,GAAG,GAAG,MAAOT,MAAsC,IAAK;IAC1D,MAAM;MAAEU;IAAM,CAAC,GAAGV,MAAM;IACxB,MAAMW,IAAI,GAAG;MACTC,EAAE,EAAEb,kBAAkB,CAACW,KAAK,CAAC;MAC7BG,EAAE,EAAEV,aAAa,CAACO,KAAK;IAC3B,CAAC;IAED,IAAI;MACA,OAAO,MAAM,IAAAI,oBAAQ,EAAO;QACxBP,MAAM;QACNI;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOI,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,0CAA0C,EACxDF,EAAE,CAACG,IAAI,IAAI,gBAAgB,EAC3B;QACIR;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMS,MAAM,GAAG,MAAOnB,MAAyC,IAAK;IAChE,MAAM;MAAEoB;IAAK,CAAC,GAAGpB,MAAM;IACvB,MAAMW,IAAI,GAAG;MACTC,EAAE,EAAEb,kBAAkB,CAAC;QACnBE,MAAM,EAAEmB,IAAI,CAACnB,MAAM;QACnBC,MAAM,EAAEkB,IAAI,CAAClB;MACjB,CAAC,CAAC;MACFW,EAAE,EAAEV,aAAa,CAACiB,IAAI;IAC1B,CAAC;IAED,IAAI;MACA,MAAM,IAAAC,eAAG,EAAC;QACNd,MAAM;QACNe,IAAI,EAAE;UACF,GAAGF,IAAI;UACPG,IAAI,EAAElB,UAAU,CAAC,CAAC;UAClB,GAAGM;QACP;MACJ,CAAC,CAAC;MACF,OAAOS,IAAI;IACf,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,wBAAwB,EACtCF,EAAE,CAACG,IAAI,IAAI,mBAAmB,EAC9B;QACIP,IAAI;QACJS;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMI,MAAM,GAAG,MAAOxB,MAAyC,IAAK;IAChE,MAAM;MAAEoB,IAAI;MAAEK;IAAS,CAAC,GAAGzB,MAAM;IACjC,MAAMW,IAAI,GAAG;MACTC,EAAE,EAAEb,kBAAkB,CAAC;QACnBE,MAAM,EAAEmB,IAAI,CAACnB,MAAM;QACnBC,MAAM,EAAEkB,IAAI,CAAClB;MACjB,CAAC,CAAC;MACFW,EAAE,EAAEV,aAAa,CAACiB,IAAI;IAC1B,CAAC;IAED,IAAI;MACA,MAAM,IAAAC,eAAG,EAAC;QACNd,MAAM;QACNe,IAAI,EAAE;UACF,GAAGF,IAAI;UACPG,IAAI,EAAElB,UAAU,CAAC,CAAC;UAClB,GAAGM;QACP;MACJ,CAAC,CAAC;MACF,OAAOS,IAAI;IACf,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,wBAAwB,EACtCF,EAAE,CAACG,IAAI,IAAI,mBAAmB,EAC9B;QACIP,IAAI;QACJc,QAAQ;QACRL;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMM,IAAI,GAAG,MAAO1B,MAAuC,IAAK;IAC5D,MAAM;MAAEU,KAAK;MAAEiB,IAAI;MAAEC,KAAK,GAAG;IAAG,CAAC,GAAG5B,MAAM;IAE1C,MAAM;MAAEC,MAAM;MAAEC,MAAM;MAAE,GAAG2B;IAAU,CAAC,GAAGnB,KAAK;IAC9C,MAAMoB,cAA8B,GAAG;MACnCvB,MAAM;MACNwB,YAAY,EAAEhC,kBAAkB,CAAC;QAC7BE,MAAM;QACNC;MACJ,CAAC,CAAC;MACF8B,OAAO,EAAE;QACLJ,KAAK,EAAEA,KAAK,IAAIK,SAAS;QACzBC,EAAE,EAAE;MACR;IACJ,CAAC;IAED,IAAIC,KAAa,GAAG,EAAE;IAEtB,IAAI;MACAA,KAAK,GAAG,MAAM,IAAAC,eAAQ,EAAON,cAAc,CAAC;IAChD,CAAC,CAAC,OAAOf,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,2CAA2C,EACzDF,EAAE,CAACG,IAAI,IAAI,kBAAkB,EAC7B;QACIa,YAAY,EAAED,cAAc,CAACC,YAAY;QACzCC,OAAO,EAAEF,cAAc,CAACE;MAC5B,CACJ,CAAC;IACL;IAEA,MAAMK,MAAM,GAAG7B,OAAO,CAAC8B,MAAM,CACzBC,8DAA8B,CAACC,IACnC,CAAC;IAED,MAAMC,aAAa,GAAG,IAAAC,mBAAW,EAAO;MACpClC,OAAO;MACPE,KAAK,EAAEmB,SAAS;MAChBM,KAAK;MACLE;IACJ,CAAC,CAAC,CAACM,GAAG,CAACrB,IAAI,IAAI;MACX,OAAO,IAAAsB,oBAAW,EAAOrC,MAAM,EAAEe,IAAI,CAAC;IAC1C,CAAC,CAAW;IAEZ,MAAMuB,WAAW,GAAG,IAAAC,eAAS,EAAO;MAChCX,KAAK,EAAEM,aAAa;MACpBd,IAAI;MACJU;MACA;IACJ,CAAC,CAAC;IAEF,OAAO,IAAAU,gCAAkB,EAAC;MACtBZ,KAAK,EAAEU,WAAW;MAClBjB,KAAK;MACLoB,UAAU,EAAEP,aAAa,CAACQ,MAAM;MAChCC,KAAK,EAAE;IACX,CAAC,CAAC;EACN,CAAC;EAED,MAAMC,UAAU,GAAG,MAAOnD,MAAyC,IAAK;IACpE,MAAM;MAAEoB;IAAK,CAAC,GAAGpB,MAAM;IACvB,MAAMW,IAAI,GAAG;MACTC,EAAE,EAAEb,kBAAkB,CAAC;QACnBE,MAAM,EAAEmB,IAAI,CAACnB,MAAM;QACnBC,MAAM,EAAEkB,IAAI,CAAClB;MACjB,CAAC,CAAC;MACFW,EAAE,EAAEV,aAAa,CAACiB,IAAI;IAC1B,CAAC;IAED,IAAI;MACA,MAAM,IAAAgC,sBAAU,EAAC;QACb7C,MAAM;QACNI;MACJ,CAAC,CAAC;MACF,OAAOS,IAAI;IACf,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,wBAAwB,EACtCF,EAAE,CAACG,IAAI,IAAI,mBAAmB,EAC9B;QACIP,IAAI;QACJS;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,OAAO;IACHX,GAAG;IACHU,MAAM;IACNK,MAAM;IACNE,IAAI;IACJ2B,MAAM,EAAEF;EACZ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAhD,2BAAA,GAAAA,2BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_cleanup","_query","_filter","_sort","_listResponse","_MenuDynamoDbElasticFieldPlugin","_dbDynamodb","createPartitionKey","params","tenant","locale","createSortKey","slug","createType","createMenuStorageOperations","entity","plugins","get","where","keys","PK","SK","getClean","ex","WebinyError","message","code","create","menu","put","item","TYPE","update","original","list","sort","limit","restWhere","queryAllParams","partitionKey","options","undefined","gt","items","queryAll","fields","byType","MenuDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","map","cleanupItem","sortedItems","sortItems","createListResponse","totalCount","length","after","deleteMenu","deleteItem","delete","exports"],"sources":["index.ts"],"sourcesContent":["import type {\n Menu,\n MenuStorageOperations,\n MenuStorageOperationsCreateParams,\n MenuStorageOperationsDeleteParams,\n MenuStorageOperationsGetParams,\n MenuStorageOperationsListParams,\n MenuStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport WebinyError from \"@webiny/error\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport type { QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { MenuDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/MenuDynamoDbElasticFieldPlugin\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { deleteItem, getClean, put } from \"@webiny/db-dynamodb\";\n\ninterface PartitionKeyParams {\n tenant: string;\n locale: string;\n}\nconst createPartitionKey = (params: PartitionKeyParams): string => {\n const { tenant, locale } = params;\n return `T#${tenant}#L#${locale}#PB#M`;\n};\n\ninterface SortKeyParams {\n slug: string;\n}\nconst createSortKey = (params: SortKeyParams): string => {\n const { slug } = params;\n return slug;\n};\n\nconst createType = (): string => {\n return \"pb.menu\";\n};\n\nexport interface CreateMenuStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createMenuStorageOperations = ({\n entity,\n plugins\n}: CreateMenuStorageOperationsParams): MenuStorageOperations => {\n const get = async (params: MenuStorageOperationsGetParams) => {\n const { where } = params;\n const keys = {\n PK: createPartitionKey(where),\n SK: createSortKey(where)\n };\n\n try {\n return await getClean<Menu>({\n entity,\n keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load menu by given parameters.\",\n ex.code || \"MENU_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const create = async (params: MenuStorageOperationsCreateParams) => {\n const { menu } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: menu.tenant,\n locale: menu.locale\n }),\n SK: createSortKey(menu)\n };\n\n try {\n await put({\n entity,\n item: {\n ...menu,\n TYPE: createType(),\n ...keys\n }\n });\n return menu;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create menu.\",\n ex.code || \"MENU_CREATE_ERROR\",\n {\n keys,\n menu\n }\n );\n }\n };\n\n const update = async (params: MenuStorageOperationsUpdateParams) => {\n const { menu, original } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: menu.tenant,\n locale: menu.locale\n }),\n SK: createSortKey(menu)\n };\n\n try {\n await put({\n entity,\n item: {\n ...menu,\n TYPE: createType(),\n ...keys\n }\n });\n return menu;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update menu.\",\n ex.code || \"MENU_UPDATE_ERROR\",\n {\n keys,\n original,\n menu\n }\n );\n }\n };\n\n const list = async (params: MenuStorageOperationsListParams) => {\n const { where, sort, limit = 10 } = params;\n\n const { tenant, locale, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey({\n tenant,\n locale\n }),\n options: {\n limit: limit || undefined,\n gt: \" \"\n }\n };\n\n let items: Menu[] = [];\n\n try {\n items = await queryAll<Menu>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list menus by given parameters.\",\n ex.code || \"MENUS_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<MenuDynamoDbElasticFieldPlugin>(\n MenuDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<Menu>({\n plugins,\n where: restWhere,\n items,\n fields\n }).map(item => {\n return cleanupItem<Menu>(entity, item);\n }) as Menu[];\n\n const sortedItems = sortItems<Menu>({\n items: filteredItems,\n sort,\n fields\n ///: [\"createdOn\", \"id\", \"title\", \"slug\"]\n });\n\n return createListResponse({\n items: sortedItems,\n limit,\n totalCount: filteredItems.length,\n after: null\n });\n };\n\n const deleteMenu = async (params: MenuStorageOperationsDeleteParams) => {\n const { menu } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: menu.tenant,\n locale: menu.locale\n }),\n SK: createSortKey(menu)\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n return menu;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete menu.\",\n ex.code || \"MENU_DELETE_ERROR\",\n {\n keys,\n menu\n }\n );\n }\n };\n\n return {\n get,\n create,\n update,\n list,\n delete: deleteMenu\n };\n};\n"],"mappings":";;;;;;;AAUA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,+BAAA,GAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AAMA,MAAMQ,kBAAkB,GAAIC,MAA0B,IAAa;EAC/D,MAAM;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGF,MAAM;EACjC,OAAO,KAAKC,MAAM,MAAMC,MAAM,OAAO;AACzC,CAAC;AAKD,MAAMC,aAAa,GAAIH,MAAqB,IAAa;EACrD,MAAM;IAAEI;EAAK,CAAC,GAAGJ,MAAM;EACvB,OAAOI,IAAI;AACf,CAAC;AAED,MAAMC,UAAU,GAAGA,CAAA,KAAc;EAC7B,OAAO,SAAS;AACpB,CAAC;AAMM,MAAMC,2BAA2B,GAAGA,CAAC;EACxCC,MAAM;EACNC;AAC+B,CAAC,KAA4B;EAC5D,MAAMC,GAAG,GAAG,MAAOT,MAAsC,IAAK;IAC1D,MAAM;MAAEU;IAAM,CAAC,GAAGV,MAAM;IACxB,MAAMW,IAAI,GAAG;MACTC,EAAE,EAAEb,kBAAkB,CAACW,KAAK,CAAC;MAC7BG,EAAE,EAAEV,aAAa,CAACO,KAAK;IAC3B,CAAC;IAED,IAAI;MACA,OAAO,MAAM,IAAAI,oBAAQ,EAAO;QACxBP,MAAM;QACNI;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOI,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,0CAA0C,EACxDF,EAAE,CAACG,IAAI,IAAI,gBAAgB,EAC3B;QACIR;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMS,MAAM,GAAG,MAAOnB,MAAyC,IAAK;IAChE,MAAM;MAAEoB;IAAK,CAAC,GAAGpB,MAAM;IACvB,MAAMW,IAAI,GAAG;MACTC,EAAE,EAAEb,kBAAkB,CAAC;QACnBE,MAAM,EAAEmB,IAAI,CAACnB,MAAM;QACnBC,MAAM,EAAEkB,IAAI,CAAClB;MACjB,CAAC,CAAC;MACFW,EAAE,EAAEV,aAAa,CAACiB,IAAI;IAC1B,CAAC;IAED,IAAI;MACA,MAAM,IAAAC,eAAG,EAAC;QACNd,MAAM;QACNe,IAAI,EAAE;UACF,GAAGF,IAAI;UACPG,IAAI,EAAElB,UAAU,CAAC,CAAC;UAClB,GAAGM;QACP;MACJ,CAAC,CAAC;MACF,OAAOS,IAAI;IACf,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,wBAAwB,EACtCF,EAAE,CAACG,IAAI,IAAI,mBAAmB,EAC9B;QACIP,IAAI;QACJS;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMI,MAAM,GAAG,MAAOxB,MAAyC,IAAK;IAChE,MAAM;MAAEoB,IAAI;MAAEK;IAAS,CAAC,GAAGzB,MAAM;IACjC,MAAMW,IAAI,GAAG;MACTC,EAAE,EAAEb,kBAAkB,CAAC;QACnBE,MAAM,EAAEmB,IAAI,CAACnB,MAAM;QACnBC,MAAM,EAAEkB,IAAI,CAAClB;MACjB,CAAC,CAAC;MACFW,EAAE,EAAEV,aAAa,CAACiB,IAAI;IAC1B,CAAC;IAED,IAAI;MACA,MAAM,IAAAC,eAAG,EAAC;QACNd,MAAM;QACNe,IAAI,EAAE;UACF,GAAGF,IAAI;UACPG,IAAI,EAAElB,UAAU,CAAC,CAAC;UAClB,GAAGM;QACP;MACJ,CAAC,CAAC;MACF,OAAOS,IAAI;IACf,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,wBAAwB,EACtCF,EAAE,CAACG,IAAI,IAAI,mBAAmB,EAC9B;QACIP,IAAI;QACJc,QAAQ;QACRL;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,MAAMM,IAAI,GAAG,MAAO1B,MAAuC,IAAK;IAC5D,MAAM;MAAEU,KAAK;MAAEiB,IAAI;MAAEC,KAAK,GAAG;IAAG,CAAC,GAAG5B,MAAM;IAE1C,MAAM;MAAEC,MAAM;MAAEC,MAAM;MAAE,GAAG2B;IAAU,CAAC,GAAGnB,KAAK;IAC9C,MAAMoB,cAA8B,GAAG;MACnCvB,MAAM;MACNwB,YAAY,EAAEhC,kBAAkB,CAAC;QAC7BE,MAAM;QACNC;MACJ,CAAC,CAAC;MACF8B,OAAO,EAAE;QACLJ,KAAK,EAAEA,KAAK,IAAIK,SAAS;QACzBC,EAAE,EAAE;MACR;IACJ,CAAC;IAED,IAAIC,KAAa,GAAG,EAAE;IAEtB,IAAI;MACAA,KAAK,GAAG,MAAM,IAAAC,eAAQ,EAAON,cAAc,CAAC;IAChD,CAAC,CAAC,OAAOf,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,2CAA2C,EACzDF,EAAE,CAACG,IAAI,IAAI,kBAAkB,EAC7B;QACIa,YAAY,EAAED,cAAc,CAACC,YAAY;QACzCC,OAAO,EAAEF,cAAc,CAACE;MAC5B,CACJ,CAAC;IACL;IAEA,MAAMK,MAAM,GAAG7B,OAAO,CAAC8B,MAAM,CACzBC,8DAA8B,CAACC,IACnC,CAAC;IAED,MAAMC,aAAa,GAAG,IAAAC,mBAAW,EAAO;MACpClC,OAAO;MACPE,KAAK,EAAEmB,SAAS;MAChBM,KAAK;MACLE;IACJ,CAAC,CAAC,CAACM,GAAG,CAACrB,IAAI,IAAI;MACX,OAAO,IAAAsB,oBAAW,EAAOrC,MAAM,EAAEe,IAAI,CAAC;IAC1C,CAAC,CAAW;IAEZ,MAAMuB,WAAW,GAAG,IAAAC,eAAS,EAAO;MAChCX,KAAK,EAAEM,aAAa;MACpBd,IAAI;MACJU;MACA;IACJ,CAAC,CAAC;IAEF,OAAO,IAAAU,gCAAkB,EAAC;MACtBZ,KAAK,EAAEU,WAAW;MAClBjB,KAAK;MACLoB,UAAU,EAAEP,aAAa,CAACQ,MAAM;MAChCC,KAAK,EAAE;IACX,CAAC,CAAC;EACN,CAAC;EAED,MAAMC,UAAU,GAAG,MAAOnD,MAAyC,IAAK;IACpE,MAAM;MAAEoB;IAAK,CAAC,GAAGpB,MAAM;IACvB,MAAMW,IAAI,GAAG;MACTC,EAAE,EAAEb,kBAAkB,CAAC;QACnBE,MAAM,EAAEmB,IAAI,CAACnB,MAAM;QACnBC,MAAM,EAAEkB,IAAI,CAAClB;MACjB,CAAC,CAAC;MACFW,EAAE,EAAEV,aAAa,CAACiB,IAAI;IAC1B,CAAC;IAED,IAAI;MACA,MAAM,IAAAgC,sBAAU,EAAC;QACb7C,MAAM;QACNI;MACJ,CAAC,CAAC;MACF,OAAOS,IAAI;IACf,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,wBAAwB,EACtCF,EAAE,CAACG,IAAI,IAAI,mBAAmB,EAC9B;QACIP,IAAI;QACJS;MACJ,CACJ,CAAC;IACL;EACJ,CAAC;EAED,OAAO;IACHX,GAAG;IACHU,MAAM;IACNK,MAAM;IACNE,IAAI;IACJ2B,MAAM,EAAEF;EACZ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAhD,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { PageBlock } from "@webiny/api-page-builder/types";
1
+ import type { PageBlock } from "@webiny/api-page-builder/types";
2
2
  export declare const compress: (data: any) => Promise<{
3
3
  compression: string;
4
4
  value: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_gzip","require","GZIP","TO_STORAGE_ENCODING","FROM_STORAGE_ENCODING","convertToBuffer","value","Buffer","from","compress","data","gzip","JSON","stringify","compression","toString","exports","decompress","pageBlock","buf","ungzip","content","parse","ex"],"sources":["compression.ts"],"sourcesContent":["import { compress as gzip, decompress as ungzip } from \"@webiny/utils/compression/gzip\";\nimport { PageBlock } from \"@webiny/api-page-builder/types\";\n\nconst GZIP = \"gzip\";\nconst TO_STORAGE_ENCODING = \"base64\";\nconst FROM_STORAGE_ENCODING = \"utf8\";\n\nconst convertToBuffer = (value: string | Buffer) => {\n if (typeof value === \"string\") {\n return Buffer.from(value, TO_STORAGE_ENCODING);\n }\n return value;\n};\n\nexport const compress = async (data: any) => {\n const value = await gzip(JSON.stringify(data));\n\n return {\n compression: GZIP,\n value: value.toString(TO_STORAGE_ENCODING)\n };\n};\n\nexport const decompress = async (pageBlock: PageBlock) => {\n try {\n const buf = await ungzip(convertToBuffer(pageBlock.content.value));\n const value = buf.toString(FROM_STORAGE_ENCODING);\n return {\n ...pageBlock,\n content: JSON.parse(value)\n };\n } catch (ex) {\n return { ...pageBlock, content: null };\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,MAAMC,IAAI,GAAG,MAAM;AACnB,MAAMC,mBAAmB,GAAG,QAAQ;AACpC,MAAMC,qBAAqB,GAAG,MAAM;AAEpC,MAAMC,eAAe,GAAIC,KAAsB,IAAK;EAChD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC3B,OAAOC,MAAM,CAACC,IAAI,CAACF,KAAK,EAAEH,mBAAmB,CAAC;EAClD;EACA,OAAOG,KAAK;AAChB,CAAC;AAEM,MAAMG,QAAQ,GAAG,MAAOC,IAAS,IAAK;EACzC,MAAMJ,KAAK,GAAG,MAAM,IAAAK,cAAI,EAACC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;EAE9C,OAAO;IACHI,WAAW,EAAEZ,IAAI;IACjBI,KAAK,EAAEA,KAAK,CAACS,QAAQ,CAACZ,mBAAmB;EAC7C,CAAC;AACL,CAAC;AAACa,OAAA,CAAAP,QAAA,GAAAA,QAAA;AAEK,MAAMQ,UAAU,GAAG,MAAOC,SAAoB,IAAK;EACtD,IAAI;IACA,MAAMC,GAAG,GAAG,MAAM,IAAAC,gBAAM,EAACf,eAAe,CAACa,SAAS,CAACG,OAAO,CAACf,KAAK,CAAC,CAAC;IAClE,MAAMA,KAAK,GAAGa,GAAG,CAACJ,QAAQ,CAACX,qBAAqB,CAAC;IACjD,OAAO;MACH,GAAGc,SAAS;MACZG,OAAO,EAAET,IAAI,CAACU,KAAK,CAAChB,KAAK;IAC7B,CAAC;EACL,CAAC,CAAC,OAAOiB,EAAE,EAAE;IACT,OAAO;MAAE,GAAGL,SAAS;MAAEG,OAAO,EAAE;IAAK,CAAC;EAC1C;AACJ,CAAC;AAACL,OAAA,CAAAC,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_gzip","require","GZIP","TO_STORAGE_ENCODING","FROM_STORAGE_ENCODING","convertToBuffer","value","Buffer","from","compress","data","gzip","JSON","stringify","compression","toString","exports","decompress","pageBlock","buf","ungzip","content","parse","ex"],"sources":["compression.ts"],"sourcesContent":["import { compress as gzip, decompress as ungzip } from \"@webiny/utils/compression/gzip\";\nimport type { PageBlock } from \"@webiny/api-page-builder/types\";\n\nconst GZIP = \"gzip\";\nconst TO_STORAGE_ENCODING = \"base64\";\nconst FROM_STORAGE_ENCODING = \"utf8\";\n\nconst convertToBuffer = (value: string | Buffer) => {\n if (typeof value === \"string\") {\n return Buffer.from(value, TO_STORAGE_ENCODING);\n }\n return value;\n};\n\nexport const compress = async (data: any) => {\n const value = await gzip(JSON.stringify(data));\n\n return {\n compression: GZIP,\n value: value.toString(TO_STORAGE_ENCODING)\n };\n};\n\nexport const decompress = async (pageBlock: PageBlock) => {\n try {\n const buf = await ungzip(convertToBuffer(pageBlock.content.value));\n const value = buf.toString(FROM_STORAGE_ENCODING);\n return {\n ...pageBlock,\n content: JSON.parse(value)\n };\n } catch (ex) {\n return { ...pageBlock, content: null };\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,MAAMC,IAAI,GAAG,MAAM;AACnB,MAAMC,mBAAmB,GAAG,QAAQ;AACpC,MAAMC,qBAAqB,GAAG,MAAM;AAEpC,MAAMC,eAAe,GAAIC,KAAsB,IAAK;EAChD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC3B,OAAOC,MAAM,CAACC,IAAI,CAACF,KAAK,EAAEH,mBAAmB,CAAC;EAClD;EACA,OAAOG,KAAK;AAChB,CAAC;AAEM,MAAMG,QAAQ,GAAG,MAAOC,IAAS,IAAK;EACzC,MAAMJ,KAAK,GAAG,MAAM,IAAAK,cAAI,EAACC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;EAE9C,OAAO;IACHI,WAAW,EAAEZ,IAAI;IACjBI,KAAK,EAAEA,KAAK,CAACS,QAAQ,CAACZ,mBAAmB;EAC7C,CAAC;AACL,CAAC;AAACa,OAAA,CAAAP,QAAA,GAAAA,QAAA;AAEK,MAAMQ,UAAU,GAAG,MAAOC,SAAoB,IAAK;EACtD,IAAI;IACA,MAAMC,GAAG,GAAG,MAAM,IAAAC,gBAAM,EAACf,eAAe,CAACa,SAAS,CAACG,OAAO,CAACf,KAAK,CAAC,CAAC;IAClE,MAAMA,KAAK,GAAGa,GAAG,CAACJ,QAAQ,CAACX,qBAAqB,CAAC;IACjD,OAAO;MACH,GAAGc,SAAS;MACZG,OAAO,EAAET,IAAI,CAACU,KAAK,CAAChB,KAAK;IAC7B,CAAC;EACL,CAAC,CAAC,OAAOiB,EAAE,EAAE;IACT,OAAO;MAAE,GAAGL,SAAS;MAAEG,OAAO,EAAE;IAAK,CAAC;EAC1C;AACJ,CAAC;AAACL,OAAA,CAAAC,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { PageBlock } from "@webiny/api-page-builder/types";
2
- import { Entity } from "@webiny/db-dynamodb/toolbox";
3
- import { DataLoaderInterface } from "../../types";
1
+ import type { PageBlock } from "@webiny/api-page-builder/types";
2
+ import type { Entity } from "@webiny/db-dynamodb/toolbox";
3
+ import type { DataLoaderInterface } from "../../types";
4
4
  interface Params {
5
5
  entity: Entity<any>;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_dataloader","_interopRequireDefault","require","_dbDynamodb","_cleanup","_keys","PageBlockDataLoader","_getDataLoader","undefined","constructor","params","entity","getOne","item","getDataLoader","load","getAll","items","loadMany","clear","clearAll","cacheKeyFn","key","tenant","locale","id","DataLoader","batched","map","getBatch","PK","createPartitionKey","SK","createSortKey","records","batchReadAll","table","results","reduce","collection","result","cleanupItem","exports"],"sources":["dataLoader.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { batchReadAll } from \"@webiny/db-dynamodb\";\nimport { PageBlock } from \"@webiny/api-page-builder/types\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { createPartitionKey, createSortKey } from \"./keys\";\nimport { DataLoaderInterface } from \"~/types\";\n\ninterface Params {\n entity: Entity<any>;\n}\n\ntype DataLoaderGetItem = Pick<PageBlock, \"id\" | \"tenant\" | \"locale\">;\n\nexport class PageBlockDataLoader implements DataLoaderInterface {\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<PageBlock> {\n return await this.getDataLoader().load(item);\n }\n\n public async getAll(items: DataLoaderGetItem[]): Promise<PageBlock[]> {\n return await this.getDataLoader().loadMany(items);\n }\n\n public clear(): void {\n this.getDataLoader().clearAll();\n }\n\n private getDataLoader() {\n if (!this._getDataLoader) {\n const cacheKeyFn = (key: DataLoaderGetItem) => {\n return `T#${key.tenant}#L#${key.locale}#${key.id}`;\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()\n });\n });\n\n const records = await batchReadAll<PageBlock>({\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 PageBlock;\n return collection;\n }, {} as Record<string, PageBlock>);\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,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AASO,MAAMI,mBAAmB,CAAgC;EACpDC,cAAc,GAAqCC,SAAS;EAIpEC,WAAWA,CAACC,MAAc,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;EAC/B;EAEA,MAAaC,MAAMA,CAACC,IAAuB,EAAsB;IAC7D,OAAO,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,CAACC,IAAI,CAACF,IAAI,CAAC;EAChD;EAEA,MAAaG,MAAMA,CAACC,KAA0B,EAAwB;IAClE,OAAO,MAAM,IAAI,CAACH,aAAa,CAAC,CAAC,CAACI,QAAQ,CAACD,KAAK,CAAC;EACrD;EAEOE,KAAKA,CAAA,EAAS;IACjB,IAAI,CAACL,aAAa,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EACnC;EAEQN,aAAaA,CAAA,EAAG;IACpB,IAAI,CAAC,IAAI,CAACP,cAAc,EAAE;MACtB,MAAMc,UAAU,GAAIC,GAAsB,IAAK;QAC3C,OAAO,KAAKA,GAAG,CAACC,MAAM,MAAMD,GAAG,CAACE,MAAM,IAAIF,GAAG,CAACG,EAAE,EAAE;MACtD,CAAC;MACD,IAAI,CAAClB,cAAc,GAAG,IAAImB,mBAAU,CAChC,MAAMT,KAAK,IAAI;QACX,MAAMU,OAAO,GAAGV,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UAC9B,OAAO,IAAI,CAACF,MAAM,CAACkB,QAAQ,CAAC;YACxBC,EAAE,EAAE,IAAAC,wBAAkB,EAAClB,IAAI,CAAC;YAC5BmB,EAAE,EAAE,IAAAC,mBAAa,EAAC;UACtB,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,MAAMC,OAAO,GAAG,MAAM,IAAAC,wBAAY,EAAY;UAC1CC,KAAK,EAAE,IAAI,CAACzB,MAAM,CAACyB,KAAK;UACxBnB,KAAK,EAAEU;QACX,CAAC,CAAC;QAEF,MAAMU,OAAO,GAAGH,OAAO,CAACI,MAAM,CAAC,CAACC,UAAU,EAAEC,MAAM,KAAK;UACnD,IAAI,CAACA,MAAM,EAAE;YACT,OAAOD,UAAU;UACrB;UACA,MAAMjB,GAAG,GAAGD,UAAU,CAACmB,MAAM,CAAC;UAC9BD,UAAU,CAACjB,GAAG,CAAC,GAAG,IAAAmB,oBAAW,EAAC,IAAI,CAAC9B,MAAM,EAAE6B,MAAM,CAAc;UAC/D,OAAOD,UAAU;QACrB,CAAC,EAAE,CAAC,CAA8B,CAAC;QACnC,OAAOtB,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UACrB,MAAMS,GAAG,GAAGD,UAAU,CAACR,IAAI,CAAC;UAC5B,OAAOwB,OAAO,CAACf,GAAG,CAAC,IAAI,IAAI;QAC/B,CAAC,CAAC;MACN,CAAC,EACD;QACID;MACJ,CACJ,CAAC;IACL;IACA,OAAO,IAAI,CAACd,cAAc;EAC9B;AACJ;AAACmC,OAAA,CAAApC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_dataloader","_interopRequireDefault","require","_dbDynamodb","_cleanup","_keys","PageBlockDataLoader","_getDataLoader","undefined","constructor","params","entity","getOne","item","getDataLoader","load","getAll","items","loadMany","clear","clearAll","cacheKeyFn","key","tenant","locale","id","DataLoader","batched","map","getBatch","PK","createPartitionKey","SK","createSortKey","records","batchReadAll","table","results","reduce","collection","result","cleanupItem","exports"],"sources":["dataLoader.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { batchReadAll } from \"@webiny/db-dynamodb\";\nimport type { PageBlock } from \"@webiny/api-page-builder/types\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { createPartitionKey, createSortKey } from \"./keys\";\nimport type { DataLoaderInterface } from \"~/types\";\n\ninterface Params {\n entity: Entity<any>;\n}\n\ntype DataLoaderGetItem = Pick<PageBlock, \"id\" | \"tenant\" | \"locale\">;\n\nexport class PageBlockDataLoader implements DataLoaderInterface {\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<PageBlock> {\n return await this.getDataLoader().load(item);\n }\n\n public async getAll(items: DataLoaderGetItem[]): Promise<PageBlock[]> {\n return await this.getDataLoader().loadMany(items);\n }\n\n public clear(): void {\n this.getDataLoader().clearAll();\n }\n\n private getDataLoader() {\n if (!this._getDataLoader) {\n const cacheKeyFn = (key: DataLoaderGetItem) => {\n return `T#${key.tenant}#L#${key.locale}#${key.id}`;\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()\n });\n });\n\n const records = await batchReadAll<PageBlock>({\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 PageBlock;\n return collection;\n }, {} as Record<string, PageBlock>);\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,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AASO,MAAMI,mBAAmB,CAAgC;EACpDC,cAAc,GAAqCC,SAAS;EAIpEC,WAAWA,CAACC,MAAc,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;EAC/B;EAEA,MAAaC,MAAMA,CAACC,IAAuB,EAAsB;IAC7D,OAAO,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,CAACC,IAAI,CAACF,IAAI,CAAC;EAChD;EAEA,MAAaG,MAAMA,CAACC,KAA0B,EAAwB;IAClE,OAAO,MAAM,IAAI,CAACH,aAAa,CAAC,CAAC,CAACI,QAAQ,CAACD,KAAK,CAAC;EACrD;EAEOE,KAAKA,CAAA,EAAS;IACjB,IAAI,CAACL,aAAa,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EACnC;EAEQN,aAAaA,CAAA,EAAG;IACpB,IAAI,CAAC,IAAI,CAACP,cAAc,EAAE;MACtB,MAAMc,UAAU,GAAIC,GAAsB,IAAK;QAC3C,OAAO,KAAKA,GAAG,CAACC,MAAM,MAAMD,GAAG,CAACE,MAAM,IAAIF,GAAG,CAACG,EAAE,EAAE;MACtD,CAAC;MACD,IAAI,CAAClB,cAAc,GAAG,IAAImB,mBAAU,CAChC,MAAMT,KAAK,IAAI;QACX,MAAMU,OAAO,GAAGV,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UAC9B,OAAO,IAAI,CAACF,MAAM,CAACkB,QAAQ,CAAC;YACxBC,EAAE,EAAE,IAAAC,wBAAkB,EAAClB,IAAI,CAAC;YAC5BmB,EAAE,EAAE,IAAAC,mBAAa,EAAC;UACtB,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,MAAMC,OAAO,GAAG,MAAM,IAAAC,wBAAY,EAAY;UAC1CC,KAAK,EAAE,IAAI,CAACzB,MAAM,CAACyB,KAAK;UACxBnB,KAAK,EAAEU;QACX,CAAC,CAAC;QAEF,MAAMU,OAAO,GAAGH,OAAO,CAACI,MAAM,CAAC,CAACC,UAAU,EAAEC,MAAM,KAAK;UACnD,IAAI,CAACA,MAAM,EAAE;YACT,OAAOD,UAAU;UACrB;UACA,MAAMjB,GAAG,GAAGD,UAAU,CAACmB,MAAM,CAAC;UAC9BD,UAAU,CAACjB,GAAG,CAAC,GAAG,IAAAmB,oBAAW,EAAC,IAAI,CAAC9B,MAAM,EAAE6B,MAAM,CAAc;UAC/D,OAAOD,UAAU;QACrB,CAAC,EAAE,CAAC,CAA8B,CAAC;QACnC,OAAOtB,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UACrB,MAAMS,GAAG,GAAGD,UAAU,CAACR,IAAI,CAAC;UAC5B,OAAOwB,OAAO,CAACf,GAAG,CAAC,IAAI,IAAI;QAC/B,CAAC,CAAC;MACN,CAAC,EACD;QACID;MACJ,CACJ,CAAC;IACL;IACA,OAAO,IAAI,CAACd,cAAc;EAC9B;AACJ;AAACmC,OAAA,CAAApC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { Entity } from "@webiny/db-dynamodb/toolbox";
2
- import { PluginsContainer } from "@webiny/plugins";
3
- import { PageBlockStorageOperations } from "../../types";
1
+ import type { Entity } from "@webiny/db-dynamodb/toolbox";
2
+ import type { PluginsContainer } from "@webiny/plugins";
3
+ import type { PageBlockStorageOperations } from "../../types";
4
4
  export interface CreatePageBlockStorageOperationsParams {
5
5
  entity: Entity<any>;
6
6
  plugins: PluginsContainer;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_PageBlockDynamoDbFieldPlugin","_keys","_dbDynamodb","_compression","createType","createPageBlockStorageOperations","entity","plugins","dataLoader","PageBlockDataLoader","get","params","where","pageBlock","getOne","decompress","ex","WebinyError","message","code","list","sort","limit","tenant","locale","blockCategory","restWhere","queryAllParams","partitionKey","createGSIPartitionKey","options","index","beginsWith","gt","items","queryAll","fields","byType","PageBlockDynamoDbFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","Promise","all","map","item","totalCount","length","after","create","keys","PK","createPartitionKey","id","SK","createSortKey","GSI1_PK","GSI1_SK","createGSISortKey","put","TYPE","content","compress","clear","update","original","deletePageBlock","deleteItem","delete","exports"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PageBlock,\n PageBlockStorageOperationsCreateParams,\n PageBlockStorageOperationsDeleteParams,\n PageBlockStorageOperationsGetParams,\n PageBlockStorageOperationsListParams,\n PageBlockStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"@webiny/db-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 { PageBlockDataLoader } from \"./dataLoader\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { PageBlockDynamoDbFieldPlugin } from \"~/plugins/definitions/PageBlockDynamoDbFieldPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { createGSIPartitionKey, createGSISortKey, createPartitionKey, createSortKey } from \"./keys\";\nimport { PageBlockStorageOperations } from \"~/types\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\nimport { compress, decompress } from \"./compression\";\n\nconst createType = (): string => {\n return \"pb.pageBlock\";\n};\n\nexport interface CreatePageBlockStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createPageBlockStorageOperations = ({\n entity,\n plugins\n}: CreatePageBlockStorageOperationsParams): PageBlockStorageOperations => {\n const dataLoader = new PageBlockDataLoader({\n entity\n });\n\n const get = async (params: PageBlockStorageOperationsGetParams) => {\n const { where } = params;\n\n try {\n const pageBlock = await dataLoader.getOne(where);\n return decompress(pageBlock);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load page block by given parameters.\",\n ex.code || \"PAGE_BLOCK_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const list = async (params: PageBlockStorageOperationsListParams) => {\n const { where, sort, limit } = params;\n\n const { tenant, locale, blockCategory, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createGSIPartitionKey({ tenant, locale }),\n options: blockCategory\n ? {\n index: \"GSI1\",\n beginsWith: `${blockCategory}#`\n }\n : {\n index: \"GSI1\",\n gt: \" \"\n }\n };\n\n let items: PageBlock[] = [];\n\n try {\n items = await queryAll<PageBlock>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list page blocks by given parameters.\",\n ex.code || \"PAGE_BLOCK_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<PageBlockDynamoDbFieldPlugin>(\n PageBlockDynamoDbFieldPlugin.type\n );\n\n const filteredItems = filterItems<PageBlock>({\n plugins,\n where: restWhere,\n items,\n fields\n });\n\n const sortedItems = sortItems<PageBlock>({\n items: filteredItems,\n sort,\n fields\n });\n\n return createListResponse({\n items: await Promise.all(sortedItems.map(item => decompress(item))),\n limit: limit || 100000,\n totalCount: filteredItems.length,\n after: null\n });\n };\n\n const create = async (params: PageBlockStorageOperationsCreateParams) => {\n const { pageBlock } = params;\n\n const keys = {\n PK: createPartitionKey({\n tenant: pageBlock.tenant,\n locale: pageBlock.locale,\n id: pageBlock.id\n }),\n SK: createSortKey(),\n GSI1_PK: createGSIPartitionKey({ tenant: pageBlock.tenant, locale: pageBlock.locale }),\n GSI1_SK: createGSISortKey({ blockCategory: pageBlock.blockCategory, id: pageBlock.id })\n };\n\n try {\n await put({\n entity,\n item: {\n ...pageBlock,\n TYPE: createType(),\n ...keys,\n content: await compress(pageBlock.content)\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageBlock;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create page block.\",\n ex.code || \"PAGE_BLOCK_CREATE_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n const update = async (params: PageBlockStorageOperationsUpdateParams) => {\n const { original, pageBlock } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: original.tenant,\n locale: original.locale,\n id: pageBlock.id\n }),\n SK: createSortKey(),\n GSI1_PK: createGSIPartitionKey({ tenant: pageBlock.tenant, locale: pageBlock.locale }),\n GSI1_SK: createGSISortKey({ blockCategory: pageBlock.blockCategory, id: pageBlock.id })\n };\n\n try {\n await put({\n entity,\n item: {\n ...pageBlock,\n TYPE: createType(),\n ...keys,\n content: await compress(pageBlock.content)\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageBlock;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update page block.\",\n ex.code || \"PAGE_BLOCK_UPDATE_ERROR\",\n {\n keys,\n original,\n pageBlock\n }\n );\n }\n };\n\n const deletePageBlock = async (params: PageBlockStorageOperationsDeleteParams) => {\n const { pageBlock } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: pageBlock.tenant,\n locale: pageBlock.locale,\n id: pageBlock.id\n }),\n SK: createSortKey()\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete page block.\",\n ex.code || \"PAGE_BLOCK_DELETE_ERROR\",\n {\n keys,\n pageBlock\n }\n );\n }\n };\n\n return {\n dataLoader,\n get,\n list,\n create,\n update,\n delete: deletePageBlock\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_PageBlockDynamoDbFieldPlugin","_keys","_dbDynamodb","_compression","createType","createPageBlockStorageOperations","entity","plugins","dataLoader","PageBlockDataLoader","get","params","where","pageBlock","getOne","decompress","ex","WebinyError","message","code","list","sort","limit","tenant","locale","blockCategory","restWhere","queryAllParams","partitionKey","createGSIPartitionKey","options","index","beginsWith","gt","items","queryAll","fields","byType","PageBlockDynamoDbFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","Promise","all","map","item","totalCount","length","after","create","keys","PK","createPartitionKey","id","SK","createSortKey","GSI1_PK","GSI1_SK","createGSISortKey","put","TYPE","content","compress","clear","update","original","deletePageBlock","deleteItem","delete","exports"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n PageBlock,\n PageBlockStorageOperationsCreateParams,\n PageBlockStorageOperationsDeleteParams,\n PageBlockStorageOperationsGetParams,\n PageBlockStorageOperationsListParams,\n PageBlockStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport type { QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { PageBlockDataLoader } from \"./dataLoader\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { PageBlockDynamoDbFieldPlugin } from \"~/plugins/definitions/PageBlockDynamoDbFieldPlugin\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { createGSIPartitionKey, createGSISortKey, createPartitionKey, createSortKey } from \"./keys\";\nimport type { PageBlockStorageOperations } from \"~/types\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\nimport { compress, decompress } from \"./compression\";\n\nconst createType = (): string => {\n return \"pb.pageBlock\";\n};\n\nexport interface CreatePageBlockStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createPageBlockStorageOperations = ({\n entity,\n plugins\n}: CreatePageBlockStorageOperationsParams): PageBlockStorageOperations => {\n const dataLoader = new PageBlockDataLoader({\n entity\n });\n\n const get = async (params: PageBlockStorageOperationsGetParams) => {\n const { where } = params;\n\n try {\n const pageBlock = await dataLoader.getOne(where);\n return decompress(pageBlock);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load page block by given parameters.\",\n ex.code || \"PAGE_BLOCK_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const list = async (params: PageBlockStorageOperationsListParams) => {\n const { where, sort, limit } = params;\n\n const { tenant, locale, blockCategory, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createGSIPartitionKey({ tenant, locale }),\n options: blockCategory\n ? {\n index: \"GSI1\",\n beginsWith: `${blockCategory}#`\n }\n : {\n index: \"GSI1\",\n gt: \" \"\n }\n };\n\n let items: PageBlock[] = [];\n\n try {\n items = await queryAll<PageBlock>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list page blocks by given parameters.\",\n ex.code || \"PAGE_BLOCK_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<PageBlockDynamoDbFieldPlugin>(\n PageBlockDynamoDbFieldPlugin.type\n );\n\n const filteredItems = filterItems<PageBlock>({\n plugins,\n where: restWhere,\n items,\n fields\n });\n\n const sortedItems = sortItems<PageBlock>({\n items: filteredItems,\n sort,\n fields\n });\n\n return createListResponse({\n items: await Promise.all(sortedItems.map(item => decompress(item))),\n limit: limit || 100000,\n totalCount: filteredItems.length,\n after: null\n });\n };\n\n const create = async (params: PageBlockStorageOperationsCreateParams) => {\n const { pageBlock } = params;\n\n const keys = {\n PK: createPartitionKey({\n tenant: pageBlock.tenant,\n locale: pageBlock.locale,\n id: pageBlock.id\n }),\n SK: createSortKey(),\n GSI1_PK: createGSIPartitionKey({ tenant: pageBlock.tenant, locale: pageBlock.locale }),\n GSI1_SK: createGSISortKey({ blockCategory: pageBlock.blockCategory, id: pageBlock.id })\n };\n\n try {\n await put({\n entity,\n item: {\n ...pageBlock,\n TYPE: createType(),\n ...keys,\n content: await compress(pageBlock.content)\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageBlock;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create page block.\",\n ex.code || \"PAGE_BLOCK_CREATE_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n const update = async (params: PageBlockStorageOperationsUpdateParams) => {\n const { original, pageBlock } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: original.tenant,\n locale: original.locale,\n id: pageBlock.id\n }),\n SK: createSortKey(),\n GSI1_PK: createGSIPartitionKey({ tenant: pageBlock.tenant, locale: pageBlock.locale }),\n GSI1_SK: createGSISortKey({ blockCategory: pageBlock.blockCategory, id: pageBlock.id })\n };\n\n try {\n await put({\n entity,\n item: {\n ...pageBlock,\n TYPE: createType(),\n ...keys,\n content: await compress(pageBlock.content)\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageBlock;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update page block.\",\n ex.code || \"PAGE_BLOCK_UPDATE_ERROR\",\n {\n keys,\n original,\n pageBlock\n }\n );\n }\n };\n\n const deletePageBlock = async (params: PageBlockStorageOperationsDeleteParams) => {\n const { pageBlock } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: pageBlock.tenant,\n locale: pageBlock.locale,\n id: pageBlock.id\n }),\n SK: createSortKey()\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete page block.\",\n ex.code || \"PAGE_BLOCK_DELETE_ERROR\",\n {\n keys,\n pageBlock\n }\n );\n }\n };\n\n return {\n dataLoader,\n get,\n list,\n create,\n update,\n delete: deletePageBlock\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { PageElementStorageOperations } from "@webiny/api-page-builder/types";
2
- import { Entity } from "@webiny/db-dynamodb/toolbox";
3
- import { PluginsContainer } from "@webiny/plugins";
1
+ import type { PageElementStorageOperations } from "@webiny/api-page-builder/types";
2
+ import type { Entity } from "@webiny/db-dynamodb/toolbox";
3
+ import type { PluginsContainer } from "@webiny/plugins";
4
4
  export interface CreatePageElementStorageOperationsParams {
5
5
  entity: Entity<any>;
6
6
  plugins: PluginsContainer;
@@ -1 +1 @@
1
- {"version":3,"names":["_cleanup","require","_error","_interopRequireDefault","_query","_filter","_sort","_listResponse","_PageElementDynamoDbElasticFieldPlugin","_dbDynamodb","createPartitionKey","params","tenant","locale","createSortKey","id","createType","createPageElementStorageOperations","entity","plugins","create","pageElement","keys","PK","SK","put","item","TYPE","ex","WebinyError","message","code","update","original","deletePageElement","deleteItem","get","where","getClean","list","sort","limit","restWhere","queryAllParams","partitionKey","options","undefined","gt","results","queryAll","fields","byType","PageElementDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","items","map","cleanupItem","sortedItems","sortItems","createListResponse","totalCount","length","after","delete","exports"],"sources":["index.ts"],"sourcesContent":["import {\n PageElement,\n PageElementStorageOperations,\n PageElementStorageOperationsCreateParams,\n PageElementStorageOperationsDeleteParams,\n PageElementStorageOperationsGetParams,\n PageElementStorageOperationsListParams,\n PageElementStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport WebinyError from \"@webiny/error\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { PageElementDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/PageElementDynamoDbElasticFieldPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { deleteItem, getClean, put } from \"@webiny/db-dynamodb\";\n\ninterface PartitionKeyParams {\n tenant: string;\n locale: string;\n}\nconst createPartitionKey = (params: PartitionKeyParams): string => {\n const { tenant, locale } = params;\n return `T#${tenant}#L#${locale}#PB#PE`;\n};\n\ninterface SortKeyParams {\n id: string;\n}\nconst createSortKey = (params: SortKeyParams): string => {\n const { id } = params;\n return id;\n};\n\nconst createType = (): string => {\n return \"pb.pageElement\";\n};\n\nexport interface CreatePageElementStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createPageElementStorageOperations = ({\n entity,\n plugins\n}: CreatePageElementStorageOperationsParams): PageElementStorageOperations => {\n const create = async (params: PageElementStorageOperationsCreateParams) => {\n const { pageElement } = params;\n const keys = {\n PK: createPartitionKey(pageElement),\n SK: createSortKey(pageElement)\n };\n\n try {\n await put({\n entity,\n item: {\n ...pageElement,\n TYPE: createType(),\n ...keys\n }\n });\n return pageElement;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create pageElement.\",\n ex.code || \"PAGE_ELEMENT_CREATE_ERROR\",\n {\n keys,\n pageElement\n }\n );\n }\n };\n\n const update = async (params: PageElementStorageOperationsUpdateParams) => {\n const { pageElement, original } = params;\n const keys = {\n PK: createPartitionKey(pageElement),\n SK: createSortKey(pageElement)\n };\n\n try {\n await put({\n entity,\n item: {\n ...pageElement,\n TYPE: createType(),\n ...keys\n }\n });\n return pageElement;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update pageElement.\",\n ex.code || \"PAGE_ELEMENT_UPDATE_ERROR\",\n {\n keys,\n original,\n pageElement\n }\n );\n }\n };\n\n const deletePageElement = async (params: PageElementStorageOperationsDeleteParams) => {\n const { pageElement } = params;\n const keys = {\n PK: createPartitionKey(pageElement),\n SK: createSortKey(pageElement)\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete pageElement.\",\n ex.code || \"PAGE_ELEMENT_DELETE_ERROR\",\n {\n keys,\n pageElement\n }\n );\n }\n };\n\n const get = async (params: PageElementStorageOperationsGetParams) => {\n const { where } = params;\n\n const keys = {\n PK: createPartitionKey(where),\n SK: createSortKey(where)\n };\n try {\n return await getClean<PageElement>({\n entity,\n keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load page element by given parameters.\",\n ex.code || \"PAGE_ELEMENT_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const list = async (params: PageElementStorageOperationsListParams) => {\n const { where, sort, limit = 10 } = params;\n\n const { tenant, locale, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey({\n tenant,\n locale\n }),\n options: {\n limit: limit || undefined,\n gt: \" \"\n }\n };\n\n let results: PageElement[] = [];\n\n try {\n results = await queryAll<PageElement>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list page elements by given parameters.\",\n ex.code || \"PAGE_ELEMENTS_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<PageElementDynamoDbElasticFieldPlugin>(\n PageElementDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<PageElement>({\n plugins,\n where: restWhere,\n items: results,\n fields\n }).map(item => {\n return cleanupItem<PageElement>(entity, item);\n }) as PageElement[];\n\n const sortedItems = sortItems<PageElement>({\n items: filteredItems,\n sort,\n fields\n });\n\n return createListResponse({\n items: sortedItems,\n limit,\n totalCount: filteredItems.length,\n after: null\n });\n };\n\n return {\n get,\n create,\n update,\n delete: deletePageElement,\n list\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cleanup","require","_error","_interopRequireDefault","_query","_filter","_sort","_listResponse","_PageElementDynamoDbElasticFieldPlugin","_dbDynamodb","createPartitionKey","params","tenant","locale","createSortKey","id","createType","createPageElementStorageOperations","entity","plugins","create","pageElement","keys","PK","SK","put","item","TYPE","ex","WebinyError","message","code","update","original","deletePageElement","deleteItem","get","where","getClean","list","sort","limit","restWhere","queryAllParams","partitionKey","options","undefined","gt","results","queryAll","fields","byType","PageElementDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","items","map","cleanupItem","sortedItems","sortItems","createListResponse","totalCount","length","after","delete","exports"],"sources":["index.ts"],"sourcesContent":["import type {\n PageElement,\n PageElementStorageOperations,\n PageElementStorageOperationsCreateParams,\n PageElementStorageOperationsDeleteParams,\n PageElementStorageOperationsGetParams,\n PageElementStorageOperationsListParams,\n PageElementStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport WebinyError from \"@webiny/error\";\nimport type { QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { PageElementDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/PageElementDynamoDbElasticFieldPlugin\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { deleteItem, getClean, put } from \"@webiny/db-dynamodb\";\n\ninterface PartitionKeyParams {\n tenant: string;\n locale: string;\n}\nconst createPartitionKey = (params: PartitionKeyParams): string => {\n const { tenant, locale } = params;\n return `T#${tenant}#L#${locale}#PB#PE`;\n};\n\ninterface SortKeyParams {\n id: string;\n}\nconst createSortKey = (params: SortKeyParams): string => {\n const { id } = params;\n return id;\n};\n\nconst createType = (): string => {\n return \"pb.pageElement\";\n};\n\nexport interface CreatePageElementStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createPageElementStorageOperations = ({\n entity,\n plugins\n}: CreatePageElementStorageOperationsParams): PageElementStorageOperations => {\n const create = async (params: PageElementStorageOperationsCreateParams) => {\n const { pageElement } = params;\n const keys = {\n PK: createPartitionKey(pageElement),\n SK: createSortKey(pageElement)\n };\n\n try {\n await put({\n entity,\n item: {\n ...pageElement,\n TYPE: createType(),\n ...keys\n }\n });\n return pageElement;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create pageElement.\",\n ex.code || \"PAGE_ELEMENT_CREATE_ERROR\",\n {\n keys,\n pageElement\n }\n );\n }\n };\n\n const update = async (params: PageElementStorageOperationsUpdateParams) => {\n const { pageElement, original } = params;\n const keys = {\n PK: createPartitionKey(pageElement),\n SK: createSortKey(pageElement)\n };\n\n try {\n await put({\n entity,\n item: {\n ...pageElement,\n TYPE: createType(),\n ...keys\n }\n });\n return pageElement;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update pageElement.\",\n ex.code || \"PAGE_ELEMENT_UPDATE_ERROR\",\n {\n keys,\n original,\n pageElement\n }\n );\n }\n };\n\n const deletePageElement = async (params: PageElementStorageOperationsDeleteParams) => {\n const { pageElement } = params;\n const keys = {\n PK: createPartitionKey(pageElement),\n SK: createSortKey(pageElement)\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete pageElement.\",\n ex.code || \"PAGE_ELEMENT_DELETE_ERROR\",\n {\n keys,\n pageElement\n }\n );\n }\n };\n\n const get = async (params: PageElementStorageOperationsGetParams) => {\n const { where } = params;\n\n const keys = {\n PK: createPartitionKey(where),\n SK: createSortKey(where)\n };\n try {\n return await getClean<PageElement>({\n entity,\n keys\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load page element by given parameters.\",\n ex.code || \"PAGE_ELEMENT_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const list = async (params: PageElementStorageOperationsListParams) => {\n const { where, sort, limit = 10 } = params;\n\n const { tenant, locale, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey({\n tenant,\n locale\n }),\n options: {\n limit: limit || undefined,\n gt: \" \"\n }\n };\n\n let results: PageElement[] = [];\n\n try {\n results = await queryAll<PageElement>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list page elements by given parameters.\",\n ex.code || \"PAGE_ELEMENTS_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<PageElementDynamoDbElasticFieldPlugin>(\n PageElementDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<PageElement>({\n plugins,\n where: restWhere,\n items: results,\n fields\n }).map(item => {\n return cleanupItem<PageElement>(entity, item);\n }) as PageElement[];\n\n const sortedItems = sortItems<PageElement>({\n items: filteredItems,\n sort,\n fields\n });\n\n return createListResponse({\n items: sortedItems,\n limit,\n totalCount: filteredItems.length,\n after: null\n });\n };\n\n return {\n get,\n create,\n update,\n delete: deletePageElement,\n list\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { PageTemplate } from "@webiny/api-page-builder/types";
2
- import { Entity } from "@webiny/db-dynamodb/toolbox";
3
- import { DataLoaderInterface } from "../../types";
1
+ import type { PageTemplate } from "@webiny/api-page-builder/types";
2
+ import type { Entity } from "@webiny/db-dynamodb/toolbox";
3
+ import type { DataLoaderInterface } from "../../types";
4
4
  interface Params {
5
5
  entity: Entity<any>;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_dataloader","_interopRequireDefault","require","_dbDynamodb","_keys","PageTemplateDataLoader","_getDataLoader","undefined","constructor","params","entity","getOne","item","getDataLoader","load","getAll","items","loadMany","clear","clearAll","cacheKeyFn","key","tenant","locale","id","DataLoader","batched","map","getBatch","PK","createPrimaryPK","SK","records","batchReadAll","table","results","reduce","collection","result","data","exports"],"sources":["dataLoader.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { batchReadAll } from \"@webiny/db-dynamodb\";\nimport { PageTemplate } from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { createPrimaryPK } from \"./keys\";\nimport { DataContainer, DataLoaderInterface } from \"~/types\";\n\ninterface Params {\n entity: Entity<any>;\n}\n\ntype DataLoaderGetItem = Pick<PageTemplate, \"id\" | \"tenant\" | \"locale\">;\n\nexport class PageTemplateDataLoader implements DataLoaderInterface {\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<PageTemplate> {\n return await this.getDataLoader().load(item);\n }\n\n public async getAll(items: DataLoaderGetItem[]): Promise<PageTemplate[]> {\n return await this.getDataLoader().loadMany(items);\n }\n\n public clear(): void {\n this.getDataLoader().clearAll();\n }\n\n private getDataLoader() {\n if (!this._getDataLoader) {\n const cacheKeyFn = (key: DataLoaderGetItem) => {\n return `T#${key.tenant}#L#${key.locale}#${key.id}`;\n };\n this._getDataLoader = new DataLoader(\n async items => {\n const batched = items.map(item => {\n return this.entity.getBatch({\n PK: createPrimaryPK(item),\n SK: \"A\"\n });\n });\n\n const records = await batchReadAll<DataContainer<PageTemplate>>({\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.data);\n collection[key] = result.data as PageTemplate;\n return collection;\n }, {} as Record<string, PageTemplate>);\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,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AASO,MAAMG,sBAAsB,CAAgC;EACvDC,cAAc,GAAqCC,SAAS;EAIpEC,WAAWA,CAACC,MAAc,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;EAC/B;EAEA,MAAaC,MAAMA,CAACC,IAAuB,EAAyB;IAChE,OAAO,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,CAACC,IAAI,CAACF,IAAI,CAAC;EAChD;EAEA,MAAaG,MAAMA,CAACC,KAA0B,EAA2B;IACrE,OAAO,MAAM,IAAI,CAACH,aAAa,CAAC,CAAC,CAACI,QAAQ,CAACD,KAAK,CAAC;EACrD;EAEOE,KAAKA,CAAA,EAAS;IACjB,IAAI,CAACL,aAAa,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EACnC;EAEQN,aAAaA,CAAA,EAAG;IACpB,IAAI,CAAC,IAAI,CAACP,cAAc,EAAE;MACtB,MAAMc,UAAU,GAAIC,GAAsB,IAAK;QAC3C,OAAO,KAAKA,GAAG,CAACC,MAAM,MAAMD,GAAG,CAACE,MAAM,IAAIF,GAAG,CAACG,EAAE,EAAE;MACtD,CAAC;MACD,IAAI,CAAClB,cAAc,GAAG,IAAImB,mBAAU,CAChC,MAAMT,KAAK,IAAI;QACX,MAAMU,OAAO,GAAGV,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UAC9B,OAAO,IAAI,CAACF,MAAM,CAACkB,QAAQ,CAAC;YACxBC,EAAE,EAAE,IAAAC,qBAAe,EAAClB,IAAI,CAAC;YACzBmB,EAAE,EAAE;UACR,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,MAAMC,OAAO,GAAG,MAAM,IAAAC,wBAAY,EAA8B;UAC5DC,KAAK,EAAE,IAAI,CAACxB,MAAM,CAACwB,KAAK;UACxBlB,KAAK,EAAEU;QACX,CAAC,CAAC;QAEF,MAAMS,OAAO,GAAGH,OAAO,CAACI,MAAM,CAAC,CAACC,UAAU,EAAEC,MAAM,KAAK;UACnD,IAAI,CAACA,MAAM,EAAE;YACT,OAAOD,UAAU;UACrB;UACA,MAAMhB,GAAG,GAAGD,UAAU,CAACkB,MAAM,CAACC,IAAI,CAAC;UACnCF,UAAU,CAAChB,GAAG,CAAC,GAAGiB,MAAM,CAACC,IAAoB;UAC7C,OAAOF,UAAU;QACrB,CAAC,EAAE,CAAC,CAAiC,CAAC;QACtC,OAAOrB,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UACrB,MAAMS,GAAG,GAAGD,UAAU,CAACR,IAAI,CAAC;UAC5B,OAAOuB,OAAO,CAACd,GAAG,CAAC,IAAI,IAAI;QAC/B,CAAC,CAAC;MACN,CAAC,EACD;QACID;MACJ,CACJ,CAAC;IACL;IACA,OAAO,IAAI,CAACd,cAAc;EAC9B;AACJ;AAACkC,OAAA,CAAAnC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_dataloader","_interopRequireDefault","require","_dbDynamodb","_keys","PageTemplateDataLoader","_getDataLoader","undefined","constructor","params","entity","getOne","item","getDataLoader","load","getAll","items","loadMany","clear","clearAll","cacheKeyFn","key","tenant","locale","id","DataLoader","batched","map","getBatch","PK","createPrimaryPK","SK","records","batchReadAll","table","results","reduce","collection","result","data","exports"],"sources":["dataLoader.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { batchReadAll } from \"@webiny/db-dynamodb\";\nimport type { PageTemplate } from \"@webiny/api-page-builder/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { createPrimaryPK } from \"./keys\";\nimport type { DataContainer, DataLoaderInterface } from \"~/types\";\n\ninterface Params {\n entity: Entity<any>;\n}\n\ntype DataLoaderGetItem = Pick<PageTemplate, \"id\" | \"tenant\" | \"locale\">;\n\nexport class PageTemplateDataLoader implements DataLoaderInterface {\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<PageTemplate> {\n return await this.getDataLoader().load(item);\n }\n\n public async getAll(items: DataLoaderGetItem[]): Promise<PageTemplate[]> {\n return await this.getDataLoader().loadMany(items);\n }\n\n public clear(): void {\n this.getDataLoader().clearAll();\n }\n\n private getDataLoader() {\n if (!this._getDataLoader) {\n const cacheKeyFn = (key: DataLoaderGetItem) => {\n return `T#${key.tenant}#L#${key.locale}#${key.id}`;\n };\n this._getDataLoader = new DataLoader(\n async items => {\n const batched = items.map(item => {\n return this.entity.getBatch({\n PK: createPrimaryPK(item),\n SK: \"A\"\n });\n });\n\n const records = await batchReadAll<DataContainer<PageTemplate>>({\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.data);\n collection[key] = result.data as PageTemplate;\n return collection;\n }, {} as Record<string, PageTemplate>);\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,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AASO,MAAMG,sBAAsB,CAAgC;EACvDC,cAAc,GAAqCC,SAAS;EAIpEC,WAAWA,CAACC,MAAc,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;EAC/B;EAEA,MAAaC,MAAMA,CAACC,IAAuB,EAAyB;IAChE,OAAO,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,CAACC,IAAI,CAACF,IAAI,CAAC;EAChD;EAEA,MAAaG,MAAMA,CAACC,KAA0B,EAA2B;IACrE,OAAO,MAAM,IAAI,CAACH,aAAa,CAAC,CAAC,CAACI,QAAQ,CAACD,KAAK,CAAC;EACrD;EAEOE,KAAKA,CAAA,EAAS;IACjB,IAAI,CAACL,aAAa,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EACnC;EAEQN,aAAaA,CAAA,EAAG;IACpB,IAAI,CAAC,IAAI,CAACP,cAAc,EAAE;MACtB,MAAMc,UAAU,GAAIC,GAAsB,IAAK;QAC3C,OAAO,KAAKA,GAAG,CAACC,MAAM,MAAMD,GAAG,CAACE,MAAM,IAAIF,GAAG,CAACG,EAAE,EAAE;MACtD,CAAC;MACD,IAAI,CAAClB,cAAc,GAAG,IAAImB,mBAAU,CAChC,MAAMT,KAAK,IAAI;QACX,MAAMU,OAAO,GAAGV,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UAC9B,OAAO,IAAI,CAACF,MAAM,CAACkB,QAAQ,CAAC;YACxBC,EAAE,EAAE,IAAAC,qBAAe,EAAClB,IAAI,CAAC;YACzBmB,EAAE,EAAE;UACR,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,MAAMC,OAAO,GAAG,MAAM,IAAAC,wBAAY,EAA8B;UAC5DC,KAAK,EAAE,IAAI,CAACxB,MAAM,CAACwB,KAAK;UACxBlB,KAAK,EAAEU;QACX,CAAC,CAAC;QAEF,MAAMS,OAAO,GAAGH,OAAO,CAACI,MAAM,CAAC,CAACC,UAAU,EAAEC,MAAM,KAAK;UACnD,IAAI,CAACA,MAAM,EAAE;YACT,OAAOD,UAAU;UACrB;UACA,MAAMhB,GAAG,GAAGD,UAAU,CAACkB,MAAM,CAACC,IAAI,CAAC;UACnCF,UAAU,CAAChB,GAAG,CAAC,GAAGiB,MAAM,CAACC,IAAoB;UAC7C,OAAOF,UAAU;QACrB,CAAC,EAAE,CAAC,CAAiC,CAAC;QACtC,OAAOrB,KAAK,CAACW,GAAG,CAACf,IAAI,IAAI;UACrB,MAAMS,GAAG,GAAGD,UAAU,CAACR,IAAI,CAAC;UAC5B,OAAOuB,OAAO,CAACd,GAAG,CAAC,IAAI,IAAI;QAC/B,CAAC,CAAC;MACN,CAAC,EACD;QACID;MACJ,CACJ,CAAC;IACL;IACA,OAAO,IAAI,CAACd,cAAc;EAC9B;AACJ;AAACkC,OAAA,CAAAnC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { Entity } from "@webiny/db-dynamodb/toolbox";
2
- import { PluginsContainer } from "@webiny/plugins";
3
- import { PageTemplateStorageOperations } from "../../types";
1
+ import type { Entity } from "@webiny/db-dynamodb/toolbox";
2
+ import type { PluginsContainer } from "@webiny/plugins";
3
+ import type { PageTemplateStorageOperations } from "../../types";
4
4
  export interface CreatePageTemplateStorageOperationsParams {
5
5
  entity: Entity<any>;
6
6
  plugins: PluginsContainer;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_PageTemplateDynamoDbElasticFieldPlugin","_keys","_dbDynamodb","createType","createPageTemplateStorageOperations","entity","plugins","dataLoader","PageTemplateDataLoader","get","params","where","id","getOne","tenant","locale","result","queryOne","partitionKey","createGSI1PK","options","index","eq","slug","data","ex","WebinyError","message","code","list","sort","limit","restWhere","queryAllParams","gt","items","queryAll","itemsData","map","item","filter","Boolean","fields","byType","PageTemplateDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","totalCount","length","after","create","pageTemplate","keys","PK","createPrimaryPK","SK","GSI1_PK","GSI1_SK","put","TYPE","clear","update","original","deletePageTemplate","deleteItem","delete","exports"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PageTemplate,\n PageTemplateStorageOperationsCreateParams,\n PageTemplateStorageOperationsDeleteParams,\n PageTemplateStorageOperationsGetParams,\n PageTemplateStorageOperationsListParams,\n PageTemplateStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { queryAll, QueryAllParams, queryOne } from \"@webiny/db-dynamodb/utils/query\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { PageTemplateDataLoader } from \"./dataLoader\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { PageTemplateDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/PageTemplateDynamoDbElasticFieldPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { createGSI1PK, createPrimaryPK } from \"./keys\";\nimport { DataContainer, PageTemplateStorageOperations } from \"~/types\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\n\nconst createType = (): string => {\n return \"pb.pageTemplate\";\n};\n\nexport interface CreatePageTemplateStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\n\nexport const createPageTemplateStorageOperations = ({\n entity,\n plugins\n}: CreatePageTemplateStorageOperationsParams): PageTemplateStorageOperations => {\n const dataLoader = new PageTemplateDataLoader({\n entity\n });\n\n const get = async (params: PageTemplateStorageOperationsGetParams) => {\n const { where } = params;\n\n try {\n if (where.id) {\n return await dataLoader.getOne({\n id: where.id,\n tenant: where.tenant,\n locale: where.locale\n });\n }\n\n const result = await queryOne<{ data: PageTemplate }>({\n entity,\n partitionKey: createGSI1PK(where),\n options: {\n index: \"GSI1\",\n eq: where.slug\n }\n });\n\n return result?.data || null;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load page template by given parameters.\",\n ex.code || \"PAGE_TEMPLATE_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const list = async (params: PageTemplateStorageOperationsListParams) => {\n const { where, sort, limit } = params;\n\n const { tenant, locale, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createGSI1PK({ tenant, locale }),\n options: {\n index: \"GSI1\",\n gt: \" \"\n }\n };\n\n let items: DataContainer<PageTemplate>[] = [];\n\n try {\n items = await queryAll<DataContainer<PageTemplate>>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list page templates by given parameters.\",\n ex.code || \"PAGE_TEMPLATE_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const itemsData = items.map(item => item?.data).filter(Boolean);\n\n const fields = plugins.byType<PageTemplateDynamoDbElasticFieldPlugin>(\n PageTemplateDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<PageTemplate>({\n plugins,\n where: restWhere,\n items: itemsData,\n fields\n });\n\n const sortedItems = sortItems<PageTemplate>({\n items: filteredItems,\n sort,\n fields\n });\n\n return createListResponse({\n items: sortedItems,\n limit: limit || 100000,\n totalCount: sortedItems.length,\n after: null\n });\n };\n\n const create = async (params: PageTemplateStorageOperationsCreateParams) => {\n const { pageTemplate } = params;\n\n const keys = {\n PK: createPrimaryPK(pageTemplate),\n SK: \"A\",\n GSI1_PK: createGSI1PK(pageTemplate),\n GSI1_SK: pageTemplate.slug\n };\n\n try {\n await put({\n entity,\n item: {\n data: pageTemplate,\n TYPE: createType(),\n ...keys\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageTemplate;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create page template.\",\n ex.code || \"PAGE_TEMPLATE_CREATE_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n const update = async (params: PageTemplateStorageOperationsUpdateParams) => {\n const { original, pageTemplate } = params;\n const keys = {\n PK: createPrimaryPK(pageTemplate),\n SK: \"A\",\n GSI1_PK: createGSI1PK(pageTemplate),\n GSI1_SK: pageTemplate.slug\n };\n\n try {\n await put({\n entity,\n item: {\n data: pageTemplate,\n TYPE: createType(),\n ...keys\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageTemplate;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update page template.\",\n ex.code || \"PAGE_TEMPLATE_UPDATE_ERROR\",\n {\n keys,\n original,\n pageTemplate\n }\n );\n }\n };\n\n const deletePageTemplate = async (params: PageTemplateStorageOperationsDeleteParams) => {\n const { pageTemplate } = params;\n const keys = {\n PK: createPrimaryPK(pageTemplate),\n SK: \"A\"\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageTemplate;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete page template.\",\n ex.code || \"PAGE_TEMPLATE_DELETE_ERROR\",\n {\n keys,\n pageTemplate\n }\n );\n }\n };\n\n return {\n dataLoader,\n get,\n list,\n create,\n update,\n delete: deletePageTemplate\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_PageTemplateDynamoDbElasticFieldPlugin","_keys","_dbDynamodb","createType","createPageTemplateStorageOperations","entity","plugins","dataLoader","PageTemplateDataLoader","get","params","where","id","getOne","tenant","locale","result","queryOne","partitionKey","createGSI1PK","options","index","eq","slug","data","ex","WebinyError","message","code","list","sort","limit","restWhere","queryAllParams","gt","items","queryAll","itemsData","map","item","filter","Boolean","fields","byType","PageTemplateDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","totalCount","length","after","create","pageTemplate","keys","PK","createPrimaryPK","SK","GSI1_PK","GSI1_SK","put","TYPE","clear","update","original","deletePageTemplate","deleteItem","delete","exports"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n PageTemplate,\n PageTemplateStorageOperationsCreateParams,\n PageTemplateStorageOperationsDeleteParams,\n PageTemplateStorageOperationsGetParams,\n PageTemplateStorageOperationsListParams,\n PageTemplateStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport type { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport type { QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { queryAll, queryOne } from \"@webiny/db-dynamodb/utils/query\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { filterItems } from \"@webiny/db-dynamodb/utils/filter\";\nimport { PageTemplateDataLoader } from \"./dataLoader\";\nimport { createListResponse } from \"@webiny/db-dynamodb/utils/listResponse\";\nimport { PageTemplateDynamoDbElasticFieldPlugin } from \"~/plugins/definitions/PageTemplateDynamoDbElasticFieldPlugin\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { createGSI1PK, createPrimaryPK } from \"./keys\";\nimport type { DataContainer, PageTemplateStorageOperations } from \"~/types\";\nimport { deleteItem, put } from \"@webiny/db-dynamodb\";\n\nconst createType = (): string => {\n return \"pb.pageTemplate\";\n};\n\nexport interface CreatePageTemplateStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\n\nexport const createPageTemplateStorageOperations = ({\n entity,\n plugins\n}: CreatePageTemplateStorageOperationsParams): PageTemplateStorageOperations => {\n const dataLoader = new PageTemplateDataLoader({\n entity\n });\n\n const get = async (params: PageTemplateStorageOperationsGetParams) => {\n const { where } = params;\n\n try {\n if (where.id) {\n return await dataLoader.getOne({\n id: where.id,\n tenant: where.tenant,\n locale: where.locale\n });\n }\n\n const result = await queryOne<{ data: PageTemplate }>({\n entity,\n partitionKey: createGSI1PK(where),\n options: {\n index: \"GSI1\",\n eq: where.slug\n }\n });\n\n return result?.data || null;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load page template by given parameters.\",\n ex.code || \"PAGE_TEMPLATE_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const list = async (params: PageTemplateStorageOperationsListParams) => {\n const { where, sort, limit } = params;\n\n const { tenant, locale, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createGSI1PK({ tenant, locale }),\n options: {\n index: \"GSI1\",\n gt: \" \"\n }\n };\n\n let items: DataContainer<PageTemplate>[] = [];\n\n try {\n items = await queryAll<DataContainer<PageTemplate>>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list page templates by given parameters.\",\n ex.code || \"PAGE_TEMPLATE_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const itemsData = items.map(item => item?.data).filter(Boolean);\n\n const fields = plugins.byType<PageTemplateDynamoDbElasticFieldPlugin>(\n PageTemplateDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<PageTemplate>({\n plugins,\n where: restWhere,\n items: itemsData,\n fields\n });\n\n const sortedItems = sortItems<PageTemplate>({\n items: filteredItems,\n sort,\n fields\n });\n\n return createListResponse({\n items: sortedItems,\n limit: limit || 100000,\n totalCount: sortedItems.length,\n after: null\n });\n };\n\n const create = async (params: PageTemplateStorageOperationsCreateParams) => {\n const { pageTemplate } = params;\n\n const keys = {\n PK: createPrimaryPK(pageTemplate),\n SK: \"A\",\n GSI1_PK: createGSI1PK(pageTemplate),\n GSI1_SK: pageTemplate.slug\n };\n\n try {\n await put({\n entity,\n item: {\n data: pageTemplate,\n TYPE: createType(),\n ...keys\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageTemplate;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create page template.\",\n ex.code || \"PAGE_TEMPLATE_CREATE_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n const update = async (params: PageTemplateStorageOperationsUpdateParams) => {\n const { original, pageTemplate } = params;\n const keys = {\n PK: createPrimaryPK(pageTemplate),\n SK: \"A\",\n GSI1_PK: createGSI1PK(pageTemplate),\n GSI1_SK: pageTemplate.slug\n };\n\n try {\n await put({\n entity,\n item: {\n data: pageTemplate,\n TYPE: createType(),\n ...keys\n }\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageTemplate;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update page template.\",\n ex.code || \"PAGE_TEMPLATE_UPDATE_ERROR\",\n {\n keys,\n original,\n pageTemplate\n }\n );\n }\n };\n\n const deletePageTemplate = async (params: PageTemplateStorageOperationsDeleteParams) => {\n const { pageTemplate } = params;\n const keys = {\n PK: createPrimaryPK(pageTemplate),\n SK: \"A\"\n };\n\n try {\n await deleteItem({\n entity,\n keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return pageTemplate;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete page template.\",\n ex.code || \"PAGE_TEMPLATE_DELETE_ERROR\",\n {\n keys,\n pageTemplate\n }\n );\n }\n };\n\n return {\n dataLoader,\n get,\n list,\n create,\n update,\n delete: deletePageTemplate\n };\n};\n"],"mappings":"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","ignoreList":[]}