From b036b7f726c56f935cfeeefbbee688775909e396 Mon Sep 17 00:00:00 2001
From: Patrizio Bekerle <patrizio.bekerle@tugraz.at>
Date: Fri, 26 Jul 2019 14:00:42 +0200
Subject: [PATCH] Add more api implementation

---
 .../utils.js                                  |  4 ++++
 .../vendor/auth                               |  2 +-
 .../vendor/common                             |  2 +-
 .../vpu-kb-wpe-view-demo.js                   |  2 +-
 .../vpu-kb-wpe-view.js                        | 19 +++++++++++++++++++
 5 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/packages/knowledge-base-web-page-element-view/utils.js b/packages/knowledge-base-web-page-element-view/utils.js
index 34ef2248..d0c0bcf6 100644
--- a/packages/knowledge-base-web-page-element-view/utils.js
+++ b/packages/knowledge-base-web-page-element-view/utils.js
@@ -1,6 +1,10 @@
 const vars = require("./vars");
 
 module.exports = {
+    getAPiUrl: function(path = "", withPrefix = true) {
+        return vars.apiBaseUrl + (withPrefix ? vars.apiUrlPrefix : "") + path;
+    },
+
     /**
      * Reads a setting
      *
diff --git a/packages/knowledge-base-web-page-element-view/vendor/auth b/packages/knowledge-base-web-page-element-view/vendor/auth
index 693af262..c76f617c 160000
--- a/packages/knowledge-base-web-page-element-view/vendor/auth
+++ b/packages/knowledge-base-web-page-element-view/vendor/auth
@@ -1 +1 @@
-Subproject commit 693af26211eecbe79f8c0ce5c22a4e48915af032
+Subproject commit c76f617c689da8b379445e2980e230f3ad3a19c9
diff --git a/packages/knowledge-base-web-page-element-view/vendor/common b/packages/knowledge-base-web-page-element-view/vendor/common
index 45e52fbe..8786f24e 160000
--- a/packages/knowledge-base-web-page-element-view/vendor/common
+++ b/packages/knowledge-base-web-page-element-view/vendor/common
@@ -1 +1 @@
-Subproject commit 45e52fbec09bf05c7e287703fc78b3040af69ac7
+Subproject commit 8786f24eb39e717995747fa291c9fb1c770d4506
diff --git a/packages/knowledge-base-web-page-element-view/vpu-kb-wpe-view-demo.js b/packages/knowledge-base-web-page-element-view/vpu-kb-wpe-view-demo.js
index cfab6c76..cc83b461 100644
--- a/packages/knowledge-base-web-page-element-view/vpu-kb-wpe-view-demo.js
+++ b/packages/knowledge-base-web-page-element-view/vpu-kb-wpe-view-demo.js
@@ -36,7 +36,7 @@ class KnowledgeBaseWebPageElementViewDemo extends LitElement {
                     <vpu-auth lang="${this.lang}" client-id="${utils.setting('keyCloakClientId')}" load-person force-login></vpu-auth>
                 </div>
                 <div class="container">
-                    <vpu-knowledge-base-web-page-element-view lang="${this.lang}"></vpu-knowledge-base-web-page-element-view>
+                    <vpu-knowledge-base-web-page-element-view lang="${this.lang}" value="bedienstete/bibliothek/buch-ausleihen"></vpu-knowledge-base-web-page-element-view>
                 </div>
             </section>
         `;
diff --git a/packages/knowledge-base-web-page-element-view/vpu-kb-wpe-view.js b/packages/knowledge-base-web-page-element-view/vpu-kb-wpe-view.js
index 4abcce0b..696f769d 100644
--- a/packages/knowledge-base-web-page-element-view/vpu-kb-wpe-view.js
+++ b/packages/knowledge-base-web-page-element-view/vpu-kb-wpe-view.js
@@ -2,6 +2,7 @@ import {i18n} from './i18n';
 import {html} from 'lit-element';
 import JSONLD from 'vpu-common/jsonld';
 import VPULitElement from 'vpu-common/vpu-lit-element'
+import utils from "./utils";
 
 /**
  * KnowledgeBaseWebPageElementView web component
@@ -10,6 +11,7 @@ class VPUKnowledgeBaseWebPageElementView extends VPULitElement {
     constructor() {
         super();
         this.lang = 'de';
+        this.value = '';
     }
 
     /**
@@ -18,6 +20,7 @@ class VPUKnowledgeBaseWebPageElementView extends VPULitElement {
     static get properties() {
         return {
             lang: { type: String },
+            value: { type: String },
         };
     }
 
@@ -26,6 +29,22 @@ class VPUKnowledgeBaseWebPageElementView extends VPULitElement {
         i18n.changeLanguage(this.lang);
         const that = this;
 
+        JSONLD.initialize(utils.getAPiUrl(), function (jsonld) {
+            // TODO: there is no entity url without "collectionOperations"
+            const apiUrl = jsonld.getApiUrlForEntityName("KnowledgeBaseWebPageElement") + '/' + that.value;
+            console.log(apiUrl);
+
+            fetch(apiUrl, {
+                headers: {
+                    'Content-Type': 'application/ld+json',
+                    'Authorization': 'Bearer ' + that.token,
+                },
+            })
+                .then(response => response.json())
+                .then((person) => {
+                    console.log(person);
+                });
+        });
 
         this.updateComplete.then(()=>{
         });
-- 
GitLab