@webiny/api-prerendering-service-so-ddb 5.17.4 → 5.18.0-beta.3

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.
@@ -44,5 +44,4 @@ const createQueueJobEntity = params => {
44
44
  });
45
45
  };
46
46
 
47
- exports.createQueueJobEntity = createQueueJobEntity;
48
- //# sourceMappingURL=queueJob.js.map
47
+ exports.createQueueJobEntity = createQueueJobEntity;
@@ -53,5 +53,4 @@ const createRenderEntity = params => {
53
53
  });
54
54
  };
55
55
 
56
- exports.createRenderEntity = createRenderEntity;
57
- //# sourceMappingURL=render.js.map
56
+ exports.createRenderEntity = createRenderEntity;
@@ -22,5 +22,4 @@ const createTable = params => {
22
22
  return new _dynamodbToolbox.Table(config);
23
23
  };
24
24
 
25
- exports.createTable = createTable;
26
- //# sourceMappingURL=table.js.map
25
+ exports.createTable = createTable;
@@ -50,5 +50,4 @@ const createTagUrlLinkEntity = params => {
50
50
  });
51
51
  };
52
52
 
53
- exports.createTagUrlLinkEntity = createTagUrlLinkEntity;
54
- //# sourceMappingURL=tagUrlLink.js.map
53
+ exports.createTagUrlLinkEntity = createTagUrlLinkEntity;
package/index.js CHANGED
@@ -86,5 +86,4 @@ const createPrerenderingServiceStorageOperations = params => {
86
86
  }));
87
87
  };
88
88
 
89
- exports.createPrerenderingServiceStorageOperations = createPrerenderingServiceStorageOperations;
90
- //# sourceMappingURL=index.js.map
89
+ exports.createPrerenderingServiceStorageOperations = createPrerenderingServiceStorageOperations;
@@ -58,9 +58,10 @@ const createQueueJobStorageOperations = params => {
58
58
  queueJob
59
59
  });
60
60
  }
61
- };
61
+ }; // eslint-disable-next-line
62
+
62
63
 
63
- const listQueueJobs = async params => {
64
+ const listQueueJobs = async _ => {
64
65
  const queryAllParams = {
65
66
  entity,
66
67
  partitionKey: createQueueJobPartitionKey(),
@@ -111,5 +112,4 @@ const createQueueJobStorageOperations = params => {
111
112
  };
112
113
  };
113
114
 
114
- exports.createQueueJobStorageOperations = createQueueJobStorageOperations;
115
- //# sourceMappingURL=index.js.map
115
+ exports.createQueueJobStorageOperations = createQueueJobStorageOperations;
@@ -333,5 +333,4 @@ const createRenderStorageOperations = params => {
333
333
  };
334
334
  };
335
335
 
336
- exports.createRenderStorageOperations = createRenderStorageOperations;
337
- //# sourceMappingURL=index.js.map
336
+ exports.createRenderStorageOperations = createRenderStorageOperations;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-prerendering-service-so-ddb",
3
- "version": "5.17.4",
3
+ "version": "5.18.0-beta.3",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,8 +18,8 @@
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
20
  "@babel/runtime": "7.16.3",
21
- "@webiny/api-prerendering-service": "5.17.4",
22
- "@webiny/error": "5.17.4",
21
+ "@webiny/api-prerendering-service": "5.18.0-beta.3",
22
+ "@webiny/error": "5.18.0-beta.3",
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.5.2",
29
29
  "@babel/preset-env": "^7.5.5",
30
30
  "@babel/preset-typescript": "^7.8.3",
31
- "@webiny/cli": "^5.17.4",
32
- "@webiny/db": "^5.17.4",
33
- "@webiny/db-dynamodb": "^5.17.4",
34
- "@webiny/handler-aws": "^5.17.4",
35
- "@webiny/project-utils": "^5.17.4",
31
+ "@webiny/cli": "^5.18.0-beta.3",
32
+ "@webiny/db": "^5.18.0-beta.3",
33
+ "@webiny/db-dynamodb": "^5.18.0-beta.3",
34
+ "@webiny/handler-aws": "^5.18.0-beta.3",
35
+ "@webiny/project-utils": "^5.18.0-beta.3",
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": "bdfaa377704bf7f51d73561b4c6129f682bf24d2"
58
+ "gitHead": "9c86670476a62348ce391b091bf768e425ab6ee9"
59
59
  }
