@webiny/api-prerendering-service-so-ddb 5.34.8-beta.1 → 5.35.0-beta.0

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,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createQueueJobEntity = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _dynamodbToolbox = require("dynamodb-toolbox");
13
-
14
10
  const createQueueJobEntity = params => {
15
11
  const {
16
12
  entityName,
@@ -39,5 +35,4 @@ const createQueueJobEntity = params => {
39
35
  }, attributes || {})
40
36
  });
41
37
  };
42
-
43
38
  exports.createQueueJobEntity = createQueueJobEntity;
@@ -1 +1 @@
1
- {"version":3,"names":["createQueueJobEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","id","args"],"sources":["queueJob.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateQueueJobEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createQueueJobEntity = (params: CreateQueueJobEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n },\n args: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AASO,MAAMA,oBAAoB,GAAIC,MAAD,IAAqD;EACrF,MAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC;EAA1B,IAAoCH,MAA1C;EACA,OAAO,IAAII,uBAAJ,CAAW;IACdC,IAAI,EAAEJ,UADQ;IAEdE,KAFc;IAGdD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MADd,CADE;MAINC,EAAE,EAAE;QACAC,OAAO,EAAE;MADT,CAJE;MAONC,IAAI,EAAE;QACFC,IAAI,EAAE;MADJ,CAPA;MAUNC,EAAE,EAAE;QACAD,IAAI,EAAE;MADN,CAVE;MAaNE,IAAI,EAAE;QACFF,IAAI,EAAE;MADJ;IAbA,GAgBFT,UAAU,IAAI,EAhBZ;EAHI,CAAX,CAAP;AAsBH,CAxBM"}
1
+ {"version":3,"names":["createQueueJobEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","id","args"],"sources":["queueJob.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateQueueJobEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createQueueJobEntity = (params: CreateQueueJobEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n },\n args: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AASO,MAAMA,oBAAoB,GAAIC,MAAkC,IAAkB;EACrF,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,EAAE,EAAE;QACAD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV;IAAC,GACGT,UAAU,IAAI,CAAC,CAAC;EAE5B,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createRenderEntity = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _dynamodbToolbox = require("dynamodb-toolbox");
13
-
14
10
  const createRenderEntity = params => {
15
11
  const {
16
12
  entityName,
@@ -42,5 +38,4 @@ const createRenderEntity = params => {
42
38
  }, attributes || {})
43
39
  });
44
40
  };
45
-
46
41
  exports.createRenderEntity = createRenderEntity;
@@ -1 +1 @@
1
- {"version":3,"names":["createRenderEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","GSI1_PK","GSI1_SK","data"],"sources":["render.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateRenderEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createRenderEntity = (params: CreateRenderEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AASO,MAAMA,kBAAkB,GAAIC,MAAD,IAAmD;EACjF,MAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC;EAA1B,IAAoCH,MAA1C;EACA,OAAO,IAAII,uBAAJ,CAAW;IACdC,IAAI,EAAEJ,UADQ;IAEdE,KAFc;IAGdD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MADd,CADE;MAINC,EAAE,EAAE;QACAC,OAAO,EAAE;MADT,CAJE;MAONC,IAAI,EAAE;QACFC,IAAI,EAAE;MADJ,CAPA;MAUNC,OAAO,EAAE;QACLD,IAAI,EAAE;MADD,CAVH;MAaNE,OAAO,EAAE;QACLF,IAAI,EAAE;MADD,CAbH;MAgBNG,IAAI,EAAE;QACFH,IAAI,EAAE;MADJ;IAhBA,GAmBFT,UAAU,IAAI,EAnBZ;EAHI,CAAX,CAAP;AAyBH,CA3BM"}
1
+ {"version":3,"names":["createRenderEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","GSI1_PK","GSI1_SK","data"],"sources":["render.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateRenderEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createRenderEntity = (params: CreateRenderEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AASO,MAAMA,kBAAkB,GAAIC,MAAgC,IAAkB;EACjF,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,OAAO,EAAE;QACLF,IAAI,EAAE;MACV,CAAC;MACDG,IAAI,EAAE;QACFH,IAAI,EAAE;MACV;IAAC,GACGT,UAAU,IAAI,CAAC,CAAC;EAE5B,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createRenderEntity = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _dynamodbToolbox = require("dynamodb-toolbox");
13
-
14
10
  const createRenderEntity = params => {
15
11
  const {
16
12
  entityName,
@@ -48,5 +44,4 @@ const createRenderEntity = params => {
48
44
  }, attributes || {})
49
45
  });
50
46
  };
51
-
52
47
  exports.createRenderEntity = createRenderEntity;
@@ -1 +1 @@
1
- {"version":3,"names":["createRenderEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","args","configuration","files"],"sources":["renderLegacy.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateRenderEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createRenderEntity = (params: CreateRenderEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n namespace: {\n type: \"string\"\n },\n url: {\n type: \"string\"\n },\n args: {\n type: \"map\"\n },\n configuration: {\n type: \"map\"\n },\n files: {\n type: \"list\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AASO,MAAMA,kBAAkB,GAAIC,MAAD,IAAmD;EACjF,MAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC;EAA1B,IAAoCH,MAA1C;EACA,OAAO,IAAII,uBAAJ,CAAW;IACdC,IAAI,EAAEJ,UADQ;IAEdE,KAFc;IAGdD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MADd,CADE;MAINC,EAAE,EAAE;QACAC,OAAO,EAAE;MADT,CAJE;MAONC,IAAI,EAAE;QACFC,IAAI,EAAE;MADJ,CAPA;MAUNC,SAAS,EAAE;QACPD,IAAI,EAAE;MADC,CAVL;MAaNE,GAAG,EAAE;QACDF,IAAI,EAAE;MADL,CAbC;MAgBNG,IAAI,EAAE;QACFH,IAAI,EAAE;MADJ,CAhBA;MAmBNI,aAAa,EAAE;QACXJ,IAAI,EAAE;MADK,CAnBT;MAsBNK,KAAK,EAAE;QACHL,IAAI,EAAE;MADH;IAtBD,GAyBFT,UAAU,IAAI,EAzBZ;EAHI,CAAX,CAAP;AA+BH,CAjCM"}
1
+ {"version":3,"names":["createRenderEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","args","configuration","files"],"sources":["renderLegacy.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateRenderEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createRenderEntity = (params: CreateRenderEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n namespace: {\n type: \"string\"\n },\n url: {\n type: \"string\"\n },\n args: {\n type: \"map\"\n },\n configuration: {\n type: \"map\"\n },\n files: {\n type: \"list\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AASO,MAAMA,kBAAkB,GAAIC,MAAgC,IAAkB;EACjF,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,SAAS,EAAE;QACPD,IAAI,EAAE;MACV,CAAC;MACDE,GAAG,EAAE;QACDF,IAAI,EAAE;MACV,CAAC;MACDG,IAAI,EAAE;QACFH,IAAI,EAAE;MACV,CAAC;MACDI,aAAa,EAAE;QACXJ,IAAI,EAAE;MACV,CAAC;MACDK,KAAK,EAAE;QACHL,IAAI,EAAE;MACV;IAAC,GACGT,UAAU,IAAI,CAAC,CAAC;EAE5B,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createSettingsEntity = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _dynamodbToolbox = require("dynamodb-toolbox");
13
-
14
10
  const createSettingsEntity = params => {
15
11
  const {
16
12
  entityName,
@@ -36,5 +32,4 @@ const createSettingsEntity = params => {
36
32
  }, attributes || {})
37
33
  });
38
34
  };
39
-
40
35
  exports.createSettingsEntity = createSettingsEntity;
@@ -1 +1 @@
1
- {"version":3,"names":["createSettingsEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","data"],"sources":["settings.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateSettingsEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createSettingsEntity = (params: CreateSettingsEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AASO,MAAMA,oBAAoB,GAAIC,MAAD,IAAqD;EACrF,MAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC;EAA1B,IAAoCH,MAA1C;EACA,OAAO,IAAII,uBAAJ,CAAW;IACdC,IAAI,EAAEJ,UADQ;IAEdE,KAFc;IAGdD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MADd,CADE;MAINC,EAAE,EAAE;QACAC,OAAO,EAAE;MADT,CAJE;MAONC,IAAI,EAAE;QACFC,IAAI,EAAE;MADJ,CAPA;MAUNC,IAAI,EAAE;QACFD,IAAI,EAAE;MADJ;IAVA,GAaFT,UAAU,IAAI,EAbZ;EAHI,CAAX,CAAP;AAmBH,CArBM"}
1
+ {"version":3,"names":["createSettingsEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","data"],"sources":["settings.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface CreateSettingsEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createSettingsEntity = (params: CreateSettingsEntityParams): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AASO,MAAMA,oBAAoB,GAAIC,MAAkC,IAAkB;EACrF,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,IAAI,EAAE;QACFD,IAAI,EAAE;MACV;IAAC,GACGT,UAAU,IAAI,CAAC,CAAC;EAE5B,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createTable = void 0;
7
-
8
7
  var _dynamodbToolbox = require("dynamodb-toolbox");
9
-
10
8
  const createTable = params => {
11
9
  const {
12
10
  table,
@@ -27,5 +25,4 @@ const createTable = params => {
27
25
  const config = typeof table === "function" ? table(tableConfig) : tableConfig;
28
26
  return new _dynamodbToolbox.Table(config);
29
27
  };
30
-
31
28
  exports.createTable = createTable;
@@ -1 +1 @@
1
- {"version":3,"names":["createTable","params","table","documentClient","tableConfig","name","process","env","DB_TABLE_PRERENDERING_SERVICE","DB_TABLE","partitionKey","sortKey","DocumentClient","indexes","GSI1","config","Table"],"sources":["table.ts"],"sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table } from \"dynamodb-toolbox\";\nimport { TableModifier } from \"~/types\";\nimport { TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\n\ninterface CreateTableParams {\n table?: TableModifier;\n documentClient: DocumentClient;\n}\n\nexport const createTable = (params: CreateTableParams): Table => {\n const { table, documentClient } = params;\n\n const tableConfig: TableConstructor = {\n name: (process.env.DB_TABLE_PRERENDERING_SERVICE || 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":";;;;;;;AACA;;AASO,MAAMA,WAAW,GAAIC,MAAD,IAAsC;EAC7D,MAAM;IAAEC,KAAF;IAASC;EAAT,IAA4BF,MAAlC;EAEA,MAAMG,WAA6B,GAAG;IAClCC,IAAI,EAAGC,OAAO,CAACC,GAAR,CAAYC,6BAAZ,IAA6CF,OAAO,CAACC,GAAR,CAAYE,QAD9B;IAElCC,YAAY,EAAE,IAFoB;IAGlCC,OAAO,EAAE,IAHyB;IAIlCC,cAAc,EAAET,cAJkB;IAKlCU,OAAO,EAAE;MACLC,IAAI,EAAE;QACFJ,YAAY,EAAE,SADZ;QAEFC,OAAO,EAAE;MAFP;IADD;EALyB,CAAtC;EAaA,MAAMI,MAAM,GAAG,OAAOb,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,CAACE,WAAD,CAAnC,GAAmDA,WAAlE;EAEA,OAAO,IAAIY,sBAAJ,CAAUD,MAAV,CAAP;AACH,CAnBM"}
1
+ {"version":3,"names":["createTable","params","table","documentClient","tableConfig","name","process","env","DB_TABLE_PRERENDERING_SERVICE","DB_TABLE","partitionKey","sortKey","DocumentClient","indexes","GSI1","config","Table"],"sources":["table.ts"],"sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table } from \"dynamodb-toolbox\";\nimport { TableModifier } from \"~/types\";\nimport { TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\n\ninterface CreateTableParams {\n table?: TableModifier;\n documentClient: DocumentClient;\n}\n\nexport const createTable = (params: CreateTableParams): Table => {\n const { table, documentClient } = params;\n\n const tableConfig: TableConstructor = {\n name: (process.env.DB_TABLE_PRERENDERING_SERVICE || 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":";;;;;;AACA;AASO,MAAMA,WAAW,GAAIC,MAAyB,IAAY;EAC7D,MAAM;IAAEC,KAAK;IAAEC;EAAe,CAAC,GAAGF,MAAM;EAExC,MAAMG,WAA6B,GAAG;IAClCC,IAAI,EAAGC,OAAO,CAACC,GAAG,CAACC,6BAA6B,IAAIF,OAAO,CAACC,GAAG,CAACE,QAAmB;IACnFC,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;AAAC"}
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createTagPathLinkEntity = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _dynamodbToolbox = require("dynamodb-toolbox");
13
-
14
10
  const createTagPathLinkEntity = params => {
15
11
  const {
16
12
  entityName,
@@ -42,5 +38,4 @@ const createTagPathLinkEntity = params => {
42
38
  }, attributes || {})
43
39
  });
44
40
  };
45
-
46
41
  exports.createTagPathLinkEntity = createTagPathLinkEntity;
@@ -1 +1 @@
1
- {"version":3,"names":["createTagPathLinkEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","GSI1_PK","GSI1_SK","data"],"sources":["tagPathLink.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface CreateTagPathLinkEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createTagPathLinkEntity = (params: CreateTagPathLinkEntityParams) => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AASO,MAAMA,uBAAuB,GAAIC,MAAD,IAA2C;EAC9E,MAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC;EAA1B,IAAoCH,MAA1C;EACA,OAAO,IAAII,uBAAJ,CAAW;IACdC,IAAI,EAAEJ,UADQ;IAEdE,KAFc;IAGdD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MADd,CADE;MAINC,EAAE,EAAE;QACAC,OAAO,EAAE;MADT,CAJE;MAONC,IAAI,EAAE;QACFC,IAAI,EAAE;MADJ,CAPA;MAUNC,OAAO,EAAE;QACLD,IAAI,EAAE;MADD,CAVH;MAaNE,OAAO,EAAE;QACLF,IAAI,EAAE;MADD,CAbH;MAgBNG,IAAI,EAAE;QACFH,IAAI,EAAE;MADJ;IAhBA,GAmBFT,UAAU,IAAI,EAnBZ;EAHI,CAAX,CAAP;AAyBH,CA3BM"}
1
+ {"version":3,"names":["createTagPathLinkEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","GSI1_PK","GSI1_SK","data"],"sources":["tagPathLink.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface CreateTagPathLinkEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createTagPathLinkEntity = (params: CreateTagPathLinkEntityParams) => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AASO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,OAAO,EAAE;QACLF,IAAI,EAAE;MACV,CAAC;MACDG,IAAI,EAAE;QACFH,IAAI,EAAE;MACV;IAAC,GACGT,UAAU,IAAI,CAAC,CAAC;EAE5B,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createTagUrlLinkEntity = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _dynamodbToolbox = require("dynamodb-toolbox");
13
-
14
10
  const createTagUrlLinkEntity = params => {
15
11
  const {
16
12
  entityName,
@@ -45,5 +41,4 @@ const createTagUrlLinkEntity = params => {
45
41
  }, attributes || {})
46
42
  });
47
43
  };
48
-
49
44
  exports.createTagUrlLinkEntity = createTagUrlLinkEntity;
@@ -1 +1 @@
1
- {"version":3,"names":["createTagUrlLinkEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","value","key"],"sources":["tagPathLinkLegacy.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface CreateTagUrlLinkEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createTagUrlLinkEntity = (params: CreateTagUrlLinkEntityParams) => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n namespace: {\n type: \"string\"\n },\n url: {\n type: \"string\"\n },\n value: {\n type: \"string\"\n },\n key: {\n type: \"string\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AASO,MAAMA,sBAAsB,GAAIC,MAAD,IAA0C;EAC5E,MAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC;EAA1B,IAAoCH,MAA1C;EACA,OAAO,IAAII,uBAAJ,CAAW;IACdC,IAAI,EAAEJ,UADQ;IAEdE,KAFc;IAGdD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MADd,CADE;MAINC,EAAE,EAAE;QACAC,OAAO,EAAE;MADT,CAJE;MAONC,IAAI,EAAE;QACFC,IAAI,EAAE;MADJ,CAPA;MAUNC,SAAS,EAAE;QACPD,IAAI,EAAE;MADC,CAVL;MAaNE,GAAG,EAAE;QACDF,IAAI,EAAE;MADL,CAbC;MAgBNG,KAAK,EAAE;QACHH,IAAI,EAAE;MADH,CAhBD;MAmBNI,GAAG,EAAE;QACDJ,IAAI,EAAE;MADL;IAnBC,GAsBFT,UAAU,IAAI,EAtBZ;EAHI,CAAX,CAAP;AA4BH,CA9BM"}
1
+ {"version":3,"names":["createTagUrlLinkEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","value","key"],"sources":["tagPathLinkLegacy.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\ninterface CreateTagUrlLinkEntityParams {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createTagUrlLinkEntity = (params: CreateTagUrlLinkEntityParams) => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n namespace: {\n type: \"string\"\n },\n url: {\n type: \"string\"\n },\n value: {\n type: \"string\"\n },\n key: {\n type: \"string\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AASO,MAAMA,sBAAsB,GAAIC,MAAoC,IAAK;EAC5E,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAChD,OAAO,IAAII,uBAAM,CAAC;IACdC,IAAI,EAAEJ,UAAU;IAChBE,KAAK;IACLD,UAAU;MACNI,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,SAAS,EAAE;QACPD,IAAI,EAAE;MACV,CAAC;MACDE,GAAG,EAAE;QACDF,IAAI,EAAE;MACV,CAAC;MACDG,KAAK,EAAE;QACHH,IAAI,EAAE;MACV,CAAC;MACDI,GAAG,EAAE;QACDJ,IAAI,EAAE;MACV;IAAC,GACGT,UAAU,IAAI,CAAC,CAAC;EAE5B,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -0,0 +1,7 @@
1
+ import { Entity, Table } from "dynamodb-toolbox";
2
+ interface Params {
3
+ table: Table;
4
+ entityName: string;
5
+ }
6
+ export declare const createTenantEntity: ({ entityName, table }: Params) => Entity<any>;
7
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTenantEntity = void 0;
7
+ var _dynamodbToolbox = require("dynamodb-toolbox");
8
+ const createTenantEntity = ({
9
+ entityName,
10
+ table
11
+ }) => {
12
+ return new _dynamodbToolbox.Entity({
13
+ table,
14
+ name: entityName,
15
+ attributes: {
16
+ PK: {
17
+ partitionKey: true
18
+ },
19
+ SK: {
20
+ sortKey: true
21
+ },
22
+ GSI1_PK: {
23
+ type: "string"
24
+ },
25
+ GSI1_SK: {
26
+ type: "string"
27
+ },
28
+ TYPE: {
29
+ type: "string"
30
+ },
31
+ id: {
32
+ type: "string"
33
+ }
34
+ }
35
+ });
36
+ };
37
+ exports.createTenantEntity = createTenantEntity;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTenantEntity","entityName","table","Entity","name","attributes","PK","partitionKey","SK","sortKey","GSI1_PK","type","GSI1_SK","TYPE","id"],"sources":["tenantEntity.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\n\ninterface Params {\n table: Table;\n entityName: string;\n}\n\nexport const createTenantEntity = ({ entityName, table }: Params): Entity<any> => {\n return new Entity({\n table,\n name: entityName,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n }\n }\n });\n};\n"],"mappings":";;;;;;AAAA;AAOO,MAAMA,kBAAkB,GAAG,CAAC;EAAEC,UAAU;EAAEC;AAAc,CAAC,KAAkB;EAC9E,OAAO,IAAIC,uBAAM,CAAC;IACdD,KAAK;IACLE,IAAI,EAAEH,UAAU;IAChBI,UAAU,EAAE;MACRC,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACDG,EAAE,EAAE;QACAH,IAAI,EAAE;MACV;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
package/index.js CHANGED
@@ -1,59 +1,43 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createPrerenderingServiceStorageOperations = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
10
  var _types = require("./types");
15
-
16
11
  var _table = require("./definitions/table");
17
-
18
12
  var _render = require("./definitions/render");
19
-
20
13
  var _settings = require("./definitions/settings");
21
-
22
14
  var _queueJob = require("./definitions/queueJob");
23
-
24
15
  var _render2 = require("./operations/render");
25
-
16
+ var _tenant = require("./operations/tenant");
26
17
  var _settings2 = require("./operations/settings");
27
-
28
18
  var _queueJob2 = require("./operations/queueJob");
29
-
30
19
  var _tagPathLink = require("./definitions/tagPathLink");
31
-
20
+ var _tenantEntity = require("./definitions/tenantEntity");
32
21
  const reservedFields = ["PK", "SK", "index", "data", "TYPE", "__type", "GSI1_PK", "GSI1_SK"];
33
-
34
22
  const isReserved = name => {
35
23
  if (reservedFields.includes(name) === false) {
36
24
  return;
37
25
  }
38
-
39
26
  throw new _error.default(`Attribute name "${name}" is not allowed.`, "ATTRIBUTE_NOT_ALLOWED", {
40
27
  name
41
28
  });
42
29
  };
43
-
44
30
  const createPrerenderingServiceStorageOperations = params => {
45
31
  const {
46
32
  attributes,
47
33
  table,
48
34
  documentClient
49
35
  } = params;
50
-
51
36
  if (attributes) {
52
37
  Object.values(attributes).forEach(attrs => {
53
38
  Object.keys(attrs).forEach(isReserved);
54
39
  });
55
40
  }
56
-
57
41
  const tableInstance = (0, _table.createTable)({
58
42
  table,
59
43
  documentClient
@@ -78,9 +62,13 @@ const createPrerenderingServiceStorageOperations = params => {
78
62
  entityName: _types.ENTITIES.TAG_PATH_LINK,
79
63
  table: tableInstance,
80
64
  attributes: attributes ? attributes[_types.ENTITIES.TAG_PATH_LINK] : {}
65
+ }),
66
+ tenant: (0, _tenantEntity.createTenantEntity)({
67
+ entityName: _types.ENTITIES.TENANT,
68
+ table: tableInstance
81
69
  })
82
70
  };
83
- return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
71
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
84
72
  getTable: () => tableInstance,
85
73
  getEntities: () => entities
86
74
  }, (0, _render2.createRenderStorageOperations)({
@@ -90,7 +78,8 @@ const createPrerenderingServiceStorageOperations = params => {
90
78
  entity: entities.queueJob
91
79
  })), (0, _settings2.createSettingsStorageOperations)({
92
80
  entity: entities.settings
81
+ })), (0, _tenant.createTenantStorageOperations)({
82
+ entity: entities.tenant
93
83
  }));
94
84
  };
95
-
96
85
  exports.createPrerenderingServiceStorageOperations = createPrerenderingServiceStorageOperations;
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["reservedFields","isReserved","name","includes","WebinyError","createPrerenderingServiceStorageOperations","params","attributes","table","documentClient","Object","values","forEach","attrs","keys","tableInstance","createTable","entities","render","createRenderEntity","entityName","ENTITIES","RENDER","settings","createSettingsEntity","SETTINGS","queueJob","createQueueJobEntity","QUEUE_JOB","tagPathLink","createTagPathLinkEntity","TAG_PATH_LINK","getTable","getEntities","createRenderStorageOperations","entity","tagPathLinkEntity","createQueueJobStorageOperations","createSettingsStorageOperations"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ENTITIES, PrerenderingServiceFactory, PrerenderingServiceFactoryParams } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createRenderEntity } from \"~/definitions/render\";\nimport { createSettingsEntity } from \"~/definitions/settings\";\nimport { createQueueJobEntity } from \"~/definitions/queueJob\";\nimport { createRenderStorageOperations } from \"~/operations/render\";\nimport { createSettingsStorageOperations } from \"~/operations/settings\";\nimport { createQueueJobStorageOperations } from \"~/operations/queueJob\";\nimport { createTagPathLinkEntity } from \"~/definitions/tagPathLink\";\n\nconst reservedFields = [\"PK\", \"SK\", \"index\", \"data\", \"TYPE\", \"__type\", \"GSI1_PK\", \"GSI1_SK\"];\n\nconst isReserved = (name: string): void => {\n if (reservedFields.includes(name) === false) {\n return;\n }\n throw new WebinyError(`Attribute name \"${name}\" is not allowed.`, \"ATTRIBUTE_NOT_ALLOWED\", {\n name\n });\n};\n\nexport const createPrerenderingServiceStorageOperations: PrerenderingServiceFactory = (\n params: PrerenderingServiceFactoryParams\n) => {\n const { attributes, table, documentClient } = params;\n\n if (attributes) {\n Object.values(attributes).forEach(attrs => {\n Object.keys(attrs).forEach(isReserved);\n });\n }\n\n const tableInstance = createTable({ table, documentClient });\n\n const entities = {\n render: createRenderEntity({\n entityName: ENTITIES.RENDER,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.RENDER] : {}\n }),\n settings: createSettingsEntity({\n entityName: ENTITIES.SETTINGS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SETTINGS] : {}\n }),\n queueJob: createQueueJobEntity({\n entityName: ENTITIES.QUEUE_JOB,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.QUEUE_JOB] : {}\n }),\n tagPathLink: createTagPathLinkEntity({\n entityName: ENTITIES.TAG_PATH_LINK,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.TAG_PATH_LINK] : {}\n })\n };\n\n return {\n getTable: () => tableInstance,\n getEntities: () => entities,\n ...createRenderStorageOperations({\n entity: entities.render,\n tagPathLinkEntity: entities.tagPathLink\n }),\n ...createQueueJobStorageOperations({\n entity: entities.queueJob\n }),\n ...createSettingsStorageOperations({\n entity: entities.settings\n })\n };\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,MAAMA,cAAc,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,OAAb,EAAsB,MAAtB,EAA8B,MAA9B,EAAsC,QAAtC,EAAgD,SAAhD,EAA2D,SAA3D,CAAvB;;AAEA,MAAMC,UAAU,GAAIC,IAAD,IAAwB;EACvC,IAAIF,cAAc,CAACG,QAAf,CAAwBD,IAAxB,MAAkC,KAAtC,EAA6C;IACzC;EACH;;EACD,MAAM,IAAIE,cAAJ,CAAiB,mBAAkBF,IAAK,mBAAxC,EAA4D,uBAA5D,EAAqF;IACvFA;EADuF,CAArF,CAAN;AAGH,CAPD;;AASO,MAAMG,0CAAsE,GAC/EC,MADkF,IAEjF;EACD,MAAM;IAAEC,UAAF;IAAcC,KAAd;IAAqBC;EAArB,IAAwCH,MAA9C;;EAEA,IAAIC,UAAJ,EAAgB;IACZG,MAAM,CAACC,MAAP,CAAcJ,UAAd,EAA0BK,OAA1B,CAAkCC,KAAK,IAAI;MACvCH,MAAM,CAACI,IAAP,CAAYD,KAAZ,EAAmBD,OAAnB,CAA2BX,UAA3B;IACH,CAFD;EAGH;;EAED,MAAMc,aAAa,GAAG,IAAAC,kBAAA,EAAY;IAAER,KAAF;IAASC;EAAT,CAAZ,CAAtB;EAEA,MAAMQ,QAAQ,GAAG;IACbC,MAAM,EAAE,IAAAC,0BAAA,EAAmB;MACvBC,UAAU,EAAEC,eAAA,CAASC,MADE;MAEvBd,KAAK,EAAEO,aAFgB;MAGvBR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAA,CAASC,MAAV,CAAb,GAAiC;IAHhC,CAAnB,CADK;IAMbC,QAAQ,EAAE,IAAAC,8BAAA,EAAqB;MAC3BJ,UAAU,EAAEC,eAAA,CAASI,QADM;MAE3BjB,KAAK,EAAEO,aAFoB;MAG3BR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAA,CAASI,QAAV,CAAb,GAAmC;IAH9B,CAArB,CANG;IAWbC,QAAQ,EAAE,IAAAC,8BAAA,EAAqB;MAC3BP,UAAU,EAAEC,eAAA,CAASO,SADM;MAE3BpB,KAAK,EAAEO,aAFoB;MAG3BR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAA,CAASO,SAAV,CAAb,GAAoC;IAH/B,CAArB,CAXG;IAgBbC,WAAW,EAAE,IAAAC,oCAAA,EAAwB;MACjCV,UAAU,EAAEC,eAAA,CAASU,aADY;MAEjCvB,KAAK,EAAEO,aAF0B;MAGjCR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAA,CAASU,aAAV,CAAb,GAAwC;IAH7B,CAAxB;EAhBA,CAAjB;EAuBA;IACIC,QAAQ,EAAE,MAAMjB,aADpB;IAEIkB,WAAW,EAAE,MAAMhB;EAFvB,GAGO,IAAAiB,sCAAA,EAA8B;IAC7BC,MAAM,EAAElB,QAAQ,CAACC,MADY;IAE7BkB,iBAAiB,EAAEnB,QAAQ,CAACY;EAFC,CAA9B,CAHP,GAOO,IAAAQ,0CAAA,EAAgC;IAC/BF,MAAM,EAAElB,QAAQ,CAACS;EADc,CAAhC,CAPP,GAUO,IAAAY,0CAAA,EAAgC;IAC/BH,MAAM,EAAElB,QAAQ,CAACM;EADc,CAAhC,CAVP;AAcH,CAlDM"}
1
+ {"version":3,"names":["reservedFields","isReserved","name","includes","WebinyError","createPrerenderingServiceStorageOperations","params","attributes","table","documentClient","Object","values","forEach","attrs","keys","tableInstance","createTable","entities","render","createRenderEntity","entityName","ENTITIES","RENDER","settings","createSettingsEntity","SETTINGS","queueJob","createQueueJobEntity","QUEUE_JOB","tagPathLink","createTagPathLinkEntity","TAG_PATH_LINK","tenant","createTenantEntity","TENANT","getTable","getEntities","createRenderStorageOperations","entity","tagPathLinkEntity","createQueueJobStorageOperations","createSettingsStorageOperations","createTenantStorageOperations"],"sources":["index.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ENTITIES, PrerenderingServiceFactory, PrerenderingServiceFactoryParams } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createRenderEntity } from \"~/definitions/render\";\nimport { createSettingsEntity } from \"~/definitions/settings\";\nimport { createQueueJobEntity } from \"~/definitions/queueJob\";\nimport { createRenderStorageOperations } from \"~/operations/render\";\nimport { createTenantStorageOperations } from \"~/operations/tenant\";\nimport { createSettingsStorageOperations } from \"~/operations/settings\";\nimport { createQueueJobStorageOperations } from \"~/operations/queueJob\";\nimport { createTagPathLinkEntity } from \"~/definitions/tagPathLink\";\nimport { createTenantEntity } from \"~/definitions/tenantEntity\";\n\nconst reservedFields = [\"PK\", \"SK\", \"index\", \"data\", \"TYPE\", \"__type\", \"GSI1_PK\", \"GSI1_SK\"];\n\nconst isReserved = (name: string): void => {\n if (reservedFields.includes(name) === false) {\n return;\n }\n throw new WebinyError(`Attribute name \"${name}\" is not allowed.`, \"ATTRIBUTE_NOT_ALLOWED\", {\n name\n });\n};\n\nexport const createPrerenderingServiceStorageOperations: PrerenderingServiceFactory = (\n params: PrerenderingServiceFactoryParams\n) => {\n const { attributes, table, documentClient } = params;\n\n if (attributes) {\n Object.values(attributes).forEach(attrs => {\n Object.keys(attrs).forEach(isReserved);\n });\n }\n\n const tableInstance = createTable({ table, documentClient });\n\n const entities = {\n render: createRenderEntity({\n entityName: ENTITIES.RENDER,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.RENDER] : {}\n }),\n settings: createSettingsEntity({\n entityName: ENTITIES.SETTINGS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SETTINGS] : {}\n }),\n queueJob: createQueueJobEntity({\n entityName: ENTITIES.QUEUE_JOB,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.QUEUE_JOB] : {}\n }),\n tagPathLink: createTagPathLinkEntity({\n entityName: ENTITIES.TAG_PATH_LINK,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.TAG_PATH_LINK] : {}\n }),\n tenant: createTenantEntity({\n entityName: ENTITIES.TENANT,\n table: tableInstance\n })\n };\n\n return {\n getTable: () => tableInstance,\n getEntities: () => entities,\n ...createRenderStorageOperations({\n entity: entities.render,\n tagPathLinkEntity: entities.tagPathLink\n }),\n ...createQueueJobStorageOperations({\n entity: entities.queueJob\n }),\n ...createSettingsStorageOperations({\n entity: entities.settings\n }),\n ...createTenantStorageOperations({\n entity: entities.tenant\n })\n };\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAMA,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;AAE5F,MAAMC,UAAU,GAAIC,IAAY,IAAW;EACvC,IAAIF,cAAc,CAACG,QAAQ,CAACD,IAAI,CAAC,KAAK,KAAK,EAAE;IACzC;EACJ;EACA,MAAM,IAAIE,cAAW,CAAE,mBAAkBF,IAAK,mBAAkB,EAAE,uBAAuB,EAAE;IACvFA;EACJ,CAAC,CAAC;AACN,CAAC;AAEM,MAAMG,0CAAsE,GAC/EC,MAAwC,IACvC;EACD,MAAM;IAAEC,UAAU;IAAEC,KAAK;IAAEC;EAAe,CAAC,GAAGH,MAAM;EAEpD,IAAIC,UAAU,EAAE;IACZG,MAAM,CAACC,MAAM,CAACJ,UAAU,CAAC,CAACK,OAAO,CAACC,KAAK,IAAI;MACvCH,MAAM,CAACI,IAAI,CAACD,KAAK,CAAC,CAACD,OAAO,CAACX,UAAU,CAAC;IAC1C,CAAC,CAAC;EACN;EAEA,MAAMc,aAAa,GAAG,IAAAC,kBAAW,EAAC;IAAER,KAAK;IAAEC;EAAe,CAAC,CAAC;EAE5D,MAAMQ,QAAQ,GAAG;IACbC,MAAM,EAAE,IAAAC,0BAAkB,EAAC;MACvBC,UAAU,EAAEC,eAAQ,CAACC,MAAM;MAC3Bd,KAAK,EAAEO,aAAa;MACpBR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAQ,CAACC,MAAM,CAAC,GAAG,CAAC;IAC5D,CAAC,CAAC;IACFC,QAAQ,EAAE,IAAAC,8BAAoB,EAAC;MAC3BJ,UAAU,EAAEC,eAAQ,CAACI,QAAQ;MAC7BjB,KAAK,EAAEO,aAAa;MACpBR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAQ,CAACI,QAAQ,CAAC,GAAG,CAAC;IAC9D,CAAC,CAAC;IACFC,QAAQ,EAAE,IAAAC,8BAAoB,EAAC;MAC3BP,UAAU,EAAEC,eAAQ,CAACO,SAAS;MAC9BpB,KAAK,EAAEO,aAAa;MACpBR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAQ,CAACO,SAAS,CAAC,GAAG,CAAC;IAC/D,CAAC,CAAC;IACFC,WAAW,EAAE,IAAAC,oCAAuB,EAAC;MACjCV,UAAU,EAAEC,eAAQ,CAACU,aAAa;MAClCvB,KAAK,EAAEO,aAAa;MACpBR,UAAU,EAAEA,UAAU,GAAGA,UAAU,CAACc,eAAQ,CAACU,aAAa,CAAC,GAAG,CAAC;IACnE,CAAC,CAAC;IACFC,MAAM,EAAE,IAAAC,gCAAkB,EAAC;MACvBb,UAAU,EAAEC,eAAQ,CAACa,MAAM;MAC3B1B,KAAK,EAAEO;IACX,CAAC;EACL,CAAC;EAED;IACIoB,QAAQ,EAAE,MAAMpB,aAAa;IAC7BqB,WAAW,EAAE,MAAMnB;EAAQ,GACxB,IAAAoB,sCAA6B,EAAC;IAC7BC,MAAM,EAAErB,QAAQ,CAACC,MAAM;IACvBqB,iBAAiB,EAAEtB,QAAQ,CAACY;EAChC,CAAC,CAAC,GACC,IAAAW,0CAA+B,EAAC;IAC/BF,MAAM,EAAErB,QAAQ,CAACS;EACrB,CAAC,CAAC,GACC,IAAAe,0CAA+B,EAAC;IAC/BH,MAAM,EAAErB,QAAQ,CAACM;EACrB,CAAC,CAAC,GACC,IAAAmB,qCAA6B,EAAC;IAC7BJ,MAAM,EAAErB,QAAQ,CAACe;EACrB,CAAC,CAAC;AAEV,CAAC;AAAC"}
@@ -1,39 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createQueueJobStorageOperations = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
10
  var _batchWrite = require("@webiny/db-dynamodb/utils/batchWrite");
15
-
16
11
  var _query = require("@webiny/db-dynamodb/utils/query");
17
-
18
12
  var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
19
-
20
13
  const createQueueJobStorageOperations = params => {
21
14
  const {
22
15
  entity
23
16
  } = params;
24
-
25
17
  const createQueueJobPartitionKey = () => {
26
18
  return "PS#Q#JOB";
27
19
  };
28
-
29
20
  const createQueueJobSortKey = id => {
30
21
  return id;
31
22
  };
32
-
33
23
  const createQueueJobType = () => {
34
24
  return "ps.queue.job";
35
25
  };
36
-
37
26
  const createQueueJob = async params => {
38
27
  const {
39
28
  queueJob
@@ -42,7 +31,6 @@ const createQueueJobStorageOperations = params => {
42
31
  PK: createQueueJobPartitionKey(),
43
32
  SK: createQueueJobSortKey(queueJob.id)
44
33
  };
45
-
46
34
  try {
47
35
  await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, queueJob), keys), {}, {
48
36
  TYPE: createQueueJobType()
@@ -55,7 +43,6 @@ const createQueueJobStorageOperations = params => {
55
43
  });
56
44
  }
57
45
  };
58
-
59
46
  const listQueueJobs = async () => {
60
47
  const queryAllParams = {
61
48
  entity,
@@ -64,7 +51,6 @@ const createQueueJobStorageOperations = params => {
64
51
  gte: " "
65
52
  }
66
53
  };
67
-
68
54
  try {
69
55
  const results = await (0, _query.queryAll)(queryAllParams);
70
56
  return (0, _cleanup.cleanupItems)(entity, results);
@@ -75,7 +61,6 @@ const createQueueJobStorageOperations = params => {
75
61
  });
76
62
  }
77
63
  };
78
-
79
64
  const deleteQueueJobs = async params => {
80
65
  const {
81
66
  queueJobs
@@ -86,7 +71,6 @@ const createQueueJobStorageOperations = params => {
86
71
  SK: createQueueJobSortKey(job.id)
87
72
  });
88
73
  });
89
-
90
74
  try {
91
75
  await (0, _batchWrite.batchWriteAll)({
92
76
  table: entity.table,
@@ -99,12 +83,10 @@ const createQueueJobStorageOperations = params => {
99
83
  });
100
84
  }
101
85
  };
102
-
103
86
  return {
104
87
  createQueueJob,
105
88
  deleteQueueJobs,
106
89
  listQueueJobs
107
90
  };
108
91
  };
109
-
110
92
  exports.createQueueJobStorageOperations = createQueueJobStorageOperations;
@@ -1 +1 @@
1
- {"version":3,"names":["createQueueJobStorageOperations","params","entity","createQueueJobPartitionKey","createQueueJobSortKey","id","createQueueJobType","createQueueJob","queueJob","keys","PK","SK","put","TYPE","ex","WebinyError","message","code","listQueueJobs","queryAllParams","partitionKey","options","gte","results","queryAll","cleanupItems","deleteQueueJobs","queueJobs","items","map","job","deleteBatch","batchWriteAll","table"],"sources":["queueJob.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceQueueJobStorageOperations,\n PrerenderingServiceStorageOperationsCreateQueueJobParams,\n PrerenderingServiceStorageOperationsDeleteQueueJobsParams,\n QueueJob\n} from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\n\nexport interface CreateQueueJobStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createQueueJobStorageOperations = (\n params: CreateQueueJobStorageOperationsParams\n): PrerenderingServiceQueueJobStorageOperations => {\n const { entity } = params;\n\n const createQueueJobPartitionKey = (): string => {\n return \"PS#Q#JOB\";\n };\n const createQueueJobSortKey = (id: string): string => {\n return id;\n };\n\n const createQueueJobType = () => {\n return \"ps.queue.job\";\n };\n\n const createQueueJob = async (\n params: PrerenderingServiceStorageOperationsCreateQueueJobParams\n ): Promise<QueueJob> => {\n const { queueJob } = params;\n const keys = {\n PK: createQueueJobPartitionKey(),\n SK: createQueueJobSortKey(queueJob.id)\n };\n\n try {\n await entity.put({\n ...queueJob,\n ...keys,\n TYPE: createQueueJobType()\n });\n return queueJob;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create render record.\",\n ex.code || \"CREATE_RENDER_ERROR\",\n {\n keys,\n queueJob\n }\n );\n }\n };\n\n const listQueueJobs = async () => {\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createQueueJobPartitionKey(),\n options: {\n gte: \" \"\n }\n };\n\n try {\n const results = await queryAll<QueueJob>(queryAllParams);\n\n return cleanupItems(entity, results);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list queue jobs records.\",\n ex.code || \"LIST_QUEUE_JOBS_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n };\n\n const deleteQueueJobs = async (\n params: PrerenderingServiceStorageOperationsDeleteQueueJobsParams\n ) => {\n const { queueJobs } = params;\n\n const items = queueJobs.map(job => {\n return entity.deleteBatch({\n PK: createQueueJobPartitionKey(),\n SK: createQueueJobSortKey(job.id)\n });\n });\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n return queueJobs;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete queue jobs records.\",\n ex.code || \"DELETE_QUEUE_JOBS_ERROR\",\n {\n queueJobs\n }\n );\n }\n };\n\n return {\n createQueueJob,\n deleteQueueJobs,\n listQueueJobs\n };\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;AAMO,MAAMA,+BAA+B,GACxCC,MAD2C,IAEI;EAC/C,MAAM;IAAEC;EAAF,IAAaD,MAAnB;;EAEA,MAAME,0BAA0B,GAAG,MAAc;IAC7C,OAAO,UAAP;EACH,CAFD;;EAGA,MAAMC,qBAAqB,GAAIC,EAAD,IAAwB;IAClD,OAAOA,EAAP;EACH,CAFD;;EAIA,MAAMC,kBAAkB,GAAG,MAAM;IAC7B,OAAO,cAAP;EACH,CAFD;;EAIA,MAAMC,cAAc,GAAG,MACnBN,MADmB,IAEC;IACpB,MAAM;MAAEO;IAAF,IAAeP,MAArB;IACA,MAAMQ,IAAI,GAAG;MACTC,EAAE,EAAEP,0BAA0B,EADrB;MAETQ,EAAE,EAAEP,qBAAqB,CAACI,QAAQ,CAACH,EAAV;IAFhB,CAAb;;IAKA,IAAI;MACA,MAAMH,MAAM,CAACU,GAAP,yFACCJ,QADD,GAECC,IAFD;QAGFI,IAAI,EAAEP,kBAAkB;MAHtB,GAAN;MAKA,OAAOE,QAAP;IACH,CAPD,CAOE,OAAOM,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,iCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,qBAFT,EAGF;QACIR,IADJ;QAEID;MAFJ,CAHE,CAAN;IAQH;EACJ,CA1BD;;EA4BA,MAAMU,aAAa,GAAG,YAAY;IAC9B,MAAMC,cAA8B,GAAG;MACnCjB,MADmC;MAEnCkB,YAAY,EAAEjB,0BAA0B,EAFL;MAGnCkB,OAAO,EAAE;QACLC,GAAG,EAAE;MADA;IAH0B,CAAvC;;IAQA,IAAI;MACA,MAAMC,OAAO,GAAG,MAAM,IAAAC,eAAA,EAAmBL,cAAnB,CAAtB;MAEA,OAAO,IAAAM,qBAAA,EAAavB,MAAb,EAAqBqB,OAArB,CAAP;IACH,CAJD,CAIE,OAAOT,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,oCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,uBAFT,EAGF;QACIG,YAAY,EAAED,cAAc,CAACC,YADjC;QAEIC,OAAO,EAAEF,cAAc,CAACE;MAF5B,CAHE,CAAN;IAQH;EACJ,CAvBD;;EAyBA,MAAMK,eAAe,GAAG,MACpBzB,MADoB,IAEnB;IACD,MAAM;MAAE0B;IAAF,IAAgB1B,MAAtB;IAEA,MAAM2B,KAAK,GAAGD,SAAS,CAACE,GAAV,CAAcC,GAAG,IAAI;MAC/B,OAAO5B,MAAM,CAAC6B,WAAP,CAAmB;QACtBrB,EAAE,EAAEP,0BAA0B,EADR;QAEtBQ,EAAE,EAAEP,qBAAqB,CAAC0B,GAAG,CAACzB,EAAL;MAFH,CAAnB,CAAP;IAIH,CALa,CAAd;;IAOA,IAAI;MACA,MAAM,IAAA2B,yBAAA,EAAc;QAChBC,KAAK,EAAE/B,MAAM,CAAC+B,KADE;QAEhBL;MAFgB,CAAd,CAAN;MAIA,OAAOD,SAAP;IACH,CAND,CAME,OAAOb,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,sCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,yBAFT,EAGF;QACIU;MADJ,CAHE,CAAN;IAOH;EACJ,CA3BD;;EA6BA,OAAO;IACHpB,cADG;IAEHmB,eAFG;IAGHR;EAHG,CAAP;AAKH,CAvGM"}
1
+ {"version":3,"names":["createQueueJobStorageOperations","params","entity","createQueueJobPartitionKey","createQueueJobSortKey","id","createQueueJobType","createQueueJob","queueJob","keys","PK","SK","put","TYPE","ex","WebinyError","message","code","listQueueJobs","queryAllParams","partitionKey","options","gte","results","queryAll","cleanupItems","deleteQueueJobs","queueJobs","items","map","job","deleteBatch","batchWriteAll","table"],"sources":["queueJob.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceQueueJobStorageOperations,\n PrerenderingServiceStorageOperationsCreateQueueJobParams,\n PrerenderingServiceStorageOperationsDeleteQueueJobsParams,\n QueueJob\n} from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\n\nexport interface CreateQueueJobStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createQueueJobStorageOperations = (\n params: CreateQueueJobStorageOperationsParams\n): PrerenderingServiceQueueJobStorageOperations => {\n const { entity } = params;\n\n const createQueueJobPartitionKey = (): string => {\n return \"PS#Q#JOB\";\n };\n const createQueueJobSortKey = (id: string): string => {\n return id;\n };\n\n const createQueueJobType = () => {\n return \"ps.queue.job\";\n };\n\n const createQueueJob = async (\n params: PrerenderingServiceStorageOperationsCreateQueueJobParams\n ): Promise<QueueJob> => {\n const { queueJob } = params;\n const keys = {\n PK: createQueueJobPartitionKey(),\n SK: createQueueJobSortKey(queueJob.id)\n };\n\n try {\n await entity.put({\n ...queueJob,\n ...keys,\n TYPE: createQueueJobType()\n });\n return queueJob;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create render record.\",\n ex.code || \"CREATE_RENDER_ERROR\",\n {\n keys,\n queueJob\n }\n );\n }\n };\n\n const listQueueJobs = async () => {\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createQueueJobPartitionKey(),\n options: {\n gte: \" \"\n }\n };\n\n try {\n const results = await queryAll<QueueJob>(queryAllParams);\n\n return cleanupItems(entity, results);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list queue jobs records.\",\n ex.code || \"LIST_QUEUE_JOBS_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n };\n\n const deleteQueueJobs = async (\n params: PrerenderingServiceStorageOperationsDeleteQueueJobsParams\n ) => {\n const { queueJobs } = params;\n\n const items = queueJobs.map(job => {\n return entity.deleteBatch({\n PK: createQueueJobPartitionKey(),\n SK: createQueueJobSortKey(job.id)\n });\n });\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n return queueJobs;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete queue jobs records.\",\n ex.code || \"DELETE_QUEUE_JOBS_ERROR\",\n {\n queueJobs\n }\n );\n }\n };\n\n return {\n createQueueJob,\n deleteQueueJobs,\n listQueueJobs\n };\n};\n"],"mappings":";;;;;;;;AAAA;AAQA;AACA;AACA;AAMO,MAAMA,+BAA+B,GACxCC,MAA6C,IACE;EAC/C,MAAM;IAAEC;EAAO,CAAC,GAAGD,MAAM;EAEzB,MAAME,0BAA0B,GAAG,MAAc;IAC7C,OAAO,UAAU;EACrB,CAAC;EACD,MAAMC,qBAAqB,GAAIC,EAAU,IAAa;IAClD,OAAOA,EAAE;EACb,CAAC;EAED,MAAMC,kBAAkB,GAAG,MAAM;IAC7B,OAAO,cAAc;EACzB,CAAC;EAED,MAAMC,cAAc,GAAG,MACnBN,MAAgE,IAC5C;IACpB,MAAM;MAAEO;IAAS,CAAC,GAAGP,MAAM;IAC3B,MAAMQ,IAAI,GAAG;MACTC,EAAE,EAAEP,0BAA0B,EAAE;MAChCQ,EAAE,EAAEP,qBAAqB,CAACI,QAAQ,CAACH,EAAE;IACzC,CAAC;IAED,IAAI;MACA,MAAMH,MAAM,CAACU,GAAG,yFACTJ,QAAQ,GACRC,IAAI;QACPI,IAAI,EAAEP,kBAAkB;MAAE,GAC5B;MACF,OAAOE,QAAQ;IACnB,CAAC,CAAC,OAAOM,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,iCAAiC,EAC/CF,EAAE,CAACG,IAAI,IAAI,qBAAqB,EAChC;QACIR,IAAI;QACJD;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,MAAMU,aAAa,GAAG,YAAY;IAC9B,MAAMC,cAA8B,GAAG;MACnCjB,MAAM;MACNkB,YAAY,EAAEjB,0BAA0B,EAAE;MAC1CkB,OAAO,EAAE;QACLC,GAAG,EAAE;MACT;IACJ,CAAC;IAED,IAAI;MACA,MAAMC,OAAO,GAAG,MAAM,IAAAC,eAAQ,EAAWL,cAAc,CAAC;MAExD,OAAO,IAAAM,qBAAY,EAACvB,MAAM,EAAEqB,OAAO,CAAC;IACxC,CAAC,CAAC,OAAOT,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,oCAAoC,EAClDF,EAAE,CAACG,IAAI,IAAI,uBAAuB,EAClC;QACIG,YAAY,EAAED,cAAc,CAACC,YAAY;QACzCC,OAAO,EAAEF,cAAc,CAACE;MAC5B,CAAC,CACJ;IACL;EACJ,CAAC;EAED,MAAMK,eAAe,GAAG,MACpBzB,MAAiE,IAChE;IACD,MAAM;MAAE0B;IAAU,CAAC,GAAG1B,MAAM;IAE5B,MAAM2B,KAAK,GAAGD,SAAS,CAACE,GAAG,CAACC,GAAG,IAAI;MAC/B,OAAO5B,MAAM,CAAC6B,WAAW,CAAC;QACtBrB,EAAE,EAAEP,0BAA0B,EAAE;QAChCQ,EAAE,EAAEP,qBAAqB,CAAC0B,GAAG,CAACzB,EAAE;MACpC,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAI;MACA,MAAM,IAAA2B,yBAAa,EAAC;QAChBC,KAAK,EAAE/B,MAAM,CAAC+B,KAAK;QACnBL;MACJ,CAAC,CAAC;MACF,OAAOD,SAAS;IACpB,CAAC,CAAC,OAAOb,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,sCAAsC,EACpDF,EAAE,CAACG,IAAI,IAAI,yBAAyB,EACpC;QACIU;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,OAAO;IACHpB,cAAc;IACdmB,eAAe;IACfR;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -1,32 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createRenderStorageOperations = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
10
  var _get = require("@webiny/db-dynamodb/utils/get");
15
-
16
11
  var _query = require("@webiny/db-dynamodb/utils/query");
17
-
18
12
  var _batchRead = require("@webiny/db-dynamodb/utils/batchRead");
19
-
20
13
  var _batchWrite = require("@webiny/db-dynamodb/utils/batchWrite");
21
-
22
14
  var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
23
-
24
15
  const createRenderStorageOperations = params => {
25
16
  const {
26
17
  entity,
27
18
  tagPathLinkEntity
28
19
  } = params;
29
-
30
20
  const createRenderPartitionKey = (tenant, path) => {
31
21
  /**
32
22
  * For backwards compatibility remove the T# if it exists.
@@ -34,22 +24,17 @@ const createRenderStorageOperations = params => {
34
24
  if (tenant.startsWith("T#")) {
35
25
  tenant = tenant.replace(/^T#/, "");
36
26
  }
37
-
38
27
  return `T#${tenant}#PS#RENDER#${path}`;
39
28
  };
40
-
41
29
  const createRenderSortKey = () => {
42
30
  return "A";
43
31
  };
44
-
45
32
  const createRenderGSI1PartitionKey = tenant => {
46
33
  return `T#${tenant}#PS#RENDER`;
47
34
  };
48
-
49
35
  const createRenderType = () => {
50
36
  return "ps.render";
51
37
  };
52
-
53
38
  const createTagPathLinkPartitionKey = params => {
54
39
  const {
55
40
  tag,
@@ -58,40 +43,31 @@ const createRenderStorageOperations = params => {
58
43
  let {
59
44
  tenant
60
45
  } = params;
61
-
62
46
  if (tenant.startsWith("T#")) {
63
47
  tenant = tenant.replace(/^T#/, "");
64
48
  }
65
-
66
49
  return `T#${tenant}#PS#TAG#${tag.key}#${tag.value}#${path}`;
67
50
  };
68
-
69
51
  const createTagPathLinkSortKey = params => {
70
52
  const {
71
53
  tag,
72
54
  path
73
55
  } = params;
74
56
  const values = [tag.value];
75
-
76
57
  if (path) {
77
58
  values.push(path);
78
59
  }
79
-
80
60
  return values.join("#");
81
61
  };
82
-
83
62
  const createTagPathLinkGSI1PartitionKey = params => {
84
63
  let {
85
64
  tenant
86
65
  } = params;
87
-
88
66
  if (tenant.startsWith("T#")) {
89
67
  tenant = tenant.replace(/^T#/, "");
90
68
  }
91
-
92
69
  return `T#${tenant}#PS#TAG`;
93
70
  };
94
-
95
71
  const createTagPathLinkGSI1SortKey = params => {
96
72
  const {
97
73
  tag,
@@ -99,11 +75,9 @@ const createRenderStorageOperations = params => {
99
75
  } = params;
100
76
  return `${tag.key}#${tag.value}#${path}`;
101
77
  };
102
-
103
78
  const createTagPathLinkType = () => {
104
79
  return "ps.tagPathLink";
105
80
  };
106
-
107
81
  const getRender = async params => {
108
82
  const {
109
83
  where
@@ -112,7 +86,6 @@ const createRenderStorageOperations = params => {
112
86
  PK: createRenderPartitionKey(where.tenant, where.path),
113
87
  SK: createRenderSortKey()
114
88
  };
115
-
116
89
  try {
117
90
  const result = await (0, _get.get)({
118
91
  entity,
@@ -127,7 +100,6 @@ const createRenderStorageOperations = params => {
127
100
  });
128
101
  }
129
102
  };
130
-
131
103
  const createRender = async params => {
132
104
  const {
133
105
  render
@@ -136,7 +108,6 @@ const createRenderStorageOperations = params => {
136
108
  PK: createRenderPartitionKey(render.tenant, render.path),
137
109
  SK: createRenderSortKey()
138
110
  };
139
-
140
111
  try {
141
112
  await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, keys), {}, {
142
113
  data: render,
@@ -152,7 +123,6 @@ const createRenderStorageOperations = params => {
152
123
  });
153
124
  }
154
125
  };
155
-
156
126
  const deleteRender = async params => {
157
127
  const {
158
128
  render
@@ -161,7 +131,6 @@ const createRenderStorageOperations = params => {
161
131
  PK: createRenderPartitionKey(render.tenant, render.path),
162
132
  SK: createRenderSortKey()
163
133
  };
164
-
165
134
  try {
166
135
  await entity.delete(keys);
167
136
  } catch (ex) {
@@ -171,7 +140,6 @@ const createRenderStorageOperations = params => {
171
140
  });
172
141
  }
173
142
  };
174
-
175
143
  const listRendersByTag = async params => {
176
144
  const {
177
145
  where
@@ -183,11 +151,9 @@ const createRenderStorageOperations = params => {
183
151
  /**
184
152
  * Possibly there is no tag.key so no need to go further
185
153
  */
186
-
187
154
  if (!tag || !tag.key) {
188
155
  return [];
189
156
  }
190
-
191
157
  const links = await listTagPathLinks({
192
158
  where: {
193
159
  tenant,
@@ -200,7 +166,6 @@ const createRenderStorageOperations = params => {
200
166
  SK: createRenderSortKey()
201
167
  });
202
168
  });
203
-
204
169
  try {
205
170
  const results = await (0, _batchRead.batchReadAll)({
206
171
  table: entity.table,
@@ -213,7 +178,6 @@ const createRenderStorageOperations = params => {
213
178
  });
214
179
  }
215
180
  };
216
-
217
181
  const listRenders = async params => {
218
182
  const {
219
183
  where
@@ -222,11 +186,9 @@ const createRenderStorageOperations = params => {
222
186
  tenant,
223
187
  tag
224
188
  } = where;
225
-
226
189
  if (tag) {
227
190
  return listRendersByTag(params);
228
191
  }
229
-
230
192
  const queryAllParams = {
231
193
  entity,
232
194
  partitionKey: createRenderGSI1PartitionKey(tenant),
@@ -235,7 +197,6 @@ const createRenderStorageOperations = params => {
235
197
  gte: " "
236
198
  }
237
199
  };
238
-
239
200
  try {
240
201
  const results = await (0, _query.queryAll)(queryAllParams);
241
202
  return (0, _cleanup.cleanupItems)(entity, results).map(item => item.data);
@@ -246,7 +207,6 @@ const createRenderStorageOperations = params => {
246
207
  });
247
208
  }
248
209
  };
249
-
250
210
  const createTagPathLinks = async params => {
251
211
  const {
252
212
  tagPathLinks
@@ -274,7 +234,6 @@ const createRenderStorageOperations = params => {
274
234
  })
275
235
  });
276
236
  });
277
-
278
237
  try {
279
238
  await (0, _batchWrite.batchWriteAll)({
280
239
  table: tagPathLinkEntity.table,
@@ -287,7 +246,6 @@ const createRenderStorageOperations = params => {
287
246
  });
288
247
  }
289
248
  };
290
-
291
249
  const deleteTagPathLinks = async params => {
292
250
  const {
293
251
  tenant,
@@ -307,7 +265,6 @@ const createRenderStorageOperations = params => {
307
265
  })
308
266
  });
309
267
  });
