From f32534b467fb01b6528384f623b0649992a46c35 Mon Sep 17 00:00:00 2001
From: Patrizio Bekerle <patrizio@bekerle.com>
Date: Tue, 2 Feb 2021 15:30:20 +0100
Subject: [PATCH] Integrate auth property into dbp-person-profile

---
 packages/person-profile/README.md                      | 2 ++
 packages/person-profile/assets/index.html              | 2 +-
 packages/person-profile/src/dbp-person-profile-demo.js | 6 +++---
 packages/person-profile/src/person-profile.js          | 4 +++-
 4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/packages/person-profile/README.md b/packages/person-profile/README.md
index a6486029..6918a023 100644
--- a/packages/person-profile/README.md
+++ b/packages/person-profile/README.md
@@ -21,6 +21,8 @@ npm i @dbp-toolkit/person-profile
     - example `<dbp-person-profile entry-point-url="http://127.0.0.1:8000"></dbp-person-profile>`
 - `value` (optional): api path of person to preload the selector with
     - example `<dbp-person-profile value="/people/testuser"></dbp-person-profile>`
+- `auth` object: you need to set that object property for the auth token
+  - example auth property: `{token: "THE_BEARER_TOKEN"}`
 
 ## Local development
 
diff --git a/packages/person-profile/assets/index.html b/packages/person-profile/assets/index.html
index b5eb49ba..98f59297 100644
--- a/packages/person-profile/assets/index.html
+++ b/packages/person-profile/assets/index.html
@@ -7,6 +7,6 @@
 
 <body>
 
-<dbp-person-profile-demo lang="de" entry-point-url="http://127.0.0.1:8000"></dbp-person-profile-demo>
+<dbp-person-profile-demo auth lang="de" entry-point-url="http://127.0.0.1:8000"></dbp-person-profile-demo>
 </body>
 </html>
diff --git a/packages/person-profile/src/dbp-person-profile-demo.js b/packages/person-profile/src/dbp-person-profile-demo.js
index 4893e59d..9ced45b8 100644
--- a/packages/person-profile/src/dbp-person-profile-demo.js
+++ b/packages/person-profile/src/dbp-person-profile-demo.js
@@ -97,7 +97,7 @@ export class PersonProfileDemo extends ScopedElementsMixin(DBPLitElement) {
                     <h1 class="title">Person-Profile-Demo</h1>
                 </div>
                 <div class="container">
-                    <dbp-person-profile lang="${this.lang}" entry-point-url="${this.entryPointUrl}" value="${this.person}"></dbp-person-profile>
+                    <dbp-person-profile subscribe="auth:auth" lang="${this.lang}" entry-point-url="${this.entryPointUrl}" value="${this.person}"></dbp-person-profile>
                 </div>
             </section>
             <section class="section">
@@ -105,10 +105,10 @@ export class PersonProfileDemo extends ScopedElementsMixin(DBPLitElement) {
                     <h1 class="title">Select-Profile-Demo</h1>
                 </div>
                 <div class="container">
-                    <dbp-person-select lang="${this.lang}" entry-point-url="${this.entryPointUrl}"></dbp-person-select>
+                    <dbp-person-select subscribe="auth:auth" lang="${this.lang}" entry-point-url="${this.entryPointUrl}"></dbp-person-select>
                 </div>
                 <div class="container">
-                    <dbp-person-profile lang="${this.lang}" entry-point-url="${this.entryPointUrl}" value="${this.selectedPerson}"></dbp-person-profile>
+                    <dbp-person-profile subscribe="auth:auth" lang="${this.lang}" entry-point-url="${this.entryPointUrl}" value="${this.selectedPerson}"></dbp-person-profile>
                 </div>
             </section>
         `;
diff --git a/packages/person-profile/src/person-profile.js b/packages/person-profile/src/person-profile.js
index cffea426..8a3fe9c3 100644
--- a/packages/person-profile/src/person-profile.js
+++ b/packages/person-profile/src/person-profile.js
@@ -15,6 +15,7 @@ export class PersonProfile extends DBPLitElement {
         this.jsonld = null;
         this.value = '';
         this.person = null;
+        this.auth = {};
     }
 
     static get properties() {
@@ -24,6 +25,7 @@ export class PersonProfile extends DBPLitElement {
             entryPointUrl: { type: String, attribute: 'entry-point-url' },
             value: { type: String },
             person: { type: Object, attribute: false },
+            auth: { type: Object },
         };
     }
 
@@ -56,7 +58,7 @@ export class PersonProfile extends DBPLitElement {
                         fetch(apiUrl, {
                             headers: {
                                 'Content-Type': 'application/ld+json',
-                                'Authorization': 'Bearer ' + window.DBPAuthToken,
+                                'Authorization': 'Bearer ' + this.auth.token,
                             },
                         })
                             .then(response => response.json())
-- 
GitLab