@webiny/api-page-builder-so-ddb-es 5.39.0-beta.1 → 5.39.0-beta.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 (116) hide show
  1. package/definitions/blockCategoryEntity.d.ts +2 -2
  2. package/definitions/blockCategoryEntity.js +6 -7
  3. package/definitions/blockCategoryEntity.js.map +1 -1
  4. package/definitions/categoryEntity.d.ts +2 -2
  5. package/definitions/categoryEntity.js +6 -7
  6. package/definitions/categoryEntity.js.map +1 -1
  7. package/definitions/menuEntity.d.ts +2 -2
  8. package/definitions/menuEntity.js +6 -7
  9. package/definitions/menuEntity.js.map +1 -1
  10. package/definitions/pageBlockEntity.d.ts +2 -2
  11. package/definitions/pageBlockEntity.js +6 -7
  12. package/definitions/pageBlockEntity.js.map +1 -1
  13. package/definitions/pageElasticsearchEntity.d.ts +2 -2
  14. package/definitions/pageElasticsearchEntity.js +6 -7
  15. package/definitions/pageElasticsearchEntity.js.map +1 -1
  16. package/definitions/pageElementEntity.d.ts +2 -2
  17. package/definitions/pageElementEntity.js +6 -7
  18. package/definitions/pageElementEntity.js.map +1 -1
  19. package/definitions/pageEntity.d.ts +2 -2
  20. package/definitions/pageEntity.js +6 -7
  21. package/definitions/pageEntity.js.map +1 -1
  22. package/definitions/pageTemplateEntity.d.ts +2 -2
  23. package/definitions/pageTemplateEntity.js +6 -7
  24. package/definitions/pageTemplateEntity.js.map +1 -1
  25. package/definitions/settingsEntity.d.ts +2 -2
  26. package/definitions/settingsEntity.js +2 -2
  27. package/definitions/settingsEntity.js.map +1 -1
  28. package/definitions/systemEntity.d.ts +2 -2
  29. package/definitions/systemEntity.js +6 -7
  30. package/definitions/systemEntity.js.map +1 -1
  31. package/definitions/table.d.ts +4 -4
  32. package/definitions/table.js +5 -3
  33. package/definitions/table.js.map +1 -1
  34. package/definitions/tableElasticsearch.d.ts +4 -4
  35. package/definitions/tableElasticsearch.js +5 -3
  36. package/definitions/tableElasticsearch.js.map +1 -1
  37. package/operations/blockCategory/dataLoader.d.ts +1 -1
  38. package/operations/blockCategory/dataLoader.js +1 -3
  39. package/operations/blockCategory/dataLoader.js.map +1 -1
  40. package/operations/blockCategory/index.d.ts +1 -1
  41. package/operations/blockCategory/index.js +25 -14
  42. package/operations/blockCategory/index.js.map +1 -1
  43. package/operations/category/dataLoader.d.ts +1 -1
  44. package/operations/category/dataLoader.js +1 -3
  45. package/operations/category/dataLoader.js.map +1 -1
  46. package/operations/category/index.d.ts +1 -1
  47. package/operations/category/index.js +25 -14
  48. package/operations/category/index.js.map +1 -1
  49. package/operations/menu/index.d.ts +1 -1
  50. package/operations/menu/index.js +29 -19
  51. package/operations/menu/index.js.map +1 -1
  52. package/operations/pageBlock/compression.js +6 -6
  53. package/operations/pageBlock/compression.js.map +1 -1
  54. package/operations/pageBlock/dataLoader.d.ts +1 -1
  55. package/operations/pageBlock/dataLoader.js +1 -3
  56. package/operations/pageBlock/dataLoader.js.map +1 -1
  57. package/operations/pageBlock/index.d.ts +1 -1
  58. package/operations/pageBlock/index.js +28 -19
  59. package/operations/pageBlock/index.js.map +1 -1
  60. package/operations/pageElement/index.d.ts +1 -1
  61. package/operations/pageElement/index.js +29 -19
  62. package/operations/pageElement/index.js.map +1 -1
  63. package/operations/pageTemplate/dataLoader.d.ts +1 -1
  64. package/operations/pageTemplate/dataLoader.js +1 -3
  65. package/operations/pageTemplate/dataLoader.js.map +1 -1
  66. package/operations/pageTemplate/index.d.ts +1 -1
  67. package/operations/pageTemplate/index.js +27 -20
  68. package/operations/pageTemplate/index.js.map +1 -1
  69. package/operations/pages/elasticsearchQueryBody.js +9 -10
  70. package/operations/pages/elasticsearchQueryBody.js.map +1 -1
  71. package/operations/pages/helpers.js +6 -5
  72. package/operations/pages/helpers.js.map +1 -1
  73. package/operations/pages/index.d.ts +1 -1
  74. package/operations/pages/index.js +116 -71
  75. package/operations/pages/index.js.map +1 -1
  76. package/operations/settings/index.d.ts +8 -2
  77. package/operations/settings/index.js +26 -19
  78. package/operations/settings/index.js.map +1 -1
  79. package/operations/system/index.d.ts +1 -1
  80. package/operations/system/index.js +19 -9
  81. package/operations/system/index.js.map +1 -1
  82. package/package.json +33 -30
  83. package/plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin.js +3 -4
  84. package/plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin.js.map +1 -1
  85. package/plugins/definitions/CategoryDynamoDbElasticFieldPlugin.js +3 -4
  86. package/plugins/definitions/CategoryDynamoDbElasticFieldPlugin.js.map +1 -1
  87. package/plugins/definitions/IndexPageDataPlugin.js +1 -4
  88. package/plugins/definitions/IndexPageDataPlugin.js.map +1 -1
  89. package/plugins/definitions/MenuDynamoDbElasticFieldPlugin.js +3 -4
  90. package/plugins/definitions/MenuDynamoDbElasticFieldPlugin.js.map +1 -1
  91. package/plugins/definitions/PageBlockDynamoDbFieldPlugin.js +3 -4
  92. package/plugins/definitions/PageBlockDynamoDbFieldPlugin.js.map +1 -1
  93. package/plugins/definitions/PageDynamoDbElasticsearchFieldPlugin.js +3 -4
  94. package/plugins/definitions/PageDynamoDbElasticsearchFieldPlugin.js.map +1 -1
  95. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.js +3 -4
  96. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.js.map +1 -1
  97. package/plugins/definitions/PageElasticsearchFieldPlugin.js +3 -4
  98. package/plugins/definitions/PageElasticsearchFieldPlugin.js.map +1 -1
  99. package/plugins/definitions/PageElasticsearchIndexPlugin.js +3 -4
  100. package/plugins/definitions/PageElasticsearchIndexPlugin.js.map +1 -1
  101. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.js +3 -4
  102. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.js.map +1 -1
  103. package/plugins/definitions/PageElasticsearchSortModifierPlugin.js +3 -4
  104. package/plugins/definitions/PageElasticsearchSortModifierPlugin.js.map +1 -1
  105. package/plugins/definitions/PageElementDynamoDbElasticFieldPlugin.js +3 -4
  106. package/plugins/definitions/PageElementDynamoDbElasticFieldPlugin.js.map +1 -1
  107. package/plugins/definitions/PageTemplateDynamoDbElasticFieldPlugin.js +3 -4
  108. package/plugins/definitions/PageTemplateDynamoDbElasticFieldPlugin.js.map +1 -1
  109. package/plugins/definitions/SearchLatestPagesPlugin.js +3 -4
  110. package/plugins/definitions/SearchLatestPagesPlugin.js.map +1 -1
  111. package/plugins/definitions/SearchPagesPlugin.js +0 -3
  112. package/plugins/definitions/SearchPagesPlugin.js.map +1 -1
  113. package/plugins/definitions/SearchPublishedPagesPlugin.js +3 -4
  114. package/plugins/definitions/SearchPublishedPagesPlugin.js.map +1 -1
  115. package/types.d.ts +8 -9
  116. package/types.js.map +1 -1