310
-
311
268
  try {
312
269
  await (0, _batchWrite.batchWriteAll)({
313
270
  table: tagPathLinkEntity.table,
@@ -321,7 +278,6 @@ const createRenderStorageOperations = params => {
321
278
  });
322
279
  }
323
280
  };
324
-
325
281
  const listTagPathLinks = async params => {
326
282
  const {
327
283
  where
@@ -337,19 +293,16 @@ const createRenderStorageOperations = params => {
337
293
  const options = {
338
294
  index: "GSI1"
339
295
  };
340
-
341
296
  if (tag.value) {
342
297
  options.beginsWith = `${tag.key}#${tag.value}#`;
343
298
  } else {
344
299
  options.beginsWith = `${tag.key}#`;
345
300
  }
346
-
347
301
  const queryAllParams = {
348
302
  entity: tagPathLinkEntity,
349
303
  partitionKey,
350
304
  options
351
305
  };
352
-
353
306
  try {
354
307
  const results = await (0, _query.queryAll)(queryAllParams);
355
308
  return (0, _cleanup.cleanupItems)(tagPathLinkEntity, results).map(item => item.data);
@@ -360,7 +313,6 @@ const createRenderStorageOperations = params => {
360
313
  });
361
314
  }
362
315
  };
363
-
364
316
  return {
365
317
  createRender,
366
318
  deleteRender,
@@ -371,5 +323,4 @@ const createRenderStorageOperations = params => {
371
323
  listTagPathLinks
372
324
  };
373
325
  };
374
-
375
326
  exports.createRenderStorageOperations = createRenderStorageOperations;
@@ -1 +1 @@
1
- {"version":3,"names":["createRenderStorageOperations","params","entity","tagPathLinkEntity","createRenderPartitionKey","tenant","path","startsWith","replace","createRenderSortKey","createRenderGSI1PartitionKey","createRenderType","createTagPathLinkPartitionKey","tag","key","value","createTagPathLinkSortKey","values","push","join","createTagPathLinkGSI1PartitionKey","createTagPathLinkGSI1SortKey","createTagPathLinkType","getRender","where","keys","PK","SK","result","get","dbItem","cleanupItem","data","ex","WebinyError","message","code","createRender","render","put","TYPE","GSI1_PK","GSI1_SK","deleteRender","delete","listRendersByTag","links","listTagPathLinks","items","map","link","getBatch","results","batchReadAll","table","cleanupItems","item","listRenders","queryAllParams","partitionKey","options","index","gte","queryAll","createTagPathLinks","tagPathLinks","putBatch","batchWriteAll","deleteTagPathLinks","tags","deleteBatch","beginsWith"],"sources":["render.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceRenderStorageOperations,\n PrerenderingServiceStorageOperationsCreateRenderParams,\n PrerenderingServiceStorageOperationsCreateTagPathLinksParams,\n PrerenderingServiceStorageOperationsDeleteRenderParams,\n PrerenderingServiceStorageOperationsDeleteTagPathLinksParams,\n PrerenderingServiceStorageOperationsGetRenderParams,\n PrerenderingServiceStorageOperationsListRendersParams,\n PrerenderingServiceStorageOperationsListTagPathLinksParams,\n Render,\n TagPathLink\n} from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { get } from \"@webiny/db-dynamodb/utils/get\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { batchReadAll } from \"@webiny/db-dynamodb/utils/batchRead\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { Tag } from \"@webiny/api-prerendering-service/types\";\nimport { cleanupItem, cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport { DataContainer } from \"~/types\";\n\nexport interface CreateRenderStorageOperationsParams {\n entity: Entity<any>;\n tagPathLinkEntity: Entity<any>;\n}\n\nexport interface CreateTagPathLinkPartitionKeyParams {\n tenant: string;\n tag: Tag;\n path: string;\n}\n\nexport interface CreateTagPathLinkGSI1PartitionKeyParams {\n tenant: string;\n tag: Tag;\n}\n\nexport interface CreateTagPathLinkSortKeyParams {\n tag: Tag;\n path?: string;\n}\n\nexport const createRenderStorageOperations = (\n params: CreateRenderStorageOperationsParams\n): PrerenderingServiceRenderStorageOperations => {\n const { entity, tagPathLinkEntity } = params;\n\n const createRenderPartitionKey = (tenant: string, path: string): string => {\n /**\n * For backwards compatibility remove the T# if it exists.\n */\n if (tenant.startsWith(\"T#\")) {\n tenant = tenant.replace(/^T#/, \"\");\n }\n return `T#${tenant}#PS#RENDER#${path}`;\n };\n\n const createRenderSortKey = (): string => {\n return \"A\";\n };\n\n const createRenderGSI1PartitionKey = (tenant: string): string => {\n return `T#${tenant}#PS#RENDER`;\n };\n\n const createRenderType = (): string => {\n return \"ps.render\";\n };\n\n const createTagPathLinkPartitionKey = (params: CreateTagPathLinkPartitionKeyParams): string => {\n const { tag, path } = params;\n let { tenant } = params;\n if (tenant.startsWith(\"T#\")) {\n tenant = tenant.replace(/^T#/, \"\");\n }\n return `T#${tenant}#PS#TAG#${tag.key}#${tag.value}#${path}`;\n };\n\n const createTagPathLinkSortKey = (params: CreateTagPathLinkSortKeyParams): string => {\n const { tag, path } = params;\n const values = [tag.value];\n if (path) {\n values.push(path);\n }\n return values.join(\"#\");\n };\n\n const createTagPathLinkGSI1PartitionKey = (\n params: CreateTagPathLinkGSI1PartitionKeyParams\n ): string => {\n let { tenant } = params;\n if (tenant.startsWith(\"T#\")) {\n tenant = tenant.replace(/^T#/, \"\");\n }\n return `T#${tenant}#PS#TAG`;\n };\n\n const createTagPathLinkGSI1SortKey = (params: CreateTagPathLinkSortKeyParams): string => {\n const { tag, path } = params;\n\n return `${tag.key}#${tag.value}#${path}`;\n };\n\n const createTagPathLinkType = (): string => {\n return \"ps.tagPathLink\";\n };\n\n const getRender = async (\n params: PrerenderingServiceStorageOperationsGetRenderParams\n ): Promise<Render | null> => {\n const { where } = params;\n\n const keys = {\n PK: createRenderPartitionKey(where.tenant, where.path),\n SK: createRenderSortKey()\n };\n\n try {\n const result = await get<DataContainer<Render>>({\n entity,\n keys\n });\n\n const dbItem = cleanupItem(entity, result);\n\n return dbItem ? dbItem.data : null;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get render record by given key.\",\n ex.code || \"GET_RENDER_ERROR\",\n {\n keys,\n params\n }\n );\n }\n };\n const createRender = async (params: PrerenderingServiceStorageOperationsCreateRenderParams) => {\n const { render } = params;\n\n const keys = {\n PK: createRenderPartitionKey(render.tenant, render.path),\n SK: createRenderSortKey()\n };\n\n try {\n await entity.put({\n ...keys,\n data: render,\n TYPE: createRenderType(),\n GSI1_PK: createRenderGSI1PartitionKey(render.tenant),\n GSI1_SK: render.path\n });\n\n return render;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create render record.\",\n ex.code || \"CREATE_RENDER_ERROR\",\n {\n keys,\n render\n }\n );\n }\n };\n const deleteRender = async (\n params: PrerenderingServiceStorageOperationsDeleteRenderParams\n ): Promise<void> => {\n const { render } = params;\n\n const keys = {\n PK: createRenderPartitionKey(render.tenant, render.path),\n SK: createRenderSortKey()\n };\n\n try {\n await entity.delete(keys);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete render record.\",\n ex.code || \"DELETE_RENDER_ERROR\",\n {\n keys,\n render\n }\n );\n }\n };\n\n const listRendersByTag = async (\n params: PrerenderingServiceStorageOperationsListRendersParams\n ) => {\n const { where } = params;\n const { tenant, tag } = where;\n /**\n * Possibly there is no tag.key so no need to go further\n */\n if (!tag || !tag.key) {\n return [];\n }\n\n const links = await listTagPathLinks({\n where: {\n tenant,\n tag\n }\n });\n\n const items = links.map(link => {\n return entity.getBatch({\n PK: createRenderPartitionKey(tenant, link.path),\n SK: createRenderSortKey()\n });\n });\n try {\n const results = await batchReadAll<DataContainer<Render>>({\n table: entity.table,\n items\n });\n return cleanupItems(entity, results).map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list render records after links.\",\n ex.code || \"LIST_LINKS_RENDER_ERROR\",\n {\n links\n }\n );\n }\n };\n\n const listRenders = async (params: PrerenderingServiceStorageOperationsListRendersParams) => {\n const { where } = params;\n const { tenant, tag } = where;\n\n if (tag) {\n return listRendersByTag(params);\n }\n\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createRenderGSI1PartitionKey(tenant),\n options: {\n index: \"GSI1\",\n gte: \" \"\n }\n };\n\n try {\n const results = await queryAll<DataContainer<Render>>(queryAllParams);\n\n return cleanupItems(entity, results).map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list render records.\",\n ex.code || \"LIST_RENDER_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n };\n\n const createTagPathLinks = async (\n params: PrerenderingServiceStorageOperationsCreateTagPathLinksParams\n ) => {\n const { tagPathLinks } = params;\n\n const items = tagPathLinks.map(item => {\n return tagPathLinkEntity.putBatch({\n data: item,\n TYPE: createTagPathLinkType(),\n PK: createTagPathLinkPartitionKey({\n tenant: item.tenant,\n tag: item,\n path: item.path\n }),\n SK: createTagPathLinkSortKey({\n tag: item,\n path: item.path\n }),\n GSI1_PK: createTagPathLinkGSI1PartitionKey({ tag: item, tenant: item.tenant }),\n GSI1_SK: createTagPathLinkGSI1SortKey({ tag: item, path: item.path })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagPathLinkEntity.table,\n items\n });\n return tagPathLinks;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create tagPathLink records.\",\n ex.code || \"CREATE_URL_TAG_LINKS_ERROR\",\n {\n tagPathLinks\n }\n );\n }\n };\n\n const deleteTagPathLinks = async (\n params: PrerenderingServiceStorageOperationsDeleteTagPathLinksParams\n ): Promise<void> => {\n const { tenant, tags, path } = params;\n const items = tags.map(tag => {\n return tagPathLinkEntity.deleteBatch({\n PK: createTagPathLinkPartitionKey({\n tag,\n tenant,\n path\n }),\n SK: createTagPathLinkSortKey({\n tag,\n path\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagPathLinkEntity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete tagPathLink records.\",\n ex.code || \"DELETE_URL_TAG_LINKS_ERROR\",\n {\n tags,\n tenant,\n path\n }\n );\n }\n };\n\n const listTagPathLinks = async (\n params: PrerenderingServiceStorageOperationsListTagPathLinksParams\n ) => {\n const { where } = params;\n const { tenant, tag } = where;\n\n const partitionKey = createTagPathLinkGSI1PartitionKey({\n tenant,\n tag\n });\n\n const options: DynamoDBToolboxQueryOptions = { index: \"GSI1\" };\n\n if (tag.value) {\n options.beginsWith = `${tag.key}#${tag.value}#`;\n } else {\n options.beginsWith = `${tag.key}#`;\n }\n\n const queryAllParams: QueryAllParams = {\n entity: tagPathLinkEntity,\n partitionKey,\n options\n };\n\n try {\n const results = await queryAll<DataContainer<TagPathLink>>(queryAllParams);\n\n return cleanupItems(tagPathLinkEntity, results).map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list tagPathLink records.\",\n ex.code || \"LIST_TAG_PATH_LINK_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n };\n\n return {\n createRender,\n deleteRender,\n listRenders,\n getRender,\n createTagPathLinks,\n deleteTagPathLinks,\n listTagPathLinks\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createRenderStorageOperations","params","entity","tagPathLinkEntity","createRenderPartitionKey","tenant","path","startsWith","replace","createRenderSortKey","createRenderGSI1PartitionKey","createRenderType","createTagPathLinkPartitionKey","tag","key","value","createTagPathLinkSortKey","values","push","join","createTagPathLinkGSI1PartitionKey","createTagPathLinkGSI1SortKey","createTagPathLinkType","getRender","where","keys","PK","SK","result","get","dbItem","cleanupItem","data","ex","WebinyError","message","code","createRender","render","put","TYPE","GSI1_PK","GSI1_SK","deleteRender","delete","listRendersByTag","links","listTagPathLinks","items","map","link","getBatch","results","batchReadAll","table","cleanupItems","item","listRenders","queryAllParams","partitionKey","options","index","gte","queryAll","createTagPathLinks","tagPathLinks","putBatch","batchWriteAll","deleteTagPathLinks","tags","deleteBatch","beginsWith"],"sources":["render.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceRenderStorageOperations,\n PrerenderingServiceStorageOperationsCreateRenderParams,\n PrerenderingServiceStorageOperationsCreateTagPathLinksParams,\n PrerenderingServiceStorageOperationsDeleteRenderParams,\n PrerenderingServiceStorageOperationsDeleteTagPathLinksParams,\n PrerenderingServiceStorageOperationsGetRenderParams,\n PrerenderingServiceStorageOperationsListRendersParams,\n PrerenderingServiceStorageOperationsListTagPathLinksParams,\n Render,\n TagPathLink\n} from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { get } from \"@webiny/db-dynamodb/utils/get\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport { batchReadAll } from \"@webiny/db-dynamodb/utils/batchRead\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { Tag } from \"@webiny/api-prerendering-service/types\";\nimport { cleanupItem, cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport { DataContainer } from \"~/types\";\n\nexport interface CreateRenderStorageOperationsParams {\n entity: Entity<any>;\n tagPathLinkEntity: Entity<any>;\n}\n\nexport interface CreateTagPathLinkPartitionKeyParams {\n tenant: string;\n tag: Tag;\n path: string;\n}\n\nexport interface CreateTagPathLinkGSI1PartitionKeyParams {\n tenant: string;\n tag: Tag;\n}\n\nexport interface CreateTagPathLinkSortKeyParams {\n tag: Tag;\n path?: string;\n}\n\nexport const createRenderStorageOperations = (\n params: CreateRenderStorageOperationsParams\n): PrerenderingServiceRenderStorageOperations => {\n const { entity, tagPathLinkEntity } = params;\n\n const createRenderPartitionKey = (tenant: string, path: string): string => {\n /**\n * For backwards compatibility remove the T# if it exists.\n */\n if (tenant.startsWith(\"T#\")) {\n tenant = tenant.replace(/^T#/, \"\");\n }\n return `T#${tenant}#PS#RENDER#${path}`;\n };\n\n const createRenderSortKey = (): string => {\n return \"A\";\n };\n\n const createRenderGSI1PartitionKey = (tenant: string): string => {\n return `T#${tenant}#PS#RENDER`;\n };\n\n const createRenderType = (): string => {\n return \"ps.render\";\n };\n\n const createTagPathLinkPartitionKey = (params: CreateTagPathLinkPartitionKeyParams): string => {\n const { tag, path } = params;\n let { tenant } = params;\n if (tenant.startsWith(\"T#\")) {\n tenant = tenant.replace(/^T#/, \"\");\n }\n return `T#${tenant}#PS#TAG#${tag.key}#${tag.value}#${path}`;\n };\n\n const createTagPathLinkSortKey = (params: CreateTagPathLinkSortKeyParams): string => {\n const { tag, path } = params;\n const values = [tag.value];\n if (path) {\n values.push(path);\n }\n return values.join(\"#\");\n };\n\n const createTagPathLinkGSI1PartitionKey = (\n params: CreateTagPathLinkGSI1PartitionKeyParams\n ): string => {\n let { tenant } = params;\n if (tenant.startsWith(\"T#\")) {\n tenant = tenant.replace(/^T#/, \"\");\n }\n return `T#${tenant}#PS#TAG`;\n };\n\n const createTagPathLinkGSI1SortKey = (params: CreateTagPathLinkSortKeyParams): string => {\n const { tag, path } = params;\n\n return `${tag.key}#${tag.value}#${path}`;\n };\n\n const createTagPathLinkType = (): string => {\n return \"ps.tagPathLink\";\n };\n\n const getRender = async (\n params: PrerenderingServiceStorageOperationsGetRenderParams\n ): Promise<Render | null> => {\n const { where } = params;\n\n const keys = {\n PK: createRenderPartitionKey(where.tenant, where.path),\n SK: createRenderSortKey()\n };\n\n try {\n const result = await get<DataContainer<Render>>({\n entity,\n keys\n });\n\n const dbItem = cleanupItem(entity, result);\n\n return dbItem ? dbItem.data : null;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get render record by given key.\",\n ex.code || \"GET_RENDER_ERROR\",\n {\n keys,\n params\n }\n );\n }\n };\n const createRender = async (params: PrerenderingServiceStorageOperationsCreateRenderParams) => {\n const { render } = params;\n\n const keys = {\n PK: createRenderPartitionKey(render.tenant, render.path),\n SK: createRenderSortKey()\n };\n\n try {\n await entity.put({\n ...keys,\n data: render,\n TYPE: createRenderType(),\n GSI1_PK: createRenderGSI1PartitionKey(render.tenant),\n GSI1_SK: render.path\n });\n\n return render;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create render record.\",\n ex.code || \"CREATE_RENDER_ERROR\",\n {\n keys,\n render\n }\n );\n }\n };\n const deleteRender = async (\n params: PrerenderingServiceStorageOperationsDeleteRenderParams\n ): Promise<void> => {\n const { render } = params;\n\n const keys = {\n PK: createRenderPartitionKey(render.tenant, render.path),\n SK: createRenderSortKey()\n };\n\n try {\n await entity.delete(keys);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete render record.\",\n ex.code || \"DELETE_RENDER_ERROR\",\n {\n keys,\n render\n }\n );\n }\n };\n\n const listRendersByTag = async (\n params: PrerenderingServiceStorageOperationsListRendersParams\n ) => {\n const { where } = params;\n const { tenant, tag } = where;\n /**\n * Possibly there is no tag.key so no need to go further\n */\n if (!tag || !tag.key) {\n return [];\n }\n\n const links = await listTagPathLinks({\n where: {\n tenant,\n tag\n }\n });\n\n const items = links.map(link => {\n return entity.getBatch({\n PK: createRenderPartitionKey(tenant, link.path),\n SK: createRenderSortKey()\n });\n });\n try {\n const results = await batchReadAll<DataContainer<Render>>({\n table: entity.table,\n items\n });\n return cleanupItems(entity, results).map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list render records after links.\",\n ex.code || \"LIST_LINKS_RENDER_ERROR\",\n {\n links\n }\n );\n }\n };\n\n const listRenders = async (params: PrerenderingServiceStorageOperationsListRendersParams) => {\n const { where } = params;\n const { tenant, tag } = where;\n\n if (tag) {\n return listRendersByTag(params);\n }\n\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createRenderGSI1PartitionKey(tenant),\n options: {\n index: \"GSI1\",\n gte: \" \"\n }\n };\n\n try {\n const results = await queryAll<DataContainer<Render>>(queryAllParams);\n\n return cleanupItems(entity, results).map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list render records.\",\n ex.code || \"LIST_RENDER_ERROR\",\n {\n partitionKey: queryAllParams.partitionKey,\n options: queryAllParams.options\n }\n );\n }\n };\n\n const createTagPathLinks = async (\n params: PrerenderingServiceStorageOperationsCreateTagPathLinksParams\n ) => {\n const { tagPathLinks } = params;\n\n const items = tagPathLinks.map(item => {\n return tagPathLinkEntity.putBatch({\n data: item,\n TYPE: createTagPathLinkType(),\n PK: createTagPathLinkPartitionKey({\n tenant: item.tenant,\n tag: item,\n path: item.path\n }),\n SK: createTagPathLinkSortKey({\n tag: item,\n path: item.path\n }),\n GSI1_PK: createTagPathLinkGSI1PartitionKey({ tag: item, tenant: item.tenant }),\n GSI1_SK: createTagPathLinkGSI1SortKey({ tag: item, path: item.path })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagPathLinkEntity.table,\n items\n });\n return tagPathLinks;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create tagPathLink records.\",\n ex.code || \"CREATE_URL_TAG_LINKS_ERROR\",\n {\n tagPathLinks\n }\n );\n }\n };\n\n const deleteTagPathLinks = async (\n params: PrerenderingServiceStorageOperationsDeleteTagPathLinksParams\n ): Promise<void> => {\n const { tenant, tags, path } = params;\n const items = tags.map(tag => {\n return tagPathLinkEntity.deleteBatch({\n PK: createTagPathLinkPartitionKey({\n tag,\n tenant,\n path\n }),\n SK: createTagPathLinkSortKey({\n tag,\n path\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagPathLinkEntity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete tagPathLink records.\",\n ex.code || \"DELETE_URL_TAG_LINKS_ERROR\",\n {\n tags,\n tenant,\n path\n }\n );\n }\n };\n\n const listTagPathLinks = async (\n params: PrerenderingServiceStorageOperationsListTagPathLinksParams\n ) => {\n const { where } = params;\n const { tenant, tag } = where;\n\n const partitionKey = createTagPathLinkGSI1PartitionKey({\n tenant,\n tag\n });\n\n const options: DynamoDBToolboxQueryOptions = { index: \"GSI1\" };\n\n if (tag.value) {\n options.beginsWith = `${tag.key}#${tag.value}#`;\n } else {\n options.beginsWith = `${tag.key}#`;\n }\n\n const queryAllParams: QueryAllParams = {\n entity: tagPathLinkEntity,\n partitionKey,\n options\n };\n\n try {\n const results = await queryAll<DataContainer<TagPathLink>>(queryAllParams);\n\n return cleanupItems(tagPathLinkEntity, results).map(item => item.data);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list tagPathLink records.\",\n ex.code || \"LIST_TAG_PATH_LINK_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n };\n\n return {\n createRender,\n deleteRender,\n listRenders,\n getRender,\n createTagPathLinks,\n deleteTagPathLinks,\n listTagPathLinks\n };\n};\n"],"mappings":";;;;;;;;AAAA;AAcA;AACA;AACA;AACA;AAEA;AAyBO,MAAMA,6BAA6B,GACtCC,MAA2C,IACE;EAC7C,MAAM;IAAEC,MAAM;IAAEC;EAAkB,CAAC,GAAGF,MAAM;EAE5C,MAAMG,wBAAwB,GAAG,CAACC,MAAc,EAAEC,IAAY,KAAa;IACvE;AACR;AACA;IACQ,IAAID,MAAM,CAACE,UAAU,CAAC,IAAI,CAAC,EAAE;MACzBF,MAAM,GAAGA,MAAM,CAACG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACtC;IACA,OAAQ,KAAIH,MAAO,cAAaC,IAAK,EAAC;EAC1C,CAAC;EAED,MAAMG,mBAAmB,GAAG,MAAc;IACtC,OAAO,GAAG;EACd,CAAC;EAED,MAAMC,4BAA4B,GAAIL,MAAc,IAAa;IAC7D,OAAQ,KAAIA,MAAO,YAAW;EAClC,CAAC;EAED,MAAMM,gBAAgB,GAAG,MAAc;IACnC,OAAO,WAAW;EACtB,CAAC;EAED,MAAMC,6BAA6B,GAAIX,MAA2C,IAAa;IAC3F,MAAM;MAAEY,GAAG;MAAEP;IAAK,CAAC,GAAGL,MAAM;IAC5B,IAAI;MAAEI;IAAO,CAAC,GAAGJ,MAAM;IACvB,IAAII,MAAM,CAACE,UAAU,CAAC,IAAI,CAAC,EAAE;MACzBF,MAAM,GAAGA,MAAM,CAACG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACtC;IACA,OAAQ,KAAIH,MAAO,WAAUQ,GAAG,CAACC,GAAI,IAAGD,GAAG,CAACE,KAAM,IAAGT,IAAK,EAAC;EAC/D,CAAC;EAED,MAAMU,wBAAwB,GAAIf,MAAsC,IAAa;IACjF,MAAM;MAAEY,GAAG;MAAEP;IAAK,CAAC,GAAGL,MAAM;IAC5B,MAAMgB,MAAM,GAAG,CAACJ,GAAG,CAACE,KAAK,CAAC;IAC1B,IAAIT,IAAI,EAAE;MACNW,MAAM,CAACC,IAAI,CAACZ,IAAI,CAAC;IACrB;IACA,OAAOW,MAAM,CAACE,IAAI,CAAC,GAAG,CAAC;EAC3B,CAAC;EAED,MAAMC,iCAAiC,GACnCnB,MAA+C,IACtC;IACT,IAAI;MAAEI;IAAO,CAAC,GAAGJ,MAAM;IACvB,IAAII,MAAM,CAACE,UAAU,CAAC,IAAI,CAAC,EAAE;MACzBF,MAAM,GAAGA,MAAM,CAACG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACtC;IACA,OAAQ,KAAIH,MAAO,SAAQ;EAC/B,CAAC;EAED,MAAMgB,4BAA4B,GAAIpB,MAAsC,IAAa;IACrF,MAAM;MAAEY,GAAG;MAAEP;IAAK,CAAC,GAAGL,MAAM;IAE5B,OAAQ,GAAEY,GAAG,CAACC,GAAI,IAAGD,GAAG,CAACE,KAAM,IAAGT,IAAK,EAAC;EAC5C,CAAC;EAED,MAAMgB,qBAAqB,GAAG,MAAc;IACxC,OAAO,gBAAgB;EAC3B,CAAC;EAED,MAAMC,SAAS,GAAG,MACdtB,MAA2D,IAClC;IACzB,MAAM;MAAEuB;IAAM,CAAC,GAAGvB,MAAM;IAExB,MAAMwB,IAAI,GAAG;MACTC,EAAE,EAAEtB,wBAAwB,CAACoB,KAAK,CAACnB,MAAM,EAAEmB,KAAK,CAAClB,IAAI,CAAC;MACtDqB,EAAE,EAAElB,mBAAmB;IAC3B,CAAC;IAED,IAAI;MACA,MAAMmB,MAAM,GAAG,MAAM,IAAAC,QAAG,EAAwB;QAC5C3B,MAAM;QACNuB;MACJ,CAAC,CAAC;MAEF,MAAMK,MAAM,GAAG,IAAAC,oBAAW,EAAC7B,MAAM,EAAE0B,MAAM,CAAC;MAE1C,OAAOE,MAAM,GAAGA,MAAM,CAACE,IAAI,GAAG,IAAI;IACtC,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,2CAA2C,EACzDF,EAAE,CAACG,IAAI,IAAI,kBAAkB,EAC7B;QACIX,IAAI;QACJxB;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EACD,MAAMoC,YAAY,GAAG,MAAOpC,MAA8D,IAAK;IAC3F,MAAM;MAAEqC;IAAO,CAAC,GAAGrC,MAAM;IAEzB,MAAMwB,IAAI,GAAG;MACTC,EAAE,EAAEtB,wBAAwB,CAACkC,MAAM,CAACjC,MAAM,EAAEiC,MAAM,CAAChC,IAAI,CAAC;MACxDqB,EAAE,EAAElB,mBAAmB;IAC3B,CAAC;IAED,IAAI;MACA,MAAMP,MAAM,CAACqC,GAAG,6DACTd,IAAI;QACPO,IAAI,EAAEM,MAAM;QACZE,IAAI,EAAE7B,gBAAgB,EAAE;QACxB8B,OAAO,EAAE/B,4BAA4B,CAAC4B,MAAM,CAACjC,MAAM,CAAC;QACpDqC,OAAO,EAAEJ,MAAM,CAAChC;MAAI,GACtB;MAEF,OAAOgC,MAAM;IACjB,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,iCAAiC,EAC/CF,EAAE,CAACG,IAAI,IAAI,qBAAqB,EAChC;QACIX,IAAI;QACJa;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EACD,MAAMK,YAAY,GAAG,MACjB1C,MAA8D,IAC9C;IAChB,MAAM;MAAEqC;IAAO,CAAC,GAAGrC,MAAM;IAEzB,MAAMwB,IAAI,GAAG;MACTC,EAAE,EAAEtB,wBAAwB,CAACkC,MAAM,CAACjC,MAAM,EAAEiC,MAAM,CAAChC,IAAI,CAAC;MACxDqB,EAAE,EAAElB,mBAAmB;IAC3B,CAAC;IAED,IAAI;MACA,MAAMP,MAAM,CAAC0C,MAAM,CAACnB,IAAI,CAAC;IAC7B,CAAC,CAAC,OAAOQ,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,iCAAiC,EAC/CF,EAAE,CAACG,IAAI,IAAI,qBAAqB,EAChC;QACIX,IAAI;QACJa;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,MAAMO,gBAAgB,GAAG,MACrB5C,MAA6D,IAC5D;IACD,MAAM;MAAEuB;IAAM,CAAC,GAAGvB,MAAM;IACxB,MAAM;MAAEI,MAAM;MAAEQ;IAAI,CAAC,GAAGW,KAAK;IAC7B;AACR;AACA;IACQ,IAAI,CAACX,GAAG,IAAI,CAACA,GAAG,CAACC,GAAG,EAAE;MAClB,OAAO,EAAE;IACb;IAEA,MAAMgC,KAAK,GAAG,MAAMC,gBAAgB,CAAC;MACjCvB,KAAK,EAAE;QACHnB,MAAM;QACNQ;MACJ;IACJ,CAAC,CAAC;IAEF,MAAMmC,KAAK,GAAGF,KAAK,CAACG,GAAG,CAACC,IAAI,IAAI;MAC5B,OAAOhD,MAAM,CAACiD,QAAQ,CAAC;QACnBzB,EAAE,EAAEtB,wBAAwB,CAACC,MAAM,EAAE6C,IAAI,CAAC5C,IAAI,CAAC;QAC/CqB,EAAE,EAAElB,mBAAmB;MAC3B,CAAC,CAAC;IACN,CAAC,CAAC;IACF,IAAI;MACA,MAAM2C,OAAO,GAAG,MAAM,IAAAC,uBAAY,EAAwB;QACtDC,KAAK,EAAEpD,MAAM,CAACoD,KAAK;QACnBN;MACJ,CAAC,CAAC;MACF,OAAO,IAAAO,qBAAY,EAACrD,MAAM,EAAEkD,OAAO,CAAC,CAACH,GAAG,CAACO,IAAI,IAAIA,IAAI,CAACxB,IAAI,CAAC;IAC/D,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,4CAA4C,EAC1DF,EAAE,CAACG,IAAI,IAAI,yBAAyB,EACpC;QACIU;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,MAAMW,WAAW,GAAG,MAAOxD,MAA6D,IAAK;IACzF,MAAM;MAAEuB;IAAM,CAAC,GAAGvB,MAAM;IACxB,MAAM;MAAEI,MAAM;MAAEQ;IAAI,CAAC,GAAGW,KAAK;IAE7B,IAAIX,GAAG,EAAE;MACL,OAAOgC,gBAAgB,CAAC5C,MAAM,CAAC;IACnC;IAEA,MAAMyD,cAA8B,GAAG;MACnCxD,MAAM;MACNyD,YAAY,EAAEjD,4BAA4B,CAACL,MAAM,CAAC;MAClDuD,OAAO,EAAE;QACLC,KAAK,EAAE,MAAM;QACbC,GAAG,EAAE;MACT;IACJ,CAAC;IAED,IAAI;MACA,MAAMV,OAAO,GAAG,MAAM,IAAAW,eAAQ,EAAwBL,cAAc,CAAC;MAErE,OAAO,IAAAH,qBAAY,EAACrD,MAAM,EAAEkD,OAAO,CAAC,CAACH,GAAG,CAACO,IAAI,IAAIA,IAAI,CAACxB,IAAI,CAAC;IAC/D,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,gCAAgC,EAC9CF,EAAE,CAACG,IAAI,IAAI,mBAAmB,EAC9B;QACIuB,YAAY,EAAED,cAAc,CAACC,YAAY;QACzCC,OAAO,EAAEF,cAAc,CAACE;MAC5B,CAAC,CACJ;IACL;EACJ,CAAC;EAED,MAAMI,kBAAkB,GAAG,MACvB/D,MAAoE,IACnE;IACD,MAAM;MAAEgE;IAAa,CAAC,GAAGhE,MAAM;IAE/B,MAAM+C,KAAK,GAAGiB,YAAY,CAAChB,GAAG,CAACO,IAAI,IAAI;MACnC,OAAOrD,iBAAiB,CAAC+D,QAAQ,CAAC;QAC9BlC,IAAI,EAAEwB,IAAI;QACVhB,IAAI,EAAElB,qBAAqB,EAAE;QAC7BI,EAAE,EAAEd,6BAA6B,CAAC;UAC9BP,MAAM,EAAEmD,IAAI,CAACnD,MAAM;UACnBQ,GAAG,EAAE2C,IAAI;UACTlD,IAAI,EAAEkD,IAAI,CAAClD;QACf,CAAC,CAAC;QACFqB,EAAE,EAAEX,wBAAwB,CAAC;UACzBH,GAAG,EAAE2C,IAAI;UACTlD,IAAI,EAAEkD,IAAI,CAAClD;QACf,CAAC,CAAC;QACFmC,OAAO,EAAErB,iCAAiC,CAAC;UAAEP,GAAG,EAAE2C,IAAI;UAAEnD,MAAM,EAAEmD,IAAI,CAACnD;QAAO,CAAC,CAAC;QAC9EqC,OAAO,EAAErB,4BAA4B,CAAC;UAAER,GAAG,EAAE2C,IAAI;UAAElD,IAAI,EAAEkD,IAAI,CAAClD;QAAK,CAAC;MACxE,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAI;MACA,MAAM,IAAA6D,yBAAa,EAAC;QAChBb,KAAK,EAAEnD,iBAAiB,CAACmD,KAAK;QAC9BN;MACJ,CAAC,CAAC;MACF,OAAOiB,YAAY;IACvB,CAAC,CAAC,OAAOhC,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,uCAAuC,EACrDF,EAAE,CAACG,IAAI,IAAI,4BAA4B,EACvC;QACI6B;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,MAAMG,kBAAkB,GAAG,MACvBnE,MAAoE,IACpD;IAChB,MAAM;MAAEI,MAAM;MAAEgE,IAAI;MAAE/D;IAAK,CAAC,GAAGL,MAAM;IACrC,MAAM+C,KAAK,GAAGqB,IAAI,CAACpB,GAAG,CAACpC,GAAG,IAAI;MAC1B,OAAOV,iBAAiB,CAACmE,WAAW,CAAC;QACjC5C,EAAE,EAAEd,6BAA6B,CAAC;UAC9BC,GAAG;UACHR,MAAM;UACNC;QACJ,CAAC,CAAC;QACFqB,EAAE,EAAEX,wBAAwB,CAAC;UACzBH,GAAG;UACHP;QACJ,CAAC;MACL,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAI;MACA,MAAM,IAAA6D,yBAAa,EAAC;QAChBb,KAAK,EAAEnD,iBAAiB,CAACmD,KAAK;QAC9BN;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOf,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,uCAAuC,EACrDF,EAAE,CAACG,IAAI,IAAI,4BAA4B,EACvC;QACIiC,IAAI;QACJhE,MAAM;QACNC;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,MAAMyC,gBAAgB,GAAG,MACrB9C,MAAkE,IACjE;IACD,MAAM;MAAEuB;IAAM,CAAC,GAAGvB,MAAM;IACxB,MAAM;MAAEI,MAAM;MAAEQ;IAAI,CAAC,GAAGW,KAAK;IAE7B,MAAMmC,YAAY,GAAGvC,iCAAiC,CAAC;MACnDf,MAAM;MACNQ;IACJ,CAAC,CAAC;IAEF,MAAM+C,OAAoC,GAAG;MAAEC,KAAK,EAAE;IAAO,CAAC;IAE9D,IAAIhD,GAAG,CAACE,KAAK,EAAE;MACX6C,OAAO,CAACW,UAAU,GAAI,GAAE1D,GAAG,CAACC,GAAI,IAAGD,GAAG,CAACE,KAAM,GAAE;IACnD,CAAC,MAAM;MACH6C,OAAO,CAACW,UAAU,GAAI,GAAE1D,GAAG,CAACC,GAAI,GAAE;IACtC;IAEA,MAAM4C,cAA8B,GAAG;MACnCxD,MAAM,EAAEC,iBAAiB;MACzBwD,YAAY;MACZC;IACJ,CAAC;IAED,IAAI;MACA,MAAMR,OAAO,GAAG,MAAM,IAAAW,eAAQ,EAA6BL,cAAc,CAAC;MAE1E,OAAO,IAAAH,qBAAY,EAACpD,iBAAiB,EAAEiD,OAAO,CAAC,CAACH,GAAG,CAACO,IAAI,IAAIA,IAAI,CAACxB,IAAI,CAAC;IAC1E,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,qCAAqC,EACnDF,EAAE,CAACG,IAAI,IAAI,0BAA0B,EACrC;QACIuB,YAAY;QACZC;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,OAAO;IACHvB,YAAY;IACZM,YAAY;IACZc,WAAW;IACXlC,SAAS;IACTyC,kBAAkB;IAClBI,kBAAkB;IAClBrB;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -1,39 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createSettingsStorageOperations = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
10
  var _get = require("@webiny/db-dynamodb/utils/get");
15
-
16
11
  const createSettingsStorageOperations = params => {
17
12
  const {
18
13
  entity
19
14
  } = params;
20
-
21
15
  const getSettings = async (variant = "default") => {
22
16
  const keys = {
23
17
  PK: "PS#SETTINGS",
24
18
  SK: variant
25
19
  };
26
-
27
20
  try {
28
21
  const result = await (0, _get.get)({
29
22
  entity,
30
23
  keys
31
24
  });
32
-
33
25
  if (!result) {
34
26
  throw Error();
35
27
  }
36
-
37
28
  return result.data;
38
29
  } catch (ex) {
39
30
  throw new _error.default(ex.message || "Could not load prerendering settings!", ex.code || "GET_SETTINGS_ERROR", {
@@ -42,7 +33,6 @@ const createSettingsStorageOperations = params => {
42
33
  });
43
34
  }
44
35
  };
45
-
46
36
  const saveSettings = async params => {
47
37
  const {
48
38
  settings,
@@ -52,7 +42,6 @@ const createSettingsStorageOperations = params => {
52
42
  PK: "PS#SETTINGS",
53
43
  SK: variant
54
44
  };
55
-
56
45
  try {
57
46
  await entity.put((0, _objectSpread2.default)((0, _objectSpread2.default)({}, keys), {}, {
58
47
  TYPE: "ps.settings",
@@ -65,11 +54,9 @@ const createSettingsStorageOperations = params => {
65
54
  });
66
55
  }
67
56
  };
68
-
69
57
  return {
70
58
  getSettings,
71
59
  saveSettings
72
60
  };
73
61
  };
74
-
75
62
  exports.createSettingsStorageOperations = createSettingsStorageOperations;
@@ -1 +1 @@
1
- {"version":3,"names":["createSettingsStorageOperations","params","entity","getSettings","variant","keys","PK","SK","result","get","Error","data","ex","WebinyError","message","code","saveSettings","settings","put","TYPE"],"sources":["settings.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceSaveSettingsParams,\n PrerenderingServiceSettingsStorageOperations,\n PrerenderingSettings\n} from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { get } from \"@webiny/db-dynamodb/utils/get\";\n\nexport interface CreateSettingsStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createSettingsStorageOperations = (\n params: CreateSettingsStorageOperationsParams\n): PrerenderingServiceSettingsStorageOperations => {\n const { entity } = params;\n\n const getSettings = async (variant = \"default\"): Promise<PrerenderingSettings> => {\n const keys = {\n PK: \"PS#SETTINGS\",\n SK: variant\n };\n\n try {\n const result = await get<{ data: PrerenderingSettings }>({\n entity,\n keys\n });\n\n if (!result) {\n throw Error();\n }\n\n return result.data;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load prerendering settings!\",\n ex.code || \"GET_SETTINGS_ERROR\",\n {\n keys,\n params\n }\n );\n }\n };\n\n const saveSettings = async (params: PrerenderingServiceSaveSettingsParams) => {\n const { settings, variant = \"default\" } = params;\n const keys = {\n PK: \"PS#SETTINGS\",\n SK: variant\n };\n\n try {\n await entity.put({\n ...keys,\n TYPE: \"ps.settings\",\n data: settings\n });\n\n return settings;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not save settings.\",\n ex.code || \"SAVE_SETTINGS_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n return {\n getSettings,\n saveSettings\n };\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AAOA;;AAMO,MAAMA,+BAA+B,GACxCC,MAD2C,IAEI;EAC/C,MAAM;IAAEC;EAAF,IAAaD,MAAnB;;EAEA,MAAME,WAAW,GAAG,OAAOC,OAAO,GAAG,SAAjB,KAA8D;IAC9E,MAAMC,IAAI,GAAG;MACTC,EAAE,EAAE,aADK;MAETC,EAAE,EAAEH;IAFK,CAAb;;IAKA,IAAI;MACA,MAAMI,MAAM,GAAG,MAAM,IAAAC,QAAA,EAAoC;QACrDP,MADqD;QAErDG;MAFqD,CAApC,CAArB;;MAKA,IAAI,CAACG,MAAL,EAAa;QACT,MAAME,KAAK,EAAX;MACH;;MAED,OAAOF,MAAM,CAACG,IAAd;IACH,CAXD,CAWE,OAAOC,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,uCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,oBAFT,EAGF;QACIV,IADJ;QAEIJ;MAFJ,CAHE,CAAN;IAQH;EACJ,CA3BD;;EA6BA,MAAMe,YAAY,GAAG,MAAOf,MAAP,IAAyD;IAC1E,MAAM;MAAEgB,QAAF;MAAYb,OAAO,GAAG;IAAtB,IAAoCH,MAA1C;IACA,MAAMI,IAAI,GAAG;MACTC,EAAE,EAAE,aADK;MAETC,EAAE,EAAEH;IAFK,CAAb;;IAKA,IAAI;MACA,MAAMF,MAAM,CAACgB,GAAP,6DACCb,IADD;QAEFc,IAAI,EAAE,aAFJ;QAGFR,IAAI,EAAEM;MAHJ,GAAN;MAMA,OAAOA,QAAP;IACH,CARD,CAQE,OAAOL,EAAP,EAAW;MACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,0BADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,qBAFT,EAGF;QACIV;MADJ,CAHE,CAAN;IAOH;EACJ,CAxBD;;EA0BA,OAAO;IACHF,WADG;IAEHa;EAFG,CAAP;AAIH,CAhEM"}
1
+ {"version":3,"names":["createSettingsStorageOperations","params","entity","getSettings","variant","keys","PK","SK","result","get","Error","data","ex","WebinyError","message","code","saveSettings","settings","put","TYPE"],"sources":["settings.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceSaveSettingsParams,\n PrerenderingServiceSettingsStorageOperations,\n PrerenderingSettings\n} from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { get } from \"@webiny/db-dynamodb/utils/get\";\n\nexport interface CreateSettingsStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createSettingsStorageOperations = (\n params: CreateSettingsStorageOperationsParams\n): PrerenderingServiceSettingsStorageOperations => {\n const { entity } = params;\n\n const getSettings = async (variant = \"default\"): Promise<PrerenderingSettings> => {\n const keys = {\n PK: \"PS#SETTINGS\",\n SK: variant\n };\n\n try {\n const result = await get<{ data: PrerenderingSettings }>({\n entity,\n keys\n });\n\n if (!result) {\n throw Error();\n }\n\n return result.data;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load prerendering settings!\",\n ex.code || \"GET_SETTINGS_ERROR\",\n {\n keys,\n params\n }\n );\n }\n };\n\n const saveSettings = async (params: PrerenderingServiceSaveSettingsParams) => {\n const { settings, variant = \"default\" } = params;\n const keys = {\n PK: \"PS#SETTINGS\",\n SK: variant\n };\n\n try {\n await entity.put({\n ...keys,\n TYPE: \"ps.settings\",\n data: settings\n });\n\n return settings;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not save settings.\",\n ex.code || \"SAVE_SETTINGS_ERROR\",\n {\n keys\n }\n );\n }\n };\n\n return {\n getSettings,\n saveSettings\n };\n};\n"],"mappings":";;;;;;;;AAAA;AAOA;AAMO,MAAMA,+BAA+B,GACxCC,MAA6C,IACE;EAC/C,MAAM;IAAEC;EAAO,CAAC,GAAGD,MAAM;EAEzB,MAAME,WAAW,GAAG,OAAOC,OAAO,GAAG,SAAS,KAAoC;IAC9E,MAAMC,IAAI,GAAG;MACTC,EAAE,EAAE,aAAa;MACjBC,EAAE,EAAEH;IACR,CAAC;IAED,IAAI;MACA,MAAMI,MAAM,GAAG,MAAM,IAAAC,QAAG,EAAiC;QACrDP,MAAM;QACNG;MACJ,CAAC,CAAC;MAEF,IAAI,CAACG,MAAM,EAAE;QACT,MAAME,KAAK,EAAE;MACjB;MAEA,OAAOF,MAAM,CAACG,IAAI;IACtB,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,uCAAuC,EACrDF,EAAE,CAACG,IAAI,IAAI,oBAAoB,EAC/B;QACIV,IAAI;QACJJ;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,MAAMe,YAAY,GAAG,MAAOf,MAA6C,IAAK;IAC1E,MAAM;MAAEgB,QAAQ;MAAEb,OAAO,GAAG;IAAU,CAAC,GAAGH,MAAM;IAChD,MAAMI,IAAI,GAAG;MACTC,EAAE,EAAE,aAAa;MACjBC,EAAE,EAAEH;IACR,CAAC;IAED,IAAI;MACA,MAAMF,MAAM,CAACgB,GAAG,6DACTb,IAAI;QACPc,IAAI,EAAE,aAAa;QACnBR,IAAI,EAAEM;MAAQ,GAChB;MAEF,OAAOA,QAAQ;IACnB,CAAC,CAAC,OAAOL,EAAE,EAAE;MACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,0BAA0B,EACxCF,EAAE,CAACG,IAAI,IAAI,qBAAqB,EAChC;QACIV;MACJ,CAAC,CACJ;IACL;EACJ,CAAC;EAED,OAAO;IACHF,WAAW;IACXa;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -0,0 +1,6 @@
1
+ import { PrerenderingServiceTenantStorageOperations } from "@webiny/api-prerendering-service/types";
2
+ import { Entity } from "dynamodb-toolbox";
3
+ export interface CreateTenantStorageOperationsParams {
4
+ entity: Entity<any>;
5
+ }
6
+ export declare const createTenantStorageOperations: (params: CreateTenantStorageOperationsParams) => PrerenderingServiceTenantStorageOperations;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTenantStorageOperations = void 0;
7
+ var _query = require("@webiny/db-dynamodb/utils/query");
8
+ var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
9
+ const createTenantStorageOperations = params => {
10
+ const {
11
+ entity
12
+ } = params;
13
+ const getTenantIds = async () => {
14
+ const tenants = await (0, _query.queryAll)({
15
+ entity,
16
+ partitionKey: "TENANTS",
17
+ options: {
18
+ index: "GSI1",
19
+ gt: " "
20
+ }
21
+ });
22
+ return (0, _cleanup.cleanupItems)(entity, tenants).map(tenant => tenant.id);
23
+ };
24
+ return {
25
+ getTenantIds
26
+ };
27
+ };
28
+ exports.createTenantStorageOperations = createTenantStorageOperations;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTenantStorageOperations","params","entity","getTenantIds","tenants","queryAll","partitionKey","options","index","gt","cleanupItems","map","tenant","id"],"sources":["tenant.ts"],"sourcesContent":["import { PrerenderingServiceTenantStorageOperations } from \"@webiny/api-prerendering-service/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { queryAll } from \"@webiny/db-dynamodb/utils/query\";\nimport { cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\n\nexport interface CreateTenantStorageOperationsParams {\n entity: Entity<any>;\n}\n\nexport const createTenantStorageOperations = (\n params: CreateTenantStorageOperationsParams\n): PrerenderingServiceTenantStorageOperations => {\n const { entity } = params;\n\n const getTenantIds = async (): Promise<string[]> => {\n const tenants = await queryAll<{ id: string }>({\n entity,\n partitionKey: \"TENANTS\",\n options: {\n index: \"GSI1\",\n gt: \" \"\n }\n });\n\n return cleanupItems(entity, tenants).map(tenant => tenant.id);\n };\n\n return {\n getTenantIds\n };\n};\n"],"mappings":";;;;;;AAEA;AACA;AAMO,MAAMA,6BAA6B,GACtCC,MAA2C,IACE;EAC7C,MAAM;IAAEC;EAAO,CAAC,GAAGD,MAAM;EAEzB,MAAME,YAAY,GAAG,YAA+B;IAChD,MAAMC,OAAO,GAAG,MAAM,IAAAC,eAAQ,EAAiB;MAC3CH,MAAM;MACNI,YAAY,EAAE,SAAS;MACvBC,OAAO,EAAE;QACLC,KAAK,EAAE,MAAM;QACbC,EAAE,EAAE;MACR;IACJ,CAAC,CAAC;IAEF,OAAO,IAAAC,qBAAY,EAACR,MAAM,EAAEE,OAAO,CAAC,CAACO,GAAG,CAACC,MAAM,IAAIA,MAAM,CAACC,EAAE,CAAC;EACjE,CAAC;EAED,OAAO;IACHV;EACJ,CAAC;AACL,CAAC;AAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-prerendering-service-so-ddb",
3
- "version": "5.34.8-beta.1",
3
+ "version": "5.35.0-beta.0",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,9 +17,9 @@
17
17
  "author": "Webiny Ltd",
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@babel/runtime": "7.19.0",
21
- "@webiny/api-prerendering-service": "5.34.8-beta.1",
22
- "@webiny/error": "5.34.8-beta.1",
20
+ "@babel/runtime": "7.20.13",
21
+ "@webiny/api-prerendering-service": "5.35.0-beta.0",
22
+ "@webiny/error": "5.35.0-beta.0",
23
23
  "dynamodb-toolbox": "0.3.5"
24
24
  },
25
25
  "devDependencies": {
@@ -28,11 +28,11 @@
28
28
  "@babel/plugin-proposal-export-default-from": "^7.16.0",
29
29
  "@babel/preset-env": "^7.19.4",
30
30
  "@babel/preset-typescript": "^7.18.6",
31
- "@webiny/cli": "^5.34.8-beta.1",
32
- "@webiny/db": "^5.34.8-beta.1",
33
- "@webiny/db-dynamodb": "^5.34.8-beta.1",
34
- "@webiny/handler-aws": "^5.34.8-beta.1",
35
- "@webiny/project-utils": "^5.34.8-beta.1",
31
+ "@webiny/cli": "^5.35.0-beta.0",
32
+ "@webiny/db": "^5.35.0-beta.0",
33
+ "@webiny/db-dynamodb": "^5.35.0-beta.0",
34
+ "@webiny/handler-aws": "^5.35.0-beta.0",
35
+ "@webiny/project-utils": "^5.35.0-beta.0",
36
36
  "jest-dynalite": "^3.3.1",
37
37
  "jest-environment-node": "^27.3.0",
38
38
  "prettier": "^2.3.2",
@@ -55,5 +55,5 @@
55
55
  ]
56
56
  }
57
57
  },
58
- "gitHead": "6e77eebaac687279fe82ea04f667b7e84214b96a"
58
+ "gitHead": "8acc9e8892842cabb3980ce0b6432fde55968d5b"
59
59
  }
package/types.d.ts CHANGED
@@ -9,7 +9,8 @@ export declare enum ENTITIES {
9
9
  RENDER = "PrerenderingServiceRender",
10
10
  SETTINGS = "PrerenderingServiceSettings",
11
11
  QUEUE_JOB = "PrerenderingServiceQueueJob",
12
- TAG_PATH_LINK = "PrerenderingServiceTagPathLink"
12
+ TAG_PATH_LINK = "PrerenderingServiceTagPathLink",
13
+ TENANT = "Tenant"
13
14
  }
14
15
  export interface PrerenderingServiceFactoryParams {
15
16
  documentClient: DocumentClient;
package/types.js CHANGED
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ENTITIES = void 0;
7
7
  let ENTITIES;
8
8
  exports.ENTITIES = ENTITIES;
9
-
10
9
  (function (ENTITIES) {
11
10
  ENTITIES["RENDER"] = "PrerenderingServiceRender";
12
11
  ENTITIES["SETTINGS"] = "PrerenderingServiceSettings";
13
12
  ENTITIES["QUEUE_JOB"] = "PrerenderingServiceQueueJob";
14
13
  ENTITIES["TAG_PATH_LINK"] = "PrerenderingServiceTagPathLink";
14
+ ENTITIES["TENANT"] = "Tenant";
15
15
  })(ENTITIES || (exports.ENTITIES = ENTITIES = {}));
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ENTITIES"],"sources":["types.ts"],"sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table, Entity } from \"dynamodb-toolbox\";\nimport { DynamoDBTypes, TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\nimport {\n EntityAttributeConfig,\n EntityCompositeAttributes\n} from \"dynamodb-toolbox/dist/classes/Entity\";\nimport { PrerenderingServiceStorageOperations as BasePrerenderingServiceStorageOperations } from \"@webiny/api-prerendering-service/types\";\n\nexport type AttributeDefinition = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;\n\nexport type Attributes = Record<string, AttributeDefinition>;\n\nexport enum ENTITIES {\n RENDER = \"PrerenderingServiceRender\",\n SETTINGS = \"PrerenderingServiceSettings\",\n QUEUE_JOB = \"PrerenderingServiceQueueJob\",\n TAG_PATH_LINK = \"PrerenderingServiceTagPathLink\"\n}\n\nexport interface PrerenderingServiceFactoryParams {\n documentClient: DocumentClient;\n table?: TableModifier;\n attributes?: Record<ENTITIES, Attributes>;\n}\n\nexport type Entities = \"render\" | \"queueJob\" | \"tagPathLink\";\n\nexport interface PrerenderingServiceStorageOperations\n extends BasePrerenderingServiceStorageOperations {\n getTable(): Table;\n getEntities(): Record<Entities, Entity<any>>;\n}\n\nexport interface PrerenderingServiceFactory {\n (params: PrerenderingServiceFactoryParams): PrerenderingServiceStorageOperations;\n}\n\nexport interface TableModifier {\n (table: TableConstructor): TableConstructor;\n}\n\nexport interface DataContainer<T> {\n PK: string;\n SK: string;\n data: T;\n}\n"],"mappings":";;;;;;IAaYA,Q;;;WAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;GAAAA,Q,wBAAAA,Q"}
1
+ {"version":3,"names":["ENTITIES"],"sources":["types.ts"],"sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table, Entity } from \"dynamodb-toolbox\";\nimport { DynamoDBTypes, TableConstructor } from \"dynamodb-toolbox/dist/classes/Table\";\nimport {\n EntityAttributeConfig,\n EntityCompositeAttributes\n} from \"dynamodb-toolbox/dist/classes/Entity\";\nimport { PrerenderingServiceStorageOperations as BasePrerenderingServiceStorageOperations } from \"@webiny/api-prerendering-service/types\";\n\nexport type AttributeDefinition = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;\n\nexport type Attributes = Record<string, AttributeDefinition>;\n\nexport enum ENTITIES {\n RENDER = \"PrerenderingServiceRender\",\n SETTINGS = \"PrerenderingServiceSettings\",\n QUEUE_JOB = \"PrerenderingServiceQueueJob\",\n TAG_PATH_LINK = \"PrerenderingServiceTagPathLink\",\n TENANT = \"Tenant\"\n}\n\nexport interface PrerenderingServiceFactoryParams {\n documentClient: DocumentClient;\n table?: TableModifier;\n attributes?: Record<ENTITIES, Attributes>;\n}\n\nexport type Entities = \"render\" | \"queueJob\" | \"tagPathLink\";\n\nexport interface PrerenderingServiceStorageOperations\n extends BasePrerenderingServiceStorageOperations {\n getTable(): Table;\n getEntities(): Record<Entities, Entity<any>>;\n}\n\nexport interface PrerenderingServiceFactory {\n (params: PrerenderingServiceFactoryParams): PrerenderingServiceStorageOperations;\n}\n\nexport interface TableModifier {\n (table: TableConstructor): TableConstructor;\n}\n\nexport interface DataContainer<T> {\n PK: string;\n SK: string;\n data: T;\n}\n"],"mappings":";;;;;;IAaYA,QAAQ;AAAA;AAAA,WAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,wBAARA,QAAQ"}