@webiny/api-headless-cms-ddb 5.33.2-beta.0 → 5.33.2-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.
@@ -1,2 +1,2 @@
1
- declare const _default: () => (import("@webiny/api-headless-cms").StorageTransformPlugin<any, any> | import("../plugins/CmsEntryFieldFilterPathPlugin").CmsEntryFieldFilterPathPlugin | import("../types").CmsFieldFilterValueTransformPlugin)[];
1
+ declare const _default: () => (import("@webiny/api-headless-cms").StorageTransformPlugin<any, any> | import("..").CmsEntryFieldFilterPathPlugin | import("../types").CmsFieldFilterValueTransformPlugin)[];
2
2
  export default _default;
package/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  import { StorageOperationsFactory } from "./types";
2
+ export * from "./plugins";
2
3
  export declare const createStorageOperations: StorageOperationsFactory;
package/index.js CHANGED
@@ -5,6 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ var _exportNames = {
9
+ createStorageOperations: true
10
+ };
8
11
  exports.createStorageOperations = void 0;
9
12
 
10
13
  var _filters = _interopRequireDefault(require("@webiny/db-dynamodb/plugins/filters"));
@@ -37,6 +40,20 @@ var _model2 = require("./operations/model");
37
40
 
38
41
  var _entry2 = require("./operations/entry");
39
42
 