@@ -1,9 +1,9 @@
1
- import { Table } from "dynamodb-toolbox";
2
- import { DocumentClient } from "aws-sdk/clients/dynamodb";
1
+ import { Table } from "@webiny/db-dynamodb/toolbox";
2
+ import { DynamoDBClient } from "@webiny/aws-sdk/client-dynamodb";
3
3
  import { TableModifier } from "../types";
4
4
  interface Params {
5
5
  table?: TableModifier;
6
- documentClient: DocumentClient;
6
+ documentClient: DynamoDBClient;
7
7
  }
8
- export declare const createTable: ({ table, documentClient }: Params) => Table;
8
+ export declare const createTable: ({ table, documentClient }: Params) => Table<string, string, string>;
9
9
  export {};
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createTable = void 0;
7
- var _dynamodbToolbox = require("dynamodb-toolbox");
7
+ var _toolbox = require("@webiny/db-dynamodb/toolbox");
8
8
  const createTable = ({
9
9
  table,
10
10
  documentClient
@@ -19,10 +19,12 @@ const createTable = ({
19
19
  partitionKey: "GSI1_PK",
20
20
  sortKey: "GSI1_SK"
21
21
  }
22
- }
22
+ },
23
+ autoExecute: true,
24
+ autoParse: true
23
25
  };
24
26
  const config = typeof table === "function" ? table(tableConfig) : tableConfig;
25
- return new _dynamodbToolbox.Table(config);
27
+ return new _toolbox.Table(config);
26
28
  };
27
29
  exports.createTable = createTable;
28
30
 
@@ -1 +1 @@
1
- {"version":3,"names":["_dynamodbToolbox","require","createTable","table","documentClient","tableConfig","name","process","env","DB_PAGE_BUILDER","DB_TABLE","partitionKey","sortKey","DocumentClient","indexes","GSI1","config","Table","exports"],"sources":["table.ts"],"sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\nimport { TableModifier } from \"~/types\";\n\ninterface Params {\n table?: TableModifier;\n documentClient: DocumentClient;\n}\nexport const createTable = ({ table, documentClient }: Params): Table => {\n const tableConfig: TableConstructor = {\n name: process.env.DB_PAGE_BUILDER || (process.env.DB_TABLE as string),\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n indexes: {\n GSI1: {\n partitionKey: \"GSI1_PK\",\n sortKey: \"GSI1_SK\"\n }\n }\n };\n\n const config = typeof table === \"function\" ? table(tableConfig) : tableConfig;\n\n return new Table(config);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AASO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAuB,CAAC,KAAY;EACrE,MAAMC,WAA6B,GAAG;IAClCC,IAAI,EAAEC,OAAO,CAACC,GAAG,CAACC,eAAe,IAAKF,OAAO,CAACC,GAAG,CAACE,QAAmB;IACrEC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAET,cAAc;IAC9BU,OAAO,EAAE;MACLC,IAAI,EAAE;QACFJ,YAAY,EAAE,SAAS;QACvBC,OAAO,EAAE;MACb;IACJ;EACJ,CAAC;EAED,MAAMI,MAAM,GAAG,OAAOb,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACE,WAAW,CAAC,GAAGA,WAAW;EAE7E,OAAO,IAAIY,sBAAK,CAACD,MAAM,CAAC;AAC5B,CAAC;AAACE,OAAA,CAAAhB,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"names":["_toolbox","require","createTable","table","documentClient","tableConfig","name","process","env","DB_PAGE_BUILDER","DB_TABLE","partitionKey","sortKey","DocumentClient","indexes","GSI1","autoExecute","autoParse","config","Table","exports"],"sources":["table.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { DynamoDBClient } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { TableConstructor } from \"@webiny/db-dynamodb/toolbox\";\nimport { TableModifier } from \"~/types\";\n\ninterface Params {\n table?: TableModifier;\n documentClient: DynamoDBClient;\n}\nexport const createTable = ({ table, documentClient }: Params): Table<string, string, string> => {\n const tableConfig: TableConstructor<string, string, string> = {\n name: process.env.DB_PAGE_BUILDER || (process.env.DB_TABLE as string),\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n indexes: {\n GSI1: {\n partitionKey: \"GSI1_PK\",\n sortKey: \"GSI1_SK\"\n }\n },\n autoExecute: true,\n autoParse: true\n };\n\n const config = typeof table === \"function\" ? table(tableConfig) : tableConfig;\n\n return new Table(config);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AASO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAuB,CAAC,KAAoC;EAC7F,MAAMC,WAAqD,GAAG;IAC1DC,IAAI,EAAEC,OAAO,CAACC,GAAG,CAACC,eAAe,IAAKF,OAAO,CAACC,GAAG,CAACE,QAAmB;IACrEC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAET,cAAc;IAC9BU,OAAO,EAAE;MACLC,IAAI,EAAE;QACFJ,YAAY,EAAE,SAAS;QACvBC,OAAO,EAAE;MACb;IACJ,CAAC;IACDI,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC;EAED,MAAMC,MAAM,GAAG,OAAOf,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACE,WAAW,CAAC,GAAGA,WAAW;EAE7E,OAAO,IAAIc,cAAK,CAACD,MAAM,CAAC;AAC5B,CAAC;AAACE,OAAA,CAAAlB,WAAA,GAAAA,WAAA"}
@@ -1,9 +1,9 @@
1
1
  import { TableModifier } from "../types";
