Skip to content
Snippets Groups Projects
Commit b4a637c3 authored by Iturraspe Barturen, Urtza's avatar Iturraspe Barturen, Urtza
Browse files

Changes for create resources in EDC

parent c1307a16
Branches
No related tags found
No related merge requests found
......@@ -32,6 +32,7 @@ from app.utils.create_asset import invoke_create_asset
from app.utils.create_policy import invoke_create_policy, checkPolicyId
from app.utils.create_contract_definition import invoke_create_contract_definition
logger = logging.getLogger("uvicorn.error")
def load_asset_edc(body:DataProductResourcesModel, dataResouceAPi_URL:str):
......@@ -40,17 +41,19 @@ def load_asset_edc(body:DataProductResourcesModel, dataResouceAPi_URL:str):
# asset_id = asset_id.replace(os.getenv("DOMAIN_PART"),"")
# Create asset
#get policy metadata
print(body.dataProductPolicy)
policyData=body.dataProductPolicy
print(policyData)
policyData=policyData.replace("'", "\"")
print(policyData)
#get the policyId
policy_json = json.loads(policyData)
policy_id=policy_json["@id"]
print(policy_id)
# check new data type
print(type(policy_json))
for dataresource in body.dataResources:
formatType = body.dataAccount[0].formatType
if dataresource.dataResourceInfo is not None:
......@@ -74,6 +77,7 @@ def load_asset_edc(body:DataProductResourcesModel, dataResouceAPi_URL:str):
contract_id = "contract-"+policy_id+"-"+str(contract_uuid) #os.getenv("CONTRACT_ID")
policyExist = checkPolicyId(policy_id, header_authorization)
if not policyExist:
#create_policy_response = invoke_create_policy(policy_id, header_authorization)
create_policy_response = invoke_create_policy(policyData, header_authorization)
print (json.loads(create_policy_response.text))
......
......@@ -27,6 +27,8 @@ import json
import requests
logger = logging.getLogger("uvicorn.error")
def invoke_create_asset(dataProductId: str, dataProductName: str, dataProductFormatType: str,
dataProductDescription: str, openAPI: str, header_authorization: str):
#provider_host = os.getenv("PROVIDER_HOST")
......@@ -49,6 +51,7 @@ def invoke_create_asset(dataProductId: str, dataProductName: str, dataProductFor
'Content-Type': 'application/json'
}"""
print (type(payload))
response = requests.request("POST", url, headers=headers, data=payload)
print(f"Create asset response={response.text}")
......
......@@ -27,6 +27,9 @@ import requests
logger = logging.getLogger("uvicorn.error")
def invoke_create_contract_definition(contract_id, policy_id, asset_id, header_authorization):
......
......@@ -25,6 +25,8 @@ import json
import os
import requests
logger = logging.getLogger("uvicorn.error")
def checkPolicyId(policy_id, header_authorization):
#provider_host = os.getenv("PROVIDER_HOST")
......@@ -88,22 +90,12 @@ def invoke_create_policy(policy_id, header_authorization):
"""
def invoke_create_policy(policy_data, header_authorization):
#provider_host = os.getenv("PROVIDER_HOST", "ekodata2.tri.lan")
#provider_management_port = os.getenv("PROVIDER_MANAGEMENT_PORT", "9193")
#provider_host_port = os.getenv("PROVIDER_HOST_PORT")
#url = f"http://{provider_host}:{provider_management_port}/management/v3/policydefinitions"
# url = f"https://{provider_host_port}/management/v3/policydefinitions"
provider_management_url = os.getenv("PROVIDER_MANAGEMENT_URL")
url = f"{provider_management_url}/policydefinitions"
#payload = json.dumps(policy_data)
headers = {
'Content-Type': 'application/json',
'X-API-Key': header_authorization
......@@ -111,7 +103,9 @@ def invoke_create_policy(policy_data, header_authorization):
"""headers = {
'Content-Type': 'application/json'
}"""
response = requests.request("POST", url, headers=headers, data=policy_data)
# response = requests.request("POST", url, headers=headers, data=payload)
print(f"Create policy response={response.text}")
return response
......@@ -194,21 +188,7 @@ def generate_policy_metadata_time(policy_id, policy_time_interval, policy_time_i
def generate_policy_metadata_without_restrictions(policy_id):
policy_metadata = {
"@context": {
"@vocab": "https://w3id.org/edc/v0.0.1/ns/"
},
"@id": policy_id,
"@type": "edc:PolicyDefinition",
"policy": {
"@context": "http://www.w3.org/ns/odrl.jsonld",
"@type": "Set",
"permission": [],
"prohibition": [],
"obligation": []
}
}
# edc 0.3.1
policy_metadata = {
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/",
......@@ -223,5 +203,6 @@ def generate_policy_metadata_without_restrictions(policy_id):
"odrl:obligation": []
}
}
print (type(policy_metadata))
return policy_metadata
......@@ -32,6 +32,7 @@ from app.utils.create_asset import invoke_create_asset
from app.utils.create_policy import invoke_create_policy, checkPolicyId
from app.utils.create_contract_definition import invoke_create_contract_definition
logger = logging.getLogger("uvicorn.error")
def load_asset_edc(body:DataProductResourcesModel, dataResouceAPi_URL:str):
......@@ -40,17 +41,19 @@ def load_asset_edc(body:DataProductResourcesModel, dataResouceAPi_URL:str):
# asset_id = asset_id.replace(os.getenv("DOMAIN_PART"),"")
# Create asset
#get policy metadata
print(body.dataProductPolicy)
policyData=body.dataProductPolicy
print(policyData)
policyData=policyData.replace("'", "\"")
print(policyData)
#get the policyId
policy_json = json.loads(policyData)
policy_id=policy_json["@id"]
print(policy_id)
# check new data type
print(type(policy_json))
for dataresource in body.dataResources:
formatType = body.dataAccount[0].formatType
if dataresource.dataResourceInfo is not None:
......@@ -74,6 +77,7 @@ def load_asset_edc(body:DataProductResourcesModel, dataResouceAPi_URL:str):
contract_id = "contract-"+policy_id+"-"+str(contract_uuid) #os.getenv("CONTRACT_ID")
policyExist = checkPolicyId(policy_id, header_authorization)
if not policyExist:
#create_policy_response = invoke_create_policy(policy_id, header_authorization)
create_policy_response = invoke_create_policy(policyData, header_authorization)
print (json.loads(create_policy_response.text))
......
......@@ -27,6 +27,8 @@ import json
import requests
logger = logging.getLogger("uvicorn.error")
def invoke_create_asset(dataProductId: str, dataProductName: str, dataProductFormatType: str,
dataProductDescription: str, openAPI: str, header_authorization: str):
#provider_host = os.getenv("PROVIDER_HOST")
......@@ -49,6 +51,7 @@ def invoke_create_asset(dataProductId: str, dataProductName: str, dataProductFor
'Content-Type': 'application/json'
}"""
print (type(payload))
response = requests.request("POST", url, headers=headers, data=payload)
print(f"Create asset response={response.text}")
......
......@@ -27,6 +27,9 @@ import requests
logger = logging.getLogger("uvicorn.error")
def invoke_create_contract_definition(contract_id, policy_id, asset_id, header_authorization):
......
......@@ -25,6 +25,8 @@ import json
import os
import requests
logger = logging.getLogger("uvicorn.error")
def checkPolicyId(policy_id, header_authorization):
#provider_host = os.getenv("PROVIDER_HOST")
......@@ -88,22 +90,12 @@ def invoke_create_policy(policy_id, header_authorization):
"""
def invoke_create_policy(policy_data, header_authorization):
#provider_host = os.getenv("PROVIDER_HOST", "ekodata2.tri.lan")
#provider_management_port = os.getenv("PROVIDER_MANAGEMENT_PORT", "9193")
#provider_host_port = os.getenv("PROVIDER_HOST_PORT")
#url = f"http://{provider_host}:{provider_management_port}/management/v3/policydefinitions"
# url = f"https://{provider_host_port}/management/v3/policydefinitions"
provider_management_url = os.getenv("PROVIDER_MANAGEMENT_URL")
url = f"{provider_management_url}/policydefinitions"
#payload = json.dumps(policy_data)
headers = {
'Content-Type': 'application/json',
'X-API-Key': header_authorization
......@@ -111,7 +103,9 @@ def invoke_create_policy(policy_data, header_authorization):
"""headers = {
'Content-Type': 'application/json'
}"""
response = requests.request("POST", url, headers=headers, data=policy_data)
# response = requests.request("POST", url, headers=headers, data=payload)
print(f"Create policy response={response.text}")
return response
......@@ -194,21 +188,7 @@ def generate_policy_metadata_time(policy_id, policy_time_interval, policy_time_i
def generate_policy_metadata_without_restrictions(policy_id):
policy_metadata = {
"@context": {
"@vocab": "https://w3id.org/edc/v0.0.1/ns/"
},
"@id": policy_id,
"@type": "edc:PolicyDefinition",
"policy": {
"@context": "http://www.w3.org/ns/odrl.jsonld",
"@type": "Set",
"permission": [],
"prohibition": [],
"obligation": []
}
}
# edc 0.3.1
policy_metadata = {
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/",
......@@ -223,5 +203,6 @@ def generate_policy_metadata_without_restrictions(policy_id):
"odrl:obligation": []
}
}
print (type(policy_metadata))
return policy_metadata
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment