-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Develop See merge request cpes/european-projects/enershare/tsg-client!75
- Loading branch information
1 parent
887bb79
commit f30d96a
Showing
4 changed files
with
169 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
""" | ||
Example - Get the administrative users from your connector | ||
Last update: 2024-04-16 | ||
This request gets the administrative users of your connector using a connection to the connector. | ||
It uses a pre-established connection from the examples request to our connector. | ||
The following operations are demonstrated: | ||
1. Load environment variables (your connector configs) from a `.env` file. | ||
2. Establish a connection to your TSG connector. | ||
3. Gets the administrative users of your connector. | ||
Important: | ||
- Ensure that the required environment variables (Your Connector `API_KEY`, `CONNECTOR_ID`, `ACCESS_URL` and `AGENT_ID`) are set in the .env file before using this request. | ||
- The connector `API_KEY` can be retrieved by loging into the TSG connector UI and navigating to the 'API Keys' tab. | ||
Execute the code below to get the administrative users of your connector. | ||
""" | ||
|
||
|
||
if __name__ == "__main__": | ||
from loguru import logger | ||
from dotenv import dotenv_values | ||
from tsg_client.controllers import TSGController | ||
|
||
# Comment the line below to enable internal logger: | ||
logger.disable("") | ||
|
||
# Load environment variables: | ||
config = dotenv_values('.env') | ||
|
||
# Connect to our TSG connector: | ||
conn = TSGController( | ||
api_key=config['API_KEY'], | ||
connector_id=config['CONNECTOR_ID'], | ||
access_url=config['ACCESS_URL'], | ||
agent_id=config['AGENT_ID'] | ||
) | ||
|
||
res = conn.get_administrative_users() | ||
print(res) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
""" | ||
Example - Update an administrative user from your connector | ||
Last update: 2024-03-28 | ||
This request updates an administrative user from your connector on a custom connector using a connection to the connector. | ||
It uses a pre-established connection from the examples request to our connector. | ||
The following operations are demonstrated: | ||
1. Load environment variables (your connector configs) from a `.env` file. | ||
2. Establish a connection to your TSG connector. | ||
3. Updates the administrative user from your connector. | ||
Important: | ||
- Ensure that the required environment variables (Your Connector `API_KEY`, `CONNECTOR_ID`, `ACCESS_URL` and `AGENT_ID`) are set in the .env file before using this request. | ||
- The connector `API_KEY` can be retrieved by loging into the TSG connector UI and navigating to the 'API Keys' tab. | ||
Execute the code below to publish a new administrative user on your connector. | ||
Ensure that the required parameters are specified before executing the request: | ||
- id: The id of the user (username). | ||
- new_password: The new secret and secure password. | ||
- new_roles: The new list of roles this user should have. (optional) | ||
Note: The update method creates if the username does not exist | ||
""" | ||
|
||
|
||
if __name__ == "__main__": | ||
from loguru import logger | ||
from dotenv import dotenv_values | ||
from tsg_client.controllers import TSGController | ||
|
||
# Comment the line below to enable internal logger: | ||
logger.disable("") | ||
|
||
# Load environment variables: | ||
config = dotenv_values('.env') | ||
|
||
# Connect to our TSG connector: | ||
conn = TSGController( | ||
api_key=config['API_KEY'], | ||
connector_id=config['CONNECTOR_ID'], | ||
access_url=config['ACCESS_URL'], | ||
agent_id=config['AGENT_ID'] | ||
) | ||
|
||
# Specify the required parameters: | ||
id = "test_id_" | ||
new_password = "test_password" | ||
new_roles = ["ROLE_ADMIN"] | ||
|
||
res = conn.update_administrative_user(id, new_password, new_roles) | ||
print(res) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import json | ||
import os | ||
|
||
def update_and_save_contract(contract_id, contract_start, contract_end): | ||
|
||
contract_template = { | ||
"@context" : { | ||
"ids" : "https://w3id.org/idsa/core/", | ||
"idsc" : "https://w3id.org/idsa/code/" | ||
}, | ||
"@type" : "ids:ContractOffer", | ||
"@id" : f"https://w3id.org/idsa/autogen/contractOffer/{contract_id}", | ||
"ids:permission" : [ { | ||
"@type" : "ids:Permission", | ||
"@id" : "https://w3id.org/idsa/autogen/permission/15f85a6b-f921-47fd-b541-3f8367998048", | ||
"ids:action" : [ { | ||
"@id" : "https://w3id.org/idsa/code/USE" | ||
}, { | ||
"@id" : "https://w3id.org/idsa/code/READ" | ||
} ] | ||
} ], | ||
"ids:contractStart" : { | ||
"@value" : contract_start, | ||
"@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp" | ||
}, | ||
"ids:contractEnd" : { | ||
"@value" : contract_end, | ||
"@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp" | ||
} | ||
} | ||
|
||
# Convert dictionary to JSON string | ||
contract_json = json.dumps(contract_template, indent=2) | ||
|
||
# Define the path to save the contract | ||
save_path = os.path.join("docs", "contracts") | ||
|
||
# Ensure the directory exists | ||
os.makedirs(save_path, exist_ok=True) | ||
|
||
# Define the filename | ||
filename = f"contract_{contract_id}.json" | ||
|
||
# Write the JSON to a file | ||
with open(os.path.join(save_path, filename), "w") as file: | ||
file.write(contract_json) |