2
- import { DocumentClient } from "aws-sdk/clients/dynamodb";
3
- import { Table } from "dynamodb-toolbox";
2
+ import { DynamoDBClient } from "@webiny/aws-sdk/client-dynamodb";
3
+ import { Table } from "@webiny/db-dynamodb/toolbox";
4
4
  interface Params {
5
5
  table?: TableModifier;
6
- documentClient: DocumentClient;
6
+ documentClient: DynamoDBClient;
7
7
  }
8
- export declare const createElasticsearchTable: ({ table, documentClient }: Params) => Table;
8
+ export declare const createElasticsearchTable: ({ table, documentClient }: Params) => Table<string, string, string>;
9
9
  export {};
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createElasticsearchTable = void 0;
7
- var _dynamodbToolbox = require("dynamodb-toolbox");
7
+ var _toolbox = require("@webiny/db-dynamodb/toolbox");
8
8
  const createElasticsearchTable = ({
9
9
  table,
10
10
  documentClient
@@ -13,10 +13,12 @@ const createElasticsearchTable = ({
13
13
  name: process.env.DB_TABLE_ELASTICSEARCH,
14
14
  partitionKey: "PK",
15
15
  sortKey: "SK",
16
- DocumentClient: documentClient
16
+ DocumentClient: documentClient,
17
+ autoExecute: true,
18
+ autoParse: true
17
19
  };
18
20
  const config = typeof table === "function" ? table(tableConfig) : tableConfig;
19
- return new _dynamodbToolbox.Table(config);
21
+ return new _toolbox.Table(config);
20
22
  };
21
23
  exports.createElasticsearchTable = createElasticsearchTable;
22
24
 
@@ -1 +1 @@
1
- {"version":3,"names":["_dynamodbToolbox","require","createElasticsearchTable","table","documentClient","tableConfig","name","process","env","DB_TABLE_ELASTICSEARCH","partitionKey","sortKey","DocumentClient","config","Table","exports"],"sources":["tableElasticsearch.ts"],"sourcesContent":["import { TableModifier } from \"~/types\";\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table } from \"dynamodb-toolbox\";\nimport { TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\n\ninterface Params {\n table?: TableModifier;\n documentClient: DocumentClient;\n}\nexport const createElasticsearchTable = ({ table, documentClient }: Params): Table => {\n const tableConfig: TableConstructor = {\n name: process.env.DB_TABLE_ELASTICSEARCH as string,\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient\n };\n\n const config = typeof table === \"function\" ? table(tableConfig) : tableConfig;\n\n return new Table(config);\n};\n"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AAOO,MAAMC,wBAAwB,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAuB,CAAC,KAAY;EAClF,MAAMC,WAA6B,GAAG;IAClCC,IAAI,EAAEC,OAAO,CAACC,GAAG,CAACC,sBAAgC;IAClDC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAER;EACpB,CAAC;EAED,MAAMS,MAAM,GAAG,OAAOV,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACE,WAAW,CAAC,GAAGA,WAAW;EAE7E,OAAO,IAAIS,sBAAK,CAACD,MAAM,CAAC;AAC5B,CAAC;AAACE,OAAA,CAAAb,wBAAA,GAAAA,wBAAA"}
1
+ {"version":3,"names":["_toolbox","require","createElasticsearchTable","table","documentClient","tableConfig","name","process","env","DB_TABLE_ELASTICSEARCH","partitionKey","sortKey","DocumentClient","autoExecute","autoParse","config","Table","exports"],"sources":["tableElasticsearch.ts"],"sourcesContent":["import { TableModifier } from \"~/types\";\nimport { DynamoDBClient } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { TableConstructor } from \"@webiny/db-dynamodb/toolbox\";\n\ninterface Params {\n table?: TableModifier;\n documentClient: DynamoDBClient;\n}\nexport const createElasticsearchTable = ({\n table,\n documentClient\n}: Params): Table<string, string, string> => {\n const tableConfig: TableConstructor<string, string, string> = {\n name: process.env.DB_TABLE_ELASTICSEARCH as string,\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n autoExecute: true,\n autoParse: true\n };\n\n const config = typeof table === \"function\" ? table(tableConfig) : tableConfig;\n\n return new Table(config);\n};\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAOO,MAAMC,wBAAwB,GAAGA,CAAC;EACrCC,KAAK;EACLC;AACI,CAAC,KAAoC;EACzC,MAAMC,WAAqD,GAAG;IAC1DC,IAAI,EAAEC,OAAO,CAACC,GAAG,CAACC,sBAAgC;IAClDC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAER,cAAc;IAC9BS,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC;EAED,MAAMC,MAAM,GAAG,OAAOZ,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACE,WAAW,CAAC,GAAGA,WAAW;EAE7E,OAAO,IAAIW,cAAK,CAACD,MAAM,CAAC;AAC5B,CAAC;AAACE,OAAA,CAAAf,wBAAA,GAAAA,wBAAA"}
@@ -1,5 +1,5 @@
1
1
  import { BlockCategory } from "@webiny/api-page-builder/types";
2
- import { Entity } from "dynamodb-toolbox";
2
+ import { Entity } from "@webiny/db-dynamodb/toolbox";
3
3
  import { DataLoaderInterface } from "../../types";
4
4
  interface Params {
5
5
  entity: Entity<any>;
@@ -5,15 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.BlockCategoryDataLoader = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
8
  var _dataloader = _interopRequireDefault(require("dataloader"));
10
9
  var _batchRead = require("@webiny/db-dynamodb/utils/batchRead");
11
10
  var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
12
11
  var _keys = require("./keys");
13
12
  class BlockCategoryDataLoader {
13
+ _getDataLoader = undefined;
14
14
  constructor(params) {
15
- (0, _defineProperty2.default)(this, "_getDataLoader", undefined);
16
- (0, _defineProperty2.default)(this, "entity", void 0);
17
15
  this.entity = params.entity;
18
16
  }
19
17
  async getOne(item) {
@@ -1 +1 @@
1
- {"version":3,"names":["_dataloader","_interopRequireDefault","require","_batchRead","_cleanup","_keys","BlockCategoryDataLoader","constructor","params","_defineProperty2","default","undefined","entity","getOne","item","getDataLoader","load","getAll","items","loadMany","clear","clearAll","_getDataLoader","cacheKeyFn","key","tenant","locale","slug","DataLoader","batched","map","getBatch","PK","createPartitionKey","SK","createSortKey","records","batchReadAll","table","results","reduce","collection","result","cleanupItem","exports"],"sources":["dataLoader.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { batchReadAll } from \"@webiny/db-dynamodb/utils/batchRead\";\nimport { BlockCategory } from \"@webiny/api-page-builder/types\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { createPartitionKey, createSortKey } from \"./keys\";\nimport { DataLoaderInterface } from \"~/types\";\n\ninterface Params {\n entity: Entity<any>;\n}\n\ntype DataLoaderGetItem = Pick<BlockCategory, \"slug\" | \"tenant\" | \"locale\">;\n\nexport class BlockCategoryDataLoader 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<BlockCategory> {\n return await this.getDataLoader().load(item);\n }\n\n public async getAll(items: DataLoaderGetItem[]): Promise<BlockCategory[]> {\n return await this.getDataLoader().loadMany(items);\n }\n\n public clear(): void {\n this.getDataLoader().clearAll();\n }\n\n private getDataLoader(): DataLoader<any, any> {\n if (!this._getDataLoader) {\n const cacheKeyFn = (key: DataLoaderGetItem) => {\n return `T#${key.tenant}#L#${key.locale}#${key.slug}`;\n };\n this._getDataLoader = new DataLoader(\n async items => {\n const batched = items.map(item => {\n return this.entity.getBatch({\n PK: createPartitionKey(item),\n SK: createSortKey(item)\n });\n });\n\n const records = await batchReadAll<BlockCategory>({\n table: this.entity.table,\n items: batched\n });\n\n const results = records.reduce((collection, result) => {\n if (!result) {\n return collection;\n }\n const key = cacheKeyFn(result);\n collection[key] = cleanupItem(this.entity, result) as BlockCategory;\n return collection;\n }, {} as Record<string, BlockCategory>);\n return items.map(item => {\n const key = cacheKeyFn(item);\n return results[key] || null;\n });\n },\n {\n cacheKeyFn\n }\n );\n }\n return this._getDataLoader;\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AASO,MAAMI,uBAAuB,CAAgC;EAKhEC,WAAWA,CAACC,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,0BAJ+BC,SAAS;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAKhE,IAAI,CAACE,MAAM,GAAGJ,MAAM,CAACI,MAAM;EAC/B;EAEA,MAAaC,MAAMA,CAACC,IAAuB,EAA0B;IACjE,OAAO,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,CAACC,IAAI,CAACF,IAAI,CAAC;EAChD;EAEA,MAAaG,MAAMA,CAACC,KAA0B,EAA4B;IACtE,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,CAACO,cAAc,EAAE;MACtB,MAAMC,UAAU,GAAIC,GAAsB,IAAK;QAC3C,OAAQ,KAAIA,GAAG,CAACC,MAAO,MAAKD,GAAG,CAACE,MAAO,IAAGF,GAAG,CAACG,IAAK,EAAC;MACxD,CAAC;MACD,IAAI,CAACL,cAAc,GAAG,IAAIM,mBAAU,CAChC,MAAMV,KAAK,IAAI;QACX,MAAMW,OAAO,GAAGX,KAAK,CAACY,GAAG,CAAChB,IAAI,IAAI;UAC9B,OAAO,IAAI,CAACF,MAAM,CAACmB,QAAQ,CAAC;YACxBC,EAAE,EAAE,IAAAC,wBAAkB,EAACnB,IAAI,CAAC;YAC5BoB,EAAE,EAAE,IAAAC,mBAAa,EAACrB,IAAI;UAC1B,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,MAAMsB,OAAO,GAAG,MAAM,IAAAC,uBAAY,EAAgB;UAC9CC,KAAK,EAAE,IAAI,CAAC1B,MAAM,CAAC0B,KAAK;UACxBpB,KAAK,EAAEW;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,CAAC/B,MAAM,EAAE8B,MAAM,CAAkB;UACnE,OAAOD,UAAU;QACrB,CAAC,EAAE,CAAC,CAAkC,CAAC;QACvC,OAAOvB,KAAK,CAACY,GAAG,CAAChB,IAAI,IAAI;UACrB,MAAMU,GAAG,GAAGD,UAAU,CAACT,IAAI,CAAC;UAC5B,OAAOyB,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;AAACsB,OAAA,CAAAtC,uBAAA,GAAAA,uBAAA"}
1
+ {"version":3,"names":["_dataloader","_interopRequireDefault","require","_batchRead","_cleanup","_keys","BlockCategoryDataLoader","_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/utils/batchRead\";\nimport { BlockCategory } 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<BlockCategory, \"slug\" | \"tenant\" | \"locale\">;\n\nexport class BlockCategoryDataLoader 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<BlockCategory> {\n return await this.getDataLoader().load(item);\n }\n\n public async getAll(items: DataLoaderGetItem[]): Promise<BlockCategory[]> {\n return await this.getDataLoader().loadMany(items);\n }\n\n public clear(): void {\n this.getDataLoader().clearAll();\n }\n\n private getDataLoader(): DataLoader<any, any> {\n if (!this._getDataLoader) {\n const cacheKeyFn = (key: DataLoaderGetItem) => {\n return `T#${key.tenant}#L#${key.locale}#${key.slug}`;\n };\n this._getDataLoader = new DataLoader(\n async items => {\n const batched = items.map(item => {\n return this.entity.getBatch({\n PK: createPartitionKey(item),\n SK: createSortKey(item)\n });\n });\n\n const records = await batchReadAll<BlockCategory>({\n table: this.entity.table,\n items: batched\n });\n\n const results = records.reduce((collection, result) => {\n if (!result) {\n return collection;\n }\n const key = cacheKeyFn(result);\n collection[key] = cleanupItem(this.entity, result) as BlockCategory;\n return collection;\n }, {} as Record<string, BlockCategory>);\n return items.map(item => {\n const key = cacheKeyFn(item);\n return results[key] || null;\n });\n },\n {\n cacheKeyFn\n }\n );\n }\n return this._getDataLoader;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AASO,MAAMI,uBAAuB,CAAgC;EACxDC,cAAc,GAAqCC,SAAS;EAIpEC,WAAWA,CAACC,MAAc,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;EAC/B;EAEA,MAAaC,MAAMA,CAACC,IAAuB,EAA0B;IACjE,OAAO,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,CAACC,IAAI,CAACF,IAAI,CAAC;EAChD;EAEA,MAAaG,MAAMA,CAACC,KAA0B,EAA4B;IACtE,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,OAAQ,KAAIA,GAAG,CAACC,MAAO,MAAKD,GAAG,CAACE,MAAO,IAAGF,GAAG,CAACG,IAAK,EAAC;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,uBAAY,EAAgB;UAC9CC,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,CAAkB;UACnE,OAAOD,UAAU;QACrB,CAAC,EAAE,CAAC,CAAkC,CAAC;QACvC,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,uBAAA,GAAAA,uBAAA"}
@@ -1,4 +1,4 @@
1
- import { Entity } from "dynamodb-toolbox";
1
+ import { Entity } from "@webiny/db-dynamodb/toolbox";
2
2
  import { PluginsContainer } from "@webiny/plugins";
3
3
  import { BlockCategoryStorageOperations } from "../../types";
4
4
  export interface CreateBlockCategoryStorageOperationsParams {
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.createBlockCategoryStorageOperations = void 0;
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
9
  var _query = require("@webiny/db-dynamodb/utils/query");
12
10
  var _sort = require("@webiny/db-dynamodb/utils/sort");
@@ -15,7 +13,7 @@ var _dataLoader = require("./dataLoader");
15
13
  var _listResponse = require("@webiny/db-dynamodb/utils/listResponse");
16
14
  var _BlockCategoryDynamoDbElasticFieldPlugin = require("../../plugins/definitions/BlockCategoryDynamoDbElasticFieldPlugin");
17
15
  var _keys = require("./keys");
18
- const _excluded = ["tenant", "locale"];
16
+ var _dbDynamodb = require("@webiny/db-dynamodb");
19
17
  const createType = () => {
20
18
  return "pb.blockCategory";
21
19
  };
@@ -50,9 +48,14 @@ const createBlockCategoryStorageOperations = ({
50
48
  SK: (0, _keys.createSortKey)(blockCategory)
51
49
  };
52
50
  try {
53
- await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, blockCategory), {}, {
54
- TYPE: createType()
55
- }, keys));
51
+ await (0, _dbDynamodb.put)({
52
+ entity,
53
+ item: {
54
+ ...blockCategory,
55
+ TYPE: createType(),
56
+ ...keys
57
+ }
58
+ });
56
59
  /**
57
60
  * Always clear data loader cache when modifying the records.
58
61
  */
@@ -77,9 +80,14 @@ const createBlockCategoryStorageOperations = ({
77
80
  SK: (0, _keys.createSortKey)(blockCategory)
78
81
  };
79
82
  try {
80
- await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, blockCategory), {}, {
81
- TYPE: createType()
82
- }, keys));
83
+ await (0, _dbDynamodb.put)({
84
+ entity,
85
+ item: {
86
+ ...blockCategory,
87
+ TYPE: createType(),
88
+ ...keys
89
+ }
90
+ });
83
91
  /**
84
92
  * Always clear data loader cache when modifying the records.
85
93
  */
@@ -105,7 +113,10 @@ const createBlockCategoryStorageOperations = ({
105
113
  SK: (0, _keys.createSortKey)(blockCategory)
106
114
  };
107
115
  try {
108
- await entity.delete((0, _objectSpread2.default)((0, _objectSpread2.default)({}, blockCategory), keys));
116
+ await (0, _dbDynamodb.deleteItem)({
117
+ entity,
118
+ keys
119
+ });
109
120
  /**
110
121
  * Always clear data loader cache when modifying the records.
111
122
  */
@@ -125,10 +136,10 @@ const createBlockCategoryStorageOperations = ({
125
136
  limit
126
137
  } = params;
127
138
  const {
128
- tenant,
129
- locale
130
- } = where,
131
- restWhere = (0, _objectWithoutProperties2.default)(where, _excluded);
139
+ tenant,
140
+ locale,
141
+ ...restWhere
142
+ } = where;
132
143
  const queryAllParams = {
133
144
  entity,
134
145
  partitionKey: (0, _keys.createPartitionKey)({
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_BlockCategoryDynamoDbElasticFieldPlugin","_keys","_excluded","createType","createBlockCategoryStorageOperations","entity","plugins","dataLoader","BlockCategoryDataLoader","get","params","where","getOne","ex","WebinyError","message","code","create","blockCategory","keys","PK","createPartitionKey","tenant","locale","SK","createSortKey","put","_objectSpread2","default","TYPE","clear","update","original","category","deleteBlockCategory","delete","list","sort","limit","restWhere","_objectWithoutProperties2","queryAllParams","partitionKey","options","gt","items","queryAll","fields","byType","BlockCategoryDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","totalCount","length","after","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 \"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\";\n\nconst createType = (): string => {\n return \"pb.blockCategory\";\n};\n\nexport interface CreateBlockCategoryStorageOperationsParams {\n entity: Entity<any>;\n plugins: PluginsContainer;\n}\nexport const createBlockCategoryStorageOperations = ({\n entity,\n plugins\n}: CreateBlockCategoryStorageOperationsParams): BlockCategoryStorageOperations => {\n const dataLoader = new BlockCategoryDataLoader({\n entity\n });\n\n const get = async (params: BlockCategoryStorageOperationsGetParams) => {\n const { where } = params;\n\n try {\n return await dataLoader.getOne(where);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load block category by given parameters.\",\n ex.code || \"BLOCK_CATEGORY_GET_ERROR\",\n {\n where\n }\n );\n }\n };\n\n const create = async (params: BlockCategoryStorageOperationsCreateParams) => {\n const { blockCategory } = params;\n\n const keys = {\n PK: createPartitionKey({\n tenant: blockCategory.tenant,\n locale: blockCategory.locale\n }),\n SK: createSortKey(blockCategory)\n };\n\n try {\n await entity.put({\n ...blockCategory,\n TYPE: createType(),\n ...keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return blockCategory;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create block category.\",\n ex.code || \"BLOCK_CATEGORY_CREATE_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n const update = async (params: BlockCategoryStorageOperationsUpdateParams) => {\n const { original, blockCategory } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: original.tenant,\n locale: original.locale\n }),\n SK: createSortKey(blockCategory)\n };\n\n try {\n await entity.put({\n ...blockCategory,\n TYPE: createType(),\n ...keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return blockCategory;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update block category.\",\n ex.code || \"BLOCK_CATEGORY_UPDATE_ERROR\",\n {\n keys,\n original,\n category: blockCategory\n }\n );\n }\n };\n\n const deleteBlockCategory = async (params: BlockCategoryStorageOperationsDeleteParams) => {\n const { blockCategory } = params;\n const keys = {\n PK: createPartitionKey({\n tenant: blockCategory.tenant,\n locale: blockCategory.locale\n }),\n SK: createSortKey(blockCategory)\n };\n\n try {\n await entity.delete({\n ...blockCategory,\n ...keys\n });\n /**\n * Always clear data loader cache when modifying the records.\n */\n dataLoader.clear();\n\n return blockCategory;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete block category.\",\n ex.code || \"BLOCK_CATEGORY_DELETE_ERROR\",\n {\n keys,\n blockCategory\n }\n );\n }\n };\n\n const list = async (params: BlockCategoryStorageOperationsListParams) => {\n const { where, sort, limit } = params;\n\n const { tenant, locale, ...restWhere } = where;\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey({ tenant, locale }),\n options: {\n gt: \" \"\n }\n };\n\n let items: BlockCategory[] = [];\n\n try {\n items = await queryAll<BlockCategory>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list block categories by given parameters.\",\n ex.code || \"BLOCK_CATEGORIES_LIST_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n\n const fields = plugins.byType<BlockCategoryDynamoDbElasticFieldPlugin>(\n BlockCategoryDynamoDbElasticFieldPlugin.type\n );\n\n const filteredItems = filterItems<BlockCategory>({\n plugins,\n where: restWhere,\n items,\n fields\n });\n\n const sortedItems = sortItems<BlockCategory>({\n items: filteredItems,\n sort,\n fields\n });\n\n return createListResponse({\n items: sortedItems,\n limit: limit || 100000,\n totalCount: filteredItems.length,\n after: null\n });\n };\n\n return {\n dataLoader,\n get,\n create,\n update,\n delete: deleteBlockCategory,\n list\n };\n};\n"],"mappings":"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"}
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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"}
@@ -1,5 +1,5 @@
1
1
  import { Category } from "@webiny/api-page-builder/types";
2
- import { Entity } from "dynamodb-toolbox";
2
+ import { Entity } from "@webiny/db-dynamodb/toolbox";
3
3
  import { DataLoaderInterface } from "../../types";
4
4
  interface Params {
5
5
  entity: Entity<any>;
@@ -5,15 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.CategoryDataLoader = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
8
  var _dataloader = _interopRequireDefault(require("dataloader"));
10
9
  var _batchRead = require("@webiny/db-dynamodb/utils/batchRead");
11
10
  var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
12
11
  var _keys = require("./keys");
13
12
  class CategoryDataLoader {
13
+ _getDataLoader = undefined;
14
14
  constructor(params) {
15
- (0, _defineProperty2.default)(this, "_getDataLoader", undefined);
16
- (0, _defineProperty2.default)(this, "entity", void 0);
17
15
  this.entity = params.entity;
18
16
  }
19
17
  async getOne(item) {
@@ -1 +1 @@
1
- {"version":3,"names":["_dataloader","_interopRequireDefault","require","_batchRead","_cleanup","_keys","CategoryDataLoader","constructor","params","_defineProperty2","default","undefined","entity","getOne","item","getDataLoader","load","getAll","items","loadMany","clear","clearAll","_getDataLoader","cacheKeyFn","key","tenant","locale","slug","DataLoader","batched","map","getBatch","PK","createPartitionKey","SK","createSortKey","records","batchReadAll","table","results","reduce","collection","result","cleanupItem","exports"],"sources":["dataLoader.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { batchReadAll } from \"@webiny/db-dynamodb/utils/batchRead\";\nimport { Category } from \"@webiny/api-page-builder/types\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { Entity } from \"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,UAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AASO,MAAMI,kBAAkB,CAAgC;EAK3DC,WAAWA,CAACC,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,0BAJ+BC,SAAS;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAKhE,IAAI,CAACE,MAAM,GAAGJ,MAAM,CAACI,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,CAACO,cAAc,EAAE;MACtB,MAAMC,UAAU,GAAIC,GAAsB,IAAK;QAC3C,OAAQ,KAAIA,GAAG,CAACC,MAAO,MAAKD,GAAG,CAACE,MAAO,IAAGF,GAAG,CAACG,IAAK,EAAC;MACxD,CAAC;MACD,IAAI,CAACL,cAAc,GAAG,IAAIM,mBAAU,CAChC,MAAMV,KAAK,IAAI;QACX,MAAMW,OAAO,GAAGX,KAAK,CAACY,GAAG,CAAChB,IAAI,IAAI;UAC9B,OAAO,IAAI,CAACF,MAAM,CAACmB,QAAQ,CAAC;YACxBC,EAAE,EAAE,IAAAC,wBAAkB,EAACnB,IAAI,CAAC;YAC5BoB,EAAE,EAAE,IAAAC,mBAAa,EAACrB,IAAI;UAC1B,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,MAAMsB,OAAO,GAAG,MAAM,IAAAC,uBAAY,EAAW;UACzCC,KAAK,EAAE,IAAI,CAAC1B,MAAM,CAAC0B,KAAK;UACxBpB,KAAK,EAAEW;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,CAAC/B,MAAM,EAAE8B,MAAM,CAAa;UAC9D,OAAOD,UAAU;QACrB,CAAC,EAAE,CAAC,CAA6B,CAAC;QAClC,OAAOvB,KAAK,CAACY,GAAG,CAAChB,IAAI,IAAI;UACrB,MAAMU,GAAG,GAAGD,UAAU,CAACT,IAAI,CAAC;UAC5B,OAAOyB,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;AAACsB,OAAA,CAAAtC,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["_dataloader","_interopRequireDefault","require","_batchRead","_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/utils/batchRead\";\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,UAAA,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,OAAQ,KAAIA,GAAG,CAACC,MAAO,MAAKD,GAAG,CAACE,MAAO,IAAGF,GAAG,CAACG,IAAK,EAAC;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,uBAAY,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"}
@@ -1,4 +1,4 @@
1
- import { Entity } from "dynamodb-toolbox";
1
+ import { Entity } from "@webiny/db-dynamodb/toolbox";
2
2
  import { PluginsContainer } from "@webiny/plugins";
3
3
  import { CategoryStorageOperations } from "../../types";
4
4
  export interface CreateCategoryStorageOperationsParams {
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.createCategoryStorageOperations = void 0;
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
9
  var _query = require("@webiny/db-dynamodb/utils/query");
12
10
  var _sort = require("@webiny/db-dynamodb/utils/sort");
@@ -15,7 +13,7 @@ var _dataLoader = require("./dataLoader");
15
13
  var _listResponse = require("@webiny/db-dynamodb/utils/listResponse");
16
14
  var _CategoryDynamoDbElasticFieldPlugin = require("../../plugins/definitions/CategoryDynamoDbElasticFieldPlugin");
17
15
  var _keys = require("./keys");
18
- const _excluded = ["tenant", "locale"];
16
+ var _dbDynamodb = require("@webiny/db-dynamodb");
19
17
  const createType = () => {
20
18
  return "pb.category";
21
19
  };
@@ -50,9 +48,14 @@ const createCategoryStorageOperations = ({
50
48
  SK: (0, _keys.createSortKey)(category)
51
49
  };
52
50
  try {
53
- await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, category), {}, {
54
- TYPE: createType()
55
- }, keys));
51
+ await (0, _dbDynamodb.put)({
52
+ entity,
53
+ item: {
54
+ ...category,
55
+ TYPE: createType(),
56
+ ...keys
57
+ }
58
+ });
56
59
  /**
57
60
  * Always clear data loader cache when modifying the records.
58
61
  */
@@ -77,9 +80,14 @@ const createCategoryStorageOperations = ({
77
80
  SK: (0, _keys.createSortKey)(category)
78
81
  };
79
82
  try {
80
- await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, category), {}, {
81
- TYPE: createType()
82
- }, keys));
83
+ await (0, _dbDynamodb.put)({
84
+ entity,
85
+ item: {
86
+ ...category,
87
+ TYPE: createType(),
88
+ ...keys
89
+ }
90
+ });
83
91
  /**
84
92
  * Always clear data loader cache when modifying the records.
85
93
  */
@@ -105,7 +113,10 @@ const createCategoryStorageOperations = ({
105
113
  SK: (0, _keys.createSortKey)(category)
106
114
  };
107
115
  try {
108
- await entity.delete((0, _objectSpread2.default)((0, _objectSpread2.default)({}, category), keys));
116
+ await (0, _dbDynamodb.deleteItem)({
117
+ entity,
118
+ keys
119
+ });
109
120
  /**
110
121
  * Always clear data loader cache when modifying the records.
111
122
  */
@@ -125,10 +136,10 @@ const createCategoryStorageOperations = ({
125
136
  limit
126
137
  } = params;
127
138
  const {
128
- tenant,
129
- locale
130
- } = where,
131
- restWhere = (0, _objectWithoutProperties2.default)(where, _excluded);
139
+ tenant,
140
+ locale,
141
+ ...restWhere
142
+ } = where;
132
143
  const queryAllParams = {
133
144
  entity,
134
145
  partitionKey: (0, _keys.createPartitionKey)({
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_query","_sort","_filter","_dataLoader","_listResponse","_CategoryDynamoDbElasticFieldPlugin","_keys","_excluded","createType","createCategoryStorageOperations","entity","plugins","dataLoader","CategoryDataLoader","get","params","where","getOne","ex","WebinyError","message","code","create","category","keys","PK","createPartitionKey","tenant","locale","SK","createSortKey","put","_objectSpread2","default","TYPE","clear","update","original","deleteCategory","delete","list","sort","limit","restWhere","_objectWithoutProperties2","queryAllParams","partitionKey","options","gt","items","queryAll","fields","byType","CategoryDynamoDbElasticFieldPlugin","type","filteredItems","filterItems","sortedItems","sortItems","createListResponse","totalCount","length","after","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 \"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\";\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 entity.put({\n ...category,\n TYPE: createType(),\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 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 entity.put({\n ...category,\n TYPE: createType(),\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 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 entity.delete({\n ...category,\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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"}
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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"}
@@ -1,5 +1,5 @@
1
1
  import { MenuStorageOperations } from "@webiny/api-page-builder/types";
2
- import { Entity } from "dynamodb-toolbox";
2
+ import { Entity } from "@webiny/db-dynamodb/toolbox";
3
3
  import { PluginsContainer } from "@webiny/plugins";
4
4
  export interface CreateMenuStorageOperationsParams {
5
5
  entity: Entity<any>;
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.createMenuStorageOperations = void 0;
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
9
  var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
12
10
  var _query = require("@webiny/db-dynamodb/utils/query");
@@ -14,7 +12,7 @@ var _filter = require("@webiny/db-dynamodb/utils/filter");
14
12
  var _sort = require("@webiny/db-dynamodb/utils/sort");
15
13
  var _listResponse = require("@webiny/db-dynamodb/utils/listResponse");
16
14
  var _MenuDynamoDbElasticFieldPlugin = require("../../plugins/definitions/MenuDynamoDbElasticFieldPlugin");
17
- const _excluded = ["tenant", "locale"];
15
+ var _dbDynamodb = require("@webiny/db-dynamodb");
18
16
  const createPartitionKey = params => {
19
17
  const {
20
18
  tenant,
@@ -44,11 +42,10 @@ const createMenuStorageOperations = ({
44
42
  SK: createSortKey(where)
45
43
  };
46
44
  try {
47
- const result = await entity.get(keys);
48
- if (!result || !result.Item) {
49
- return null;
50
- }
51
- return (0, _cleanup.cleanupItem)(entity, result.Item);
45
+ return await (0, _dbDynamodb.getClean)({
46
+ entity,
47
+ keys
48
+ });
52
49
  } catch (ex) {
53
50
  throw new _error.default(ex.message || "Could not load menu by given parameters.", ex.code || "MENU_GET_ERROR", {
54
51
  where
@@ -67,9 +64,14 @@ const createMenuStorageOperations = ({
67
64
  SK: createSortKey(menu)
68
65
  };
69
66
  try {
70
- await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, menu), {}, {
71
- TYPE: createType()
72
- }, keys));
67
+ await (0, _dbDynamodb.put)({
68
+ entity,
69
+ item: {
70
+ ...menu,
71
+ TYPE: createType(),
72
+ ...keys
73
+ }
74
+ });
73
75
  return menu;
74
76
  } catch (ex) {
75
77
  throw new _error.default(ex.message || "Could not create menu.", ex.code || "MENU_CREATE_ERROR", {
@@ -91,9 +93,14 @@ const createMenuStorageOperations = ({
91
93
  SK: createSortKey(menu)
92
94
  };
93
95
  try {
94
- await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, menu), {}, {
95
- TYPE: createType()
96
- }, keys));
96
+ await (0, _dbDynamodb.put)({
97
+ entity,
98
+ item: {
99
+ ...menu,
100
+ TYPE: createType(),
101
+ ...keys
102
+ }
103
+ });
97
104
  return menu;
98
105
  } catch (ex) {
99
106
  throw new _error.default(ex.message || "Could not update menu.", ex.code || "MENU_UPDATE_ERROR", {
@@ -110,10 +117,10 @@ const createMenuStorageOperations = ({
110
117
  limit = 10
111
118
  } = params;
112
119
  const {
113
- tenant,
114
- locale
115
- } = where,
116
- restWhere = (0, _objectWithoutProperties2.default)(where, _excluded);
120
+ tenant,
121
+ locale,
122
+ ...restWhere
123
+ } = where;
117
124
  const queryAllParams = {
118
125
  entity,
119
126
  partitionKey: createPartitionKey({
@@ -169,7 +176,10 @@ const createMenuStorageOperations = ({
169
176
  SK: createSortKey(menu)
170
177
  };
171
178
  try {
172
- await entity.delete((0, _objectSpread2.default)((0, _objectSpread2.default)({}, menu), keys));
179
+ await (0, _dbDynamodb.deleteItem)({
180
+ entity,
181
+ keys
182
+ });
173
183
  return menu;
174
184
  } catch (ex) {
175
185
  throw new _error.default(ex.message || "Could not delete menu.", ex.code || "MENU_DELETE_ERROR", {