dbm-graph-api 1.1.34 → 1.1.35

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dbm-graph-api",
3
- "version": "1.1.34",
3
+ "version": "1.1.35",
4
4
  "main": "index.js",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "@aws-sdk/client-s3": "^3.741.0",
15
15
  "@aws-sdk/s3-request-presigner": "^3.741.0",
16
- "dbm": "^1.2.3",
16
+ "dbm": "^1.2.5",
17
17
  "mime": "^4.0.6",
18
18
  "sharp": "^0.33.5",
19
19
  "ws": "^8.18.0"
@@ -294,6 +294,8 @@ let fullProcessActionSetup = function() {
294
294
  registerProcessActionFunction("handleFormSubmission", new DbmGraphApi.processAction.HandleFormSubmission());
295
295
 
296
296
  registerProcessActionFunction("pageUpdates/updateCategoryListing", new DbmGraphApi.processAction.pageUpdates.UpdateCategoryListing());
297
+ registerProcessActionFunction("pageUpdates/updateRenderedContent", new DbmGraphApi.processAction.pageUpdates.UpdateRenderedContent());
298
+ registerProcessActionFunction("pageUpdates/clearCache", new DbmGraphApi.processAction.pageUpdates.ClearCloudflareCache());
297
299
  }
298
300
 
299
301
  export {fullProcessActionSetup};
@@ -868,16 +870,34 @@ export const setupSite = function(aServer) {
868
870
  <meta property="article:publisher" content="https://sv-se.facebook.com/..." />
869
871
  */
870
872
 
873
+
874
+ let renderedContent = "";
875
+
876
+ if(fields["renderedPageContent"]) {
877
+ renderedContent = fields["renderedPageContent"];
878
+ }
879
+
880
+ let renderedContentHolder = "";
881
+ if(renderedContent) {
882
+ renderedContentHolder = `<div id="preRenderContent">${renderedContent}</div>`;
883
+ }
884
+
885
+ let moduleData = {};
886
+ //METODO: add page data
887
+ let endodedModuleData = JSON.stringify(moduleData);
888
+
871
889
  returnString += ` </head>
872
890
  <body>
873
- <div id="site"></div>
891
+ <div id="site">
892
+ ${renderedContentHolder}
893
+ </div>
874
894
  <script>
875
895
  (function(d,b,m,j,s){
876
896
  d[m] = d[m] || {}; d[m][j] = d[m][j] || {_: [], create: function(element, moduleName, data) {return this._.push({element, moduleName, data});}, remove: function(id) {this._[id-1] = null;}};
877
897
  let e = b.createElement("script"); e.async = true; e.src = s; b.head.appendChild(e);
878
898
  })(window, document, "dbmstartup", "modules", "${assetsUri}js/${loader}");
879
899
 
880
- dbmstartup.modules.create(document.getElementById("site"), "${moduleName}", {});
900
+ dbmstartup.modules.create(document.getElementById("site"), "${moduleName}", ${endodedModuleData});
881
901
  </script>
882
902
  </body>
883
903
  </html>`;
@@ -0,0 +1,46 @@
1
+ import Dbm from "dbm";
2
+
3
+ export default class ClearCloudflareCache extends Dbm.core.BaseObject {
4
+ _construct() {
5
+ super._construct();
6
+ }
7
+
8
+ async process(aAction) {
9
+ console.log("ClearCloudflareCache:process");
10
+ //console.log(aAction);
11
+
12
+ let database = Dbm.getInstance().repository.getItem("graphDatabase").controller;
13
+ let page = await aAction.singleObjectRelationQuery("out:from:page");
14
+
15
+ let cloudflare = Dbm.getInstance().repository.getItem("cloudflare");
16
+ let url = await page.getUrl();
17
+
18
+ if(cloudflare.domain && cloudflare.zone) {
19
+ let fullUrl = cloudflare.domain + url;
20
+
21
+ let requestUrl = "https://api.cloudflare.com/client/v4/zones/" + cloudflare.zone + "/purge_cache";
22
+
23
+ let body = {
24
+ "files": [fullUrl]
25
+ }
26
+
27
+ let headers = {
28
+ "Content-Type": "application/json",
29
+ 'Authorization': 'Bearer ' + cloudflare.cacheToken
30
+ }
31
+
32
+ let response = await fetch(requestUrl, {
33
+ method: "DELETE",
34
+ headers: headers,
35
+ body: JSON.stringify(body),
36
+ });
37
+
38
+ let data = await response.json();
39
+ }
40
+ else {
41
+ //METODO: report error log
42
+ }
43
+
44
+
45
+ }
46
+ }
@@ -0,0 +1,47 @@
1
+ import Dbm from "dbm";
2
+
3
+ export default class UpdateRenderedContent extends Dbm.core.BaseObject {
4
+ _construct() {
5
+ super._construct();
6
+ }
7
+
8
+ async process(aAction) {
9
+ console.log("UpdateRenderedContent:process");
10
+ //console.log(aAction);
11
+
12
+ let database = Dbm.getInstance().repository.getItem("graphDatabase").controller;
13
+ let page = await aAction.singleObjectRelationQuery("out:from:page");
14
+
15
+ let webcrawler = Dbm.getInstance().repository.getItem("webcrawler");
16
+
17
+ if(webcrawler.domain && webcrawler.renderPageUrl) {
18
+ let url = await page.getUrl();
19
+
20
+ let fullUrl = webcrawler.domain + url;
21
+
22
+ let body = {
23
+ "url": fullUrl,
24
+ "key": webcrawler.key
25
+ }
26
+
27
+ let headers = {
28
+ "Content-Type": "application/json",
29
+ }
30
+
31
+ let response = await fetch(webcrawler.renderPageUrl, {
32
+ method: "POST",
33
+ headers: headers,
34
+ body: JSON.stringify(body),
35
+ });
36
+
37
+ let data = await response.json();
38
+
39
+ let renderedContent = Dbm.objectPath(data, "data.html");
40
+ await page.updateField("renderedPageContent", renderedContent);
41
+
42
+ await database.addActionToProcess("pageUpdates/clearCache", [page]);
43
+ }
44
+
45
+
46
+ }
47
+ }
@@ -1 +1,3 @@
1
- export {default as UpdateCategoryListing} from "./UpdateCategoryListing.js";
1
+ export {default as UpdateCategoryListing} from "./UpdateCategoryListing.js";
2
+ export {default as UpdateRenderedContent} from "./UpdateRenderedContent.js";
3
+ export {default as ClearCloudflareCache} from "./ClearCloudflareCache.js";