43
+ var _plugins2 = require("./plugins");
44
+
45
+ Object.keys(_plugins2).forEach(function (key) {
46
+ if (key === "default" || key === "__esModule") return;
47
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
48
+ if (key in exports && exports[key] === _plugins2[key]) return;
49
+ Object.defineProperty(exports, key, {
50
+ enumerable: true,
51
+ get: function () {
52
+ return _plugins2[key];
53
+ }
54
+ });
55
+ });
56
+
40
57
  const createStorageOperations = params => {
41
58
  const {
42
59
  attributes,
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["createStorageOperations","params","attributes","table","documentClient","plugins","userPlugins","tableInstance","createTable","entities","settings","createSettingsEntity","entityName","ENTITIES","SETTINGS","system","createSystemEntity","SYSTEM","groups","createGroupEntity","GROUPS","models","createModelEntity","MODELS","entries","createEntryEntity","ENTRIES","PluginsContainer","dynamoDbValueFilters","dynamoDbPlugins","beforeInit","context","fieldPlugins","byType","register","getEntities","getTable","createSystemStorageOperations","entity","createSettingsStorageOperations","createGroupsStorageOperations","createModelsStorageOperations","createEntriesStorageOperations"],"sources":["index.ts"],"sourcesContent":["import dynamoDbValueFilters from \"@webiny/db-dynamodb/plugins/filters\";\nimport dynamoDbPlugins from \"./dynamoDb\";\nimport { ENTITIES, StorageOperationsFactory } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createSettingsEntity } from \"~/definitions/settings\";\nimport { createSystemEntity } from \"~/definitions/system\";\nimport { createGroupEntity } from \"~/definitions/group\";\nimport { createModelEntity } from \"~/definitions/model\";\nimport { createEntryEntity } from \"~/definitions/entry\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { createSystemStorageOperations } from \"~/operations/system\";\nimport { createSettingsStorageOperations } from \"~/operations/settings\";\nimport { createGroupsStorageOperations } from \"~/operations/group\";\nimport { createModelsStorageOperations } from \"~/operations/model\";\nimport { createEntriesStorageOperations } from \"./operations/entry\";\nimport { CmsModelFieldToGraphQLPlugin } from \"@webiny/api-headless-cms/types\";\n\nexport const createStorageOperations: StorageOperationsFactory = params => {\n const { attributes, table, documentClient, plugins: userPlugins } = params;\n\n const tableInstance = createTable({\n table,\n documentClient\n });\n\n const entities = {\n settings: createSettingsEntity({\n entityName: ENTITIES.SETTINGS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SETTINGS] : {}\n }),\n system: createSystemEntity({\n entityName: ENTITIES.SYSTEM,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SYSTEM] : {}\n }),\n groups: createGroupEntity({\n entityName: ENTITIES.GROUPS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.GROUPS] : {}\n }),\n models: createModelEntity({\n entityName: ENTITIES.MODELS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.MODELS] : {}\n }),\n entries: createEntryEntity({\n entityName: ENTITIES.ENTRIES,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.ENTRIES] : {}\n })\n };\n\n const plugins = new PluginsContainer([\n /**\n * DynamoDB filter plugins for the where conditions.\n */\n dynamoDbValueFilters(),\n /**\n * Field plugins for DynamoDB.\n */\n dynamoDbPlugins(),\n /**\n * User defined custom plugins.\n */\n ...(userPlugins || [])\n ]);\n\n return {\n beforeInit: async context => {\n /**\n * Collect all required plugins from parent context.\n */\n const fieldPlugins = context.plugins.byType<CmsModelFieldToGraphQLPlugin>(\n \"cms-model-field-to-graphql\"\n );\n plugins.register(fieldPlugins);\n\n /**\n * Pass the plugins to the parent context.\n */\n context.plugins.register([dynamoDbPlugins()]);\n },\n getEntities: () => entities,\n getTable: () => tableInstance,\n system: createSystemStorageOperations({\n entity: entities.system\n }),\n settings: createSettingsStorageOperations({\n entity: entities.settings\n }),\n groups: createGroupsStorageOperations({\n entity: entities.groups,\n plugins\n }),\n models: createModelsStorageOperations({\n entity: entities.models\n }),\n entries: createEntriesStorageOperations({\n entity: entities.entries,\n plugins\n })\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createStorageOperations","params","attributes","table","documentClient","plugins","userPlugins","tableInstance","createTable","entities","settings","createSettingsEntity","entityName","ENTITIES","SETTINGS","system","createSystemEntity","SYSTEM","groups","createGroupEntity","GROUPS","models","createModelEntity","MODELS","entries","createEntryEntity","ENTRIES","PluginsContainer","dynamoDbValueFilters","dynamoDbPlugins","beforeInit","context","fieldPlugins","byType","register","getEntities","getTable","createSystemStorageOperations","entity","createSettingsStorageOperations","createGroupsStorageOperations","createModelsStorageOperations","createEntriesStorageOperations"],"sources":["index.ts"],"sourcesContent":["import dynamoDbValueFilters from \"@webiny/db-dynamodb/plugins/filters\";\nimport dynamoDbPlugins from \"./dynamoDb\";\nimport { ENTITIES, StorageOperationsFactory } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createSettingsEntity } from \"~/definitions/settings\";\nimport { createSystemEntity } from \"~/definitions/system\";\nimport { createGroupEntity } from \"~/definitions/group\";\nimport { createModelEntity } from \"~/definitions/model\";\nimport { createEntryEntity } from \"~/definitions/entry\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { createSystemStorageOperations } from \"~/operations/system\";\nimport { createSettingsStorageOperations } from \"~/operations/settings\";\nimport { createGroupsStorageOperations } from \"~/operations/group\";\nimport { createModelsStorageOperations } from \"~/operations/model\";\nimport { createEntriesStorageOperations } from \"./operations/entry\";\nimport { CmsModelFieldToGraphQLPlugin } from \"@webiny/api-headless-cms/types\";\n\nexport * from \"./plugins\";\n\nexport const createStorageOperations: StorageOperationsFactory = params => {\n const { attributes, table, documentClient, plugins: userPlugins } = params;\n\n const tableInstance = createTable({\n table,\n documentClient\n });\n\n const entities = {\n settings: createSettingsEntity({\n entityName: ENTITIES.SETTINGS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SETTINGS] : {}\n }),\n system: createSystemEntity({\n entityName: ENTITIES.SYSTEM,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SYSTEM] : {}\n }),\n groups: createGroupEntity({\n entityName: ENTITIES.GROUPS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.GROUPS] : {}\n }),\n models: createModelEntity({\n entityName: ENTITIES.MODELS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.MODELS] : {}\n }),\n entries: createEntryEntity({\n entityName: ENTITIES.ENTRIES,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.ENTRIES] : {}\n })\n };\n\n const plugins = new PluginsContainer([\n /**\n * DynamoDB filter plugins for the where conditions.\n */\n dynamoDbValueFilters(),\n /**\n * Field plugins for DynamoDB.\n */\n dynamoDbPlugins(),\n /**\n * User defined custom plugins.\n */\n ...(userPlugins || [])\n ]);\n\n return {\n beforeInit: async context => {\n /**\n * Collect all required plugins from parent context.\n */\n const fieldPlugins = context.plugins.byType<CmsModelFieldToGraphQLPlugin>(\n \"cms-model-field-to-graphql\"\n );\n plugins.register(fieldPlugins);\n\n /**\n * Pass the plugins to the parent context.\n */\n context.plugins.register([dynamoDbPlugins()]);\n },\n getEntities: () => entities,\n getTable: () => tableInstance,\n system: createSystemStorageOperations({\n entity: entities.system\n }),\n settings: createSettingsStorageOperations({\n entity: entities.settings\n }),\n groups: createGroupsStorageOperations({\n entity: entities.groups,\n plugins\n }),\n models: createModelsStorageOperations({\n entity: entities.models\n }),\n entries: createEntriesStorageOperations({\n entity: entities.entries,\n plugins\n })\n };\n};\n"],"mappings":";;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAEO,MAAMA,uBAAiD,GAAGC,MAAM,IAAI;EACvE,MAAM;IAAEC,UAAF;IAAcC,KAAd;IAAqBC,cAArB;IAAqCC,OAAO,EAAEC;EAA9C,IAA8DL,MAApE;EAEA,MAAMM,aAAa,GAAG,IAAAC,kBAAA,EAAY;IAC9BL,KAD8B;IAE9BC;EAF8B,CAAZ,CAAtB;EAKA,MAAMK,QAAQ,GAAG;IACbC,QAAQ,EAAE,IAAAC,8BAAA,EAAqB;MAC3BC,UAAU,EAAEC,eAAA,CAASC,QADM;MAE3BX,KAAK,EAAEI,aAFoB;MAG3BL,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACW,eAAA,CAASC,QAAV,CAAb,GAAmC;IAH9B,CAArB,CADG;IAMbC,MAAM,EAAE,IAAAC,0BAAA,EAAmB;MACvBJ,UAAU,EAAEC,eAAA,CAASI,MADE;MAEvBd,KAAK,EAAEI,aAFgB;MAGvBL,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACW,eAAA,CAASI,MAAV,CAAb,GAAiC;IAHhC,CAAnB,CANK;IAWbC,MAAM,EAAE,IAAAC,wBAAA,EAAkB;MACtBP,UAAU,EAAEC,eAAA,CAASO,MADC;MAEtBjB,KAAK,EAAEI,aAFe;MAGtBL,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACW,eAAA,CAASO,MAAV,CAAb,GAAiC;IAHjC,CAAlB,CAXK;IAgBbC,MAAM,EAAE,IAAAC,wBAAA,EAAkB;MACtBV,UAAU,EAAEC,eAAA,CAASU,MADC;MAEtBpB,KAAK,EAAEI,aAFe;MAGtBL,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACW,eAAA,CAASU,MAAV,CAAb,GAAiC;IAHjC,CAAlB,CAhBK;IAqBbC,OAAO,EAAE,IAAAC,wBAAA,EAAkB;MACvBb,UAAU,EAAEC,eAAA,CAASa,OADE;MAEvBvB,KAAK,EAAEI,aAFgB;MAGvBL,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACW,eAAA,CAASa,OAAV,CAAb,GAAkC;IAHjC,CAAlB;EArBI,CAAjB;EA4BA,MAAMrB,OAAO,GAAG,IAAIsB,yBAAJ,CAAqB;EACjC;AACR;AACA;EACQ,IAAAC,gBAAA,GAJiC;EAKjC;AACR;AACA;EACQ,IAAAC,iBAAA,GARiC;EASjC;AACR;AACA;EACQ,IAAIvB,WAAW,IAAI,EAAnB,CAZiC,CAArB,CAAhB;EAeA,OAAO;IACHwB,UAAU,EAAE,MAAMC,OAAN,IAAiB;MACzB;AACZ;AACA;MACY,MAAMC,YAAY,GAAGD,OAAO,CAAC1B,OAAR,CAAgB4B,MAAhB,CACjB,4BADiB,CAArB;MAGA5B,OAAO,CAAC6B,QAAR,CAAiBF,YAAjB;MAEA;AACZ;AACA;;MACYD,OAAO,CAAC1B,OAAR,CAAgB6B,QAAhB,CAAyB,CAAC,IAAAL,iBAAA,GAAD,CAAzB;IACH,CAdE;IAeHM,WAAW,EAAE,MAAM1B,QAfhB;IAgBH2B,QAAQ,EAAE,MAAM7B,aAhBb;IAiBHQ,MAAM,EAAE,IAAAsB,sCAAA,EAA8B;MAClCC,MAAM,EAAE7B,QAAQ,CAACM;IADiB,CAA9B,CAjBL;IAoBHL,QAAQ,EAAE,IAAA6B,0CAAA,EAAgC;MACtCD,MAAM,EAAE7B,QAAQ,CAACC;IADqB,CAAhC,CApBP;IAuBHQ,MAAM,EAAE,IAAAsB,qCAAA,EAA8B;MAClCF,MAAM,EAAE7B,QAAQ,CAACS,MADiB;MAElCb;IAFkC,CAA9B,CAvBL;IA2BHgB,MAAM,EAAE,IAAAoB,qCAAA,EAA8B;MAClCH,MAAM,EAAE7B,QAAQ,CAACY;IADiB,CAA9B,CA3BL;IA8BHG,OAAO,EAAE,IAAAkB,sCAAA,EAA+B;MACpCJ,MAAM,EAAE7B,QAAQ,CAACe,OADmB;MAEpCnB;IAFoC,CAA/B;EA9BN,CAAP;AAmCH,CAtFM"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms-ddb",
3
- "version": "5.33.2-beta.0",
3
+ "version": "5.33.2-beta.2",
4
4
  "main": "index.js",
5
5
  "keywords": [
6
6
  "@webiny/api-headless-cms",
@@ -22,11 +22,11 @@
22
22
  "license": "MIT",
23
23
  "dependencies": {
24
24
  "@babel/runtime": "7.18.9",
25
- "@webiny/api-headless-cms": "5.33.2-beta.0",
26
- "@webiny/db-dynamodb": "5.33.2-beta.0",
27
- "@webiny/error": "5.33.2-beta.0",
28
- "@webiny/handler-db": "5.33.2-beta.0",
29
- "@webiny/utils": "5.33.2-beta.0",
25
+ "@webiny/api-headless-cms": "5.33.2-beta.2",
26
+ "@webiny/db-dynamodb": "5.33.2-beta.2",
27
+ "@webiny/error": "5.33.2-beta.2",
28
+ "@webiny/handler-db": "5.33.2-beta.2",
29
+ "@webiny/utils": "5.33.2-beta.2",
30
30
  "aws-sdk": "2.1188.0",
31
31
  "dataloader": "2.1.0",
32
32
  "dot-prop": "6.0.1",
@@ -40,9 +40,9 @@
40
40
  "@babel/preset-env": "^7.16.4",
41
41
  "@babel/preset-flow": "^7.16.0",
42
42
  "@types/jsonpack": "^1.1.0",
43
- "@webiny/cli": "^5.33.2-beta.0",
44
- "@webiny/plugins": "^5.33.2-beta.0",
45
- "@webiny/project-utils": "^5.33.2-beta.0",
43
+ "@webiny/cli": "^5.33.2-beta.2",
44
+ "@webiny/plugins": "^5.33.2-beta.2",
45
+ "@webiny/project-utils": "^5.33.2-beta.2",
46
46
  "jest": "^28.1.0",
47
47
  "jest-dynalite": "^3.2.0",
48
48
  "jest-environment-node": "^27.2.4",
@@ -57,5 +57,5 @@
57
57
  "build": "yarn webiny run build",
58
58
  "watch": "yarn webiny run watch"
59
59
  },
60
- "gitHead": "fe536f893f26e4830e97d67368a9a9dd2b016fda"
60
+ "gitHead": "6736f7df1696e37e733990aba8b7e11461165405"
61
61
  }
@@ -0,0 +1 @@
1
+ export * from "./CmsEntryFieldFilterPathPlugin";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _CmsEntryFieldFilterPathPlugin = require("./CmsEntryFieldFilterPathPlugin");
8
+
9
+ Object.keys(_CmsEntryFieldFilterPathPlugin).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _CmsEntryFieldFilterPathPlugin[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _CmsEntryFieldFilterPathPlugin[key];
16
+ }
17
+ });
18
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./CmsEntryFieldFilterPathPlugin\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}