fix register_user_dlt when there are more than one user
This commit is contained in:
parent
e5dbb09025
commit
39f0300a28
|
@ -1,4 +1,5 @@
|
||||||
import json
|
import json
|
||||||
|
import requests
|
||||||
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
@ -11,7 +12,7 @@ from ereuse_devicehub.modules.dpp.utils import encrypt
|
||||||
|
|
||||||
|
|
||||||
class RegisterUserDlt:
|
class RegisterUserDlt:
|
||||||
# "Operator", "Verifier" or "Witness"
|
# "operator", "verifier" or "witness"
|
||||||
|
|
||||||
def __init__(self, app) -> None:
|
def __init__(self, app) -> None:
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
@ -27,7 +28,7 @@ class RegisterUserDlt:
|
||||||
for d in dataset:
|
for d in dataset:
|
||||||
self.add_user(d)
|
self.add_user(d)
|
||||||
|
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
def add_user(self, data):
|
def add_user(self, data):
|
||||||
email = data.get("email")
|
email = data.get("email")
|
||||||
|
@ -59,18 +60,28 @@ class RegisterUserDlt:
|
||||||
|
|
||||||
roles = []
|
roles = []
|
||||||
try:
|
try:
|
||||||
# TODO Not works
|
abac_tk = app.config.get('ABAC_TOKEN')
|
||||||
with app.app_context():
|
domain = app.config.get('ABAC_URL')
|
||||||
ses = g.get('session', None)
|
eth_pub_key = eth_pub_key
|
||||||
ses["eth_pub_key"] = eth_pub_key
|
|
||||||
attributes = user.get_abac_attributes()
|
header = {
|
||||||
for c in attributes:
|
'Authorization': f'Bearer {abac_tk}',
|
||||||
if 'role' in c.get('attributeURI'):
|
}
|
||||||
roles.append(c.get('attributeValue'))
|
url = f'{domain}{eth_pub_key}/attributes'
|
||||||
|
r = requests.get(url, headers=header)
|
||||||
|
attributes = {}
|
||||||
|
for j in r.json():
|
||||||
|
k = j.get('attributeURI', '').split('/')[-1].split("#")[-1]
|
||||||
|
v = j.get('attributeValue', '').strip()
|
||||||
|
if not (k and v):
|
||||||
|
continue
|
||||||
|
attributes[k] = v
|
||||||
|
|
||||||
|
if attributes.get('role'):
|
||||||
|
roles.append(attributes.get('role'))
|
||||||
except Exception:
|
except Exception:
|
||||||
roles = ["Operator"]
|
roles = ["operator"]
|
||||||
|
|
||||||
user.rols_dlt = json.dumps(roles)
|
user.rols_dlt = json.dumps(roles)
|
||||||
|
|
||||||
# if not user.id:
|
|
||||||
db.session.add(user)
|
db.session.add(user)
|
||||||
|
|
Reference in New Issue