package/types.js CHANGED
@@ -11,5 +11,4 @@ exports.ENTITIES = ENTITIES;
11
11
  ENTITIES["RENDER"] = "PrerenderingServiceRender";
12
12
  ENTITIES["QUEUE_JOB"] = "PrerenderingServiceQueueJob";
13
13
  ENTITIES["TAG_URL_LINK"] = "PrerenderingServiceTagUrlLink";
14
- })(ENTITIES || (exports.ENTITIES = ENTITIES = {}));
15
- //# sourceMappingURL=types.js.map
14
+ })(ENTITIES || (exports.ENTITIES = ENTITIES = {}));
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/definitions/queueJob.ts"],"names":["createQueueJobEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","id","args"],"mappings":";;;;;;;;;;;AAAA;;;;;;AASO,MAAMA,oBAAoB,GAAIC,MAAD,IAAiC;AACjE,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAAoCH,MAA1C;AACA,SAAO,IAAII,uBAAJ,CAAW;AACdC,IAAAA,IAAI,EAAEJ,UADQ;AAEdE,IAAAA,KAFc;AAGdD,IAAAA,UAAU;AACNI,MAAAA,EAAE,EAAE;AACAC,QAAAA,YAAY,EAAE;AADd,OADE;AAINC,MAAAA,EAAE,EAAE;AACAC,QAAAA,OAAO,EAAE;AADT,OAJE;AAONC,MAAAA,IAAI,EAAE;AACFC,QAAAA,IAAI,EAAE;AADJ,OAPA;AAUNC,MAAAA,EAAE,EAAE;AACAD,QAAAA,IAAI,EAAE;AADN,OAVE;AAaNE,MAAAA,IAAI,EAAE;AACFF,QAAAA,IAAI,EAAE;AADJ;AAbA,OAgBFT,UAAU,IAAI,EAhBZ;AAHI,GAAX,CAAP;AAsBH,CAxBM","sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface Params {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createQueueJobEntity = (params: Params): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n },\n args: {\n type: \"map\"\n },\n ...(attributes || {})\n }\n });\n};\n"],"file":"queueJob.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/definitions/render.ts"],"names":["createRenderEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","args","configuration","files"],"mappings":";;;;;;;;;;;AAAA;;;;;;AASO,MAAMA,kBAAkB,GAAIC,MAAD,IAAiC;AAC/D,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAAoCH,MAA1C;AACA,SAAO,IAAII,uBAAJ,CAAW;AACdC,IAAAA,IAAI,EAAEJ,UADQ;AAEdE,IAAAA,KAFc;AAGdD,IAAAA,UAAU;AACNI,MAAAA,EAAE,EAAE;AACAC,QAAAA,YAAY,EAAE;AADd,OADE;AAINC,MAAAA,EAAE,EAAE;AACAC,QAAAA,OAAO,EAAE;AADT,OAJE;AAONC,MAAAA,IAAI,EAAE;AACFC,QAAAA,IAAI,EAAE;AADJ,OAPA;AAUNC,MAAAA,SAAS,EAAE;AACPD,QAAAA,IAAI,EAAE;AADC,OAVL;AAaNE,MAAAA,GAAG,EAAE;AACDF,QAAAA,IAAI,EAAE;AADL,OAbC;AAgBNG,MAAAA,IAAI,EAAE;AACFH,QAAAA,IAAI,EAAE;AADJ,OAhBA;AAmBNI,MAAAA,aAAa,EAAE;AACXJ,QAAAA,IAAI,EAAE;AADK,OAnBT;AAsBNK,MAAAA,KAAK,EAAE;AACHL,QAAAA,IAAI,EAAE;AADH;AAtBD,OAyBFT,UAAU,IAAI,EAzBZ;AAHI,GAAX,CAAP;AA+BH,CAjCM","sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface Params {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createRenderEntity = (params: Params): Entity<any> => {\n const { entityName, attributes, table } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n 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"],"file":"render.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/definitions/table.ts"],"names":["createTable","params","table","documentClient","tableConfig","name","process","env","DB_TABLE_PRERENDERING_SERVICE","DB_TABLE","partitionKey","sortKey","DocumentClient","config","Table"],"mappings":";;;;;;;AACA;;AAQO,MAAMA,WAAW,GAAIC,MAAD,IAA2B;AAClD,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAA4BF,MAAlC;AAEA,QAAMG,WAAW,GAAG;AAChBC,IAAAA,IAAI,EAAEC,OAAO,CAACC,GAAR,CAAYC,6BAAZ,IAA6CF,OAAO,CAACC,GAAR,CAAYE,QAD/C;AAEhBC,IAAAA,YAAY,EAAE,IAFE;AAGhBC,IAAAA,OAAO,EAAE,IAHO;AAIhBC,IAAAA,cAAc,EAAET;AAJA,GAApB;AAOA,QAAMU,MAAM,GAAG,OAAOX,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,CAACE,WAAD,CAAnC,GAAmDA,WAAlE;AAEA,SAAO,IAAIU,sBAAJ,CAAUD,MAAV,CAAP;AACH,CAbM","sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table } from \"dynamodb-toolbox\";\nimport { TableModifier } from \"~/types\";\n\nexport interface Params {\n table?: TableModifier;\n documentClient: DocumentClient;\n}\n\nexport const createTable = (params: Params): Table => {\n const { table, documentClient } = params;\n\n const tableConfig = {\n name: process.env.DB_TABLE_PRERENDERING_SERVICE || process.env.DB_TABLE,\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient\n };\n\n const config = typeof table === \"function\" ? table(tableConfig) : tableConfig;\n\n return new Table(config);\n};\n"],"file":"table.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/definitions/tagUrlLink.ts"],"names":["createTagUrlLinkEntity","params","entityName","attributes","table","Entity","name","PK","partitionKey","SK","sortKey","TYPE","type","namespace","url","value","key"],"mappings":";;;;;;;;;;;AAAA;;;;;;AASO,MAAMA,sBAAsB,GAAIC,MAAD,IAAoB;AACtD,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAAoCH,MAA1C;AACA,SAAO,IAAII,uBAAJ,CAAW;AACdC,IAAAA,IAAI,EAAEJ,UADQ;AAEdE,IAAAA,KAFc;AAGdD,IAAAA,UAAU;AACNI,MAAAA,EAAE,EAAE;AACAC,QAAAA,YAAY,EAAE;AADd,OADE;AAINC,MAAAA,EAAE,EAAE;AACAC,QAAAA,OAAO,EAAE;AADT,OAJE;AAONC,MAAAA,IAAI,EAAE;AACFC,QAAAA,IAAI,EAAE;AADJ,OAPA;AAUNC,MAAAA,SAAS,EAAE;AACPD,QAAAA,IAAI,EAAE;AADC,OAVL;AAaNE,MAAAA,GAAG,EAAE;AACDF,QAAAA,IAAI,EAAE;AADL,OAbC;AAgBNG,MAAAA,KAAK,EAAE;AACHH,QAAAA,IAAI,EAAE;AADH,OAhBD;AAmBNI,MAAAA,GAAG,EAAE;AACDJ,QAAAA,IAAI,EAAE;AADL;AAnBC,OAsBFT,UAAU,IAAI,EAtBZ;AAHI,GAAX,CAAP;AA4BH,CA9BM","sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { Attributes } from \"~/types\";\n\nexport interface Params {\n table: Table;\n entityName: string;\n attributes: Attributes;\n}\n\nexport const createTagUrlLinkEntity = (params: Params) => {\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"],"file":"tagUrlLink.js"}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["reservedFields","isReserved","name","includes","WebinyError","createPrerenderingServiceStorageOperations","params","attributes","table","documentClient","Object","values","forEach","attrs","keys","tableInstance","entities","render","entityName","ENTITIES","RENDER","queueJob","QUEUE_JOB","tagUrlLink","TAG_URL_LINK","getTable","getEntities","entity","tagUrlLinkEntity"],"mappings":";;;;;;;;;;;AAAA;;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;AACvC,MAAIF,cAAc,CAACG,QAAf,CAAwBD,IAAxB,MAAkC,KAAtC,EAA6C;AACzC;AACH;;AACD,QAAM,IAAIE,cAAJ,CAAiB,mBAAkBF,IAAK,mBAAxC,EAA4D,uBAA5D,EAAqF;AACvFA,IAAAA;AADuF,GAArF,CAAN;AAGH,CAPD;;AASO,MAAMG,0CAAsE,GAC/EC,MADkF,IAEjF;AACD,QAAM;AAAEC,IAAAA,UAAU,GAAG,EAAf;AAAmBC,IAAAA,KAAnB;AAA0BC,IAAAA;AAA1B,MAA6CH,MAAnD;;AAEA,MAAIC,UAAJ,EAAgB;AACZG,IAAAA,MAAM,CAACC,MAAP,CAAcJ,UAAd,EAA0BK,OAA1B,CAAkCC,KAAK,IAAI;AACvCH,MAAAA,MAAM,CAACI,IAAP,CAAYD,KAAZ,EAAmBD,OAAnB,CAA2BX,UAA3B;AACH,KAFD;AAGH;;AAED,QAAMc,aAAa,GAAG,wBAAY;AAAEP,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAZ,CAAtB;AAEA,QAAMO,QAAQ,GAAG;AACbC,IAAAA,MAAM,EAAE,gCAAmB;AACvBC,MAAAA,UAAU,EAAEC,gBAASC,MADE;AAEvBZ,MAAAA,KAAK,EAAEO,aAFgB;AAGvBR,MAAAA,UAAU,EAAEA,UAAU,CAACY,gBAASC,MAAV;AAHC,KAAnB,CADK;AAMbC,IAAAA,QAAQ,EAAE,oCAAqB;AAC3BH,MAAAA,UAAU,EAAEC,gBAASG,SADM;AAE3Bd,MAAAA,KAAK,EAAEO,aAFoB;AAG3BR,MAAAA,UAAU,EAAEA,UAAU,CAACY,gBAASG,SAAV;AAHK,KAArB,CANG;AAWbC,IAAAA,UAAU,EAAE,wCAAuB;AAC/BL,MAAAA,UAAU,EAAEC,gBAASK,YADU;AAE/BhB,MAAAA,KAAK,EAAEO,aAFwB;AAG/BR,MAAAA,UAAU,EAAEA,UAAU,CAACY,gBAASK,YAAV;AAHS,KAAvB;AAXC,GAAjB;AAkBA;AACIC,IAAAA,QAAQ,EAAE,MAAMV,aADpB;AAEIW,IAAAA,WAAW,EAAE,MAAMV;AAFvB,KAGO,4CAA8B;AAC7BW,IAAAA,MAAM,EAAEX,QAAQ,CAACC,MADY;AAE7BW,IAAAA,gBAAgB,EAAEZ,QAAQ,CAACO;AAFE,GAA9B,CAHP,GAOO,gDAAgC;AAC/BI,IAAAA,MAAM,EAAEX,QAAQ,CAACK;AADc,GAAhC,CAPP;AAWH,CA1CM","sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ENTITIES, PrerenderingServiceFactory, PrerenderingServiceFactoryParams } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createRenderEntity } from \"~/definitions/render\";\nimport { createQueueJobEntity } from \"~/definitions/queueJob\";\nimport { createRenderStorageOperations } from \"~/operations/render\";\nimport { createQueueJobStorageOperations } from \"~/operations/queueJob\";\nimport { createTagUrlLinkEntity } from \"~/definitions/tagUrlLink\";\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[ENTITIES.RENDER]\n }),\n queueJob: createQueueJobEntity({\n entityName: ENTITIES.QUEUE_JOB,\n table: tableInstance,\n attributes: attributes[ENTITIES.QUEUE_JOB]\n }),\n tagUrlLink: createTagUrlLinkEntity({\n entityName: ENTITIES.TAG_URL_LINK,\n table: tableInstance,\n attributes: attributes[ENTITIES.TAG_URL_LINK]\n })\n };\n\n return {\n getTable: () => tableInstance,\n getEntities: () => entities,\n ...createRenderStorageOperations({\n entity: entities.render,\n tagUrlLinkEntity: entities.tagUrlLink\n }),\n ...createQueueJobStorageOperations({\n entity: entities.queueJob\n })\n };\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/operations/queueJob/index.ts"],"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","deleteQueueJobs","queueJobs","items","map","job","deleteBatch","table"],"mappings":";;;;;;;;;;;AAAA;;AASA;;AACA;;AACA;;;;;;AAMO,MAAMA,+BAA+B,GACxCC,MAD2C,IAEI;AAC/C,QAAM;AAAEC,IAAAA;AAAF,MAAaD,MAAnB;;AAEA,QAAME,0BAA0B,GAAG,MAAc;AAC7C,WAAO,UAAP;AACH,GAFD;;AAGA,QAAMC,qBAAqB,GAAIC,EAAD,IAAwB;AAClD,WAAOA,EAAP;AACH,GAFD;;AAIA,QAAMC,kBAAkB,GAAG,MAAM;AAC7B,WAAO,cAAP;AACH,GAFD;;AAIA,QAAMC,cAAc,GAAG,MACnBN,MADmB,IAEC;AACpB,UAAM;AAAEO,MAAAA;AAAF,QAAeP,MAArB;AACA,UAAMQ,IAAI,GAAG;AACTC,MAAAA,EAAE,EAAEP,0BAA0B,EADrB;AAETQ,MAAAA,EAAE,EAAEP,qBAAqB,CAACI,QAAQ,CAACH,EAAV;AAFhB,KAAb;;AAKA,QAAI;AACA,YAAMH,MAAM,CAACU,GAAP,+CACCJ,QADD,GAECC,IAFD;AAGFI,QAAAA,IAAI,EAAEP,kBAAkB;AAHtB,SAAN;AAKA,aAAOE,QAAP;AACH,KAPD,CAOE,OAAOM,EAAP,EAAW;AACT,YAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,iCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,qBAFT,EAGF;AACIR,QAAAA,IADJ;AAEID,QAAAA;AAFJ,OAHE,CAAN;AAQH;AACJ,GA1BD;;AA4BA,QAAMU,aAAa,GAAG,MAElBjB,MAFkB,IAGjB;AACD,UAAMkB,cAA8B,GAAG;AACnCjB,MAAAA,MADmC;AAEnCkB,MAAAA,YAAY,EAAEjB,0BAA0B,EAFL;AAGnCkB,MAAAA,OAAO,EAAE;AACLC,QAAAA,GAAG,EAAE;AADA;AAH0B,KAAvC;;AAQA,QAAI;AACA,YAAMC,OAAO,GAAG,MAAM,qBAAmBJ,cAAnB,CAAtB;AAEA,aAAO,2BAAajB,MAAb,EAAqBqB,OAArB,CAAP;AACH,KAJD,CAIE,OAAOT,EAAP,EAAW;AACT,YAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,oCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,uBAFT,EAGF;AACIG,QAAAA,YAAY,EAAED,cAAc,CAACC,YADjC;AAEIC,QAAAA,OAAO,EAAEF,cAAc,CAACE;AAF5B,OAHE,CAAN;AAQH;AACJ,GA1BD;;AA4BA,QAAMG,eAAe,GAAG,MACpBvB,MADoB,IAEnB;AACD,UAAM;AAAEwB,MAAAA;AAAF,QAAgBxB,MAAtB;AAEA,UAAMyB,KAAK,GAAGD,SAAS,CAACE,GAAV,CAAcC,GAAG,IAAI;AAC/B,aAAO1B,MAAM,CAAC2B,WAAP,CAAmB;AACtBnB,QAAAA,EAAE,EAAEP,0BAA0B,EADR;AAEtBQ,QAAAA,EAAE,EAAEP,qBAAqB,CAACwB,GAAG,CAACvB,EAAL;AAFH,OAAnB,CAAP;AAIH,KALa,CAAd;;AAOA,QAAI;AACA,YAAM,+BAAc;AAChByB,QAAAA,KAAK,EAAE5B,MAAM,CAAC4B,KADE;AAEhBJ,QAAAA;AAFgB,OAAd,CAAN;AAIA,aAAOD,SAAP;AACH,KAND,CAME,OAAOX,EAAP,EAAW;AACT,YAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IAAc,sCADZ,EAEFF,EAAE,CAACG,IAAH,IAAW,yBAFT,EAGF;AACIQ,QAAAA;AADJ,OAHE,CAAN;AAOH;AACJ,GA3BD;;AA6BA,SAAO;AACHlB,IAAAA,cADG;AAEHiB,IAAAA,eAFG;AAGHN,IAAAA;AAHG,GAAP;AAKH,CA1GM","sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceQueueJobStorageOperations,\n PrerenderingServiceStorageOperationsCreateQueueJobParams,\n PrerenderingServiceStorageOperationsDeleteQueueJobsParams,\n PrerenderingServiceStorageOperationsListQueueJobsParams,\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 Params {\n entity: Entity<any>;\n}\n\nexport const createQueueJobStorageOperations = (\n params: Params\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 // eslint-disable-next-line\n params: PrerenderingServiceStorageOperationsListQueueJobsParams\n ) => {\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"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/operations/render/index.ts"],"names":["createRenderStorageOperations","params","entity","tagUrlLinkEntity","createRenderPartitionKey","namespace","startsWith","replace","createRenderSortKey","url","createRenderType","createTagUrlLinkPartitionKey","tag","key","createTagUrlLinkSortKey","values","value","push","join","createTagUrlLinkType","getRender","where","keys","PK","SK","result","ex","WebinyError","message","code","createRender","render","put","TYPE","deleteRender","delete","listRendersByTag","links","listTagUrlLinks","items","map","link","getBatch","results","table","listRenders","queryAllParams","partitionKey","options","gte","createTagUrlLinks","tagUrlLinks","item","putBatch","deleteTagUrlLinks","tags","deleteBatch","beginsWith"],"mappings":"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","sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n PrerenderingServiceRenderStorageOperations,\n PrerenderingServiceStorageOperationsCreateRenderParams,\n PrerenderingServiceStorageOperationsCreateTagUrlLinksParams,\n PrerenderingServiceStorageOperationsDeleteRenderParams,\n PrerenderingServiceStorageOperationsDeleteTagUrlLinksParams,\n PrerenderingServiceStorageOperationsGetRenderParams,\n PrerenderingServiceStorageOperationsListRendersParams,\n PrerenderingServiceStorageOperationsListTagUrlLinksParams,\n Render,\n TagUrlLink\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/queue/add/types\";\nimport { cleanupItem, cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\n\nexport interface Params {\n entity: Entity<any>;\n tagUrlLinkEntity: Entity<any>;\n}\n\nexport interface CreateTagUrlLinkPartitionKeyParams {\n namespace: string;\n tag: Pick<Tag, \"key\">;\n}\n\nexport interface CreateTagUrlLinkSortKeyParams {\n tag: Tag;\n url?: string;\n}\n\nexport const createRenderStorageOperations = (\n params: Params\n): PrerenderingServiceRenderStorageOperations => {\n const { entity, tagUrlLinkEntity } = params;\n\n const createRenderPartitionKey = (namespace: string): string => {\n /**\n * For backwards compatibility remove the T# if it exists.\n */\n if (namespace.startsWith(\"T#\")) {\n namespace = namespace.replace(/^T#/, \"\");\n }\n return `T#${namespace}#PS#RENDER`;\n };\n\n const createRenderSortKey = (url: string): string => {\n return url;\n };\n\n const createRenderType = (): string => {\n return \"ps.render\";\n };\n\n const createTagUrlLinkPartitionKey = (params: CreateTagUrlLinkPartitionKeyParams): string => {\n const { tag } = params;\n let { namespace } = params;\n if (namespace.startsWith(\"T#\")) {\n namespace = namespace.replace(/^T#/, \"\");\n }\n return `T#${namespace}#PS#TAG#${tag.key}`;\n };\n\n const createTagUrlLinkSortKey = (params: CreateTagUrlLinkSortKeyParams): string => {\n const { tag, url } = params;\n const values = [tag.value];\n if (url) {\n values.push(url);\n }\n return values.join(\"#\");\n };\n\n const createTagUrlLinkType = (): string => {\n return \"ps.tagUrlLink\";\n };\n\n const getRender = async (params: PrerenderingServiceStorageOperationsGetRenderParams) => {\n const { where } = params;\n\n const keys = {\n PK: createRenderPartitionKey(where.namespace),\n SK: createRenderSortKey(where.url)\n };\n\n try {\n const result = await get<Render>({\n entity,\n keys\n });\n return cleanupItem(entity, result);\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.namespace),\n SK: createRenderSortKey(render.url)\n };\n\n try {\n await entity.put({\n ...render,\n ...keys,\n TYPE: createRenderType()\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.namespace),\n SK: createRenderSortKey(render.url)\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 { namespace, 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 listTagUrlLinks({\n where: {\n namespace,\n tag\n }\n });\n\n const items = links.map(link => {\n return entity.getBatch({\n PK: createRenderPartitionKey(namespace),\n SK: createRenderSortKey(link.url)\n });\n });\n try {\n const results = await batchReadAll<Render>({\n table: entity.table,\n items\n });\n return cleanupItems(entity, results);\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 { namespace, tag } = where;\n\n if (tag) {\n return listRendersByTag(params);\n }\n\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createRenderPartitionKey(namespace),\n options: {\n gte: \" \"\n }\n };\n\n try {\n const results = await queryAll<Render>(queryAllParams);\n\n return cleanupItems(entity, results);\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 createTagUrlLinks = async (\n params: PrerenderingServiceStorageOperationsCreateTagUrlLinksParams\n ) => {\n const { tagUrlLinks } = params;\n\n const items = tagUrlLinks.map(item => {\n return tagUrlLinkEntity.putBatch({\n ...item,\n TYPE: createTagUrlLinkType(),\n PK: createTagUrlLinkPartitionKey({\n namespace: item.namespace,\n tag: item\n }),\n SK: createTagUrlLinkSortKey({\n tag: item,\n url: item.url\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagUrlLinkEntity.table,\n items\n });\n return tagUrlLinks;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create tagUrlLink records.\",\n ex.code || \"CREATE_URL_TAG_LINKS_ERROR\",\n {\n tagUrlLinks\n }\n );\n }\n };\n\n const deleteTagUrlLinks = async (\n params: PrerenderingServiceStorageOperationsDeleteTagUrlLinksParams\n ): Promise<void> => {\n const { namespace, tags, url } = params;\n const items = tags.map(tag => {\n return tagUrlLinkEntity.deleteBatch({\n PK: createTagUrlLinkPartitionKey({\n tag,\n namespace\n }),\n SK: createTagUrlLinkSortKey({\n tag,\n url\n })\n });\n });\n\n try {\n await batchWriteAll({\n table: tagUrlLinkEntity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete tagUrlLink records.\",\n ex.code || \"DELETE_URL_TAG_LINKS_ERROR\",\n {\n tags,\n namespace,\n url\n }\n );\n }\n };\n\n const listTagUrlLinks = async (\n params: PrerenderingServiceStorageOperationsListTagUrlLinksParams\n ) => {\n const { where } = params;\n const { namespace, tag } = where;\n\n const partitionKey = createTagUrlLinkPartitionKey({\n namespace,\n tag\n });\n\n const options: DynamoDBToolboxQueryOptions = {};\n if (tag.value) {\n options.beginsWith = `${tag.value}#`;\n } else {\n options.gte = \" \";\n }\n\n const queryAllParams: QueryAllParams = {\n entity: tagUrlLinkEntity,\n partitionKey,\n options\n };\n\n try {\n const results = await queryAll<TagUrlLink>(queryAllParams);\n\n return cleanupItems(tagUrlLinkEntity, results);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list tagUrlLink records.\",\n ex.code || \"LIST_TAG_URL_LINK_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n };\n\n return {\n createRender,\n deleteRender,\n listRenders,\n getRender,\n createTagUrlLinks,\n deleteTagUrlLinks,\n listTagUrlLinks\n };\n};\n"],"file":"index.js"}
package/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":["ENTITIES"],"mappings":";;;;;;IAaYA,Q;;;WAAAA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;GAAAA,Q,wBAAAA,Q","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 QUEUE_JOB = \"PrerenderingServiceQueueJob\",\n TAG_URL_LINK = \"PrerenderingServiceTagUrlLink\"\n}\n\nexport interface PrerenderingServiceFactoryParams {\n documentClient: DocumentClient;\n table?: TableModifier;\n attributes?: Record<ENTITIES, Attributes>;\n}\n\nexport type Entities = \"render\" | \"queueJob\" | \"tagUrlLink\";\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"],"file":"types.js"}