Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement data transfer button #109

Open
robertschubert opened this issue Oct 1, 2024 · 2 comments
Open

Implement data transfer button #109

robertschubert opened this issue Oct 1, 2024 · 2 comments
Assignees

Comments

@robertschubert
Copy link
Collaborator

robertschubert commented Oct 1, 2024

Current situation:
There is a Button "Kontaktieren oder Kaufen" in the detail page of a resource without any function.

Target situation:

  • The button should be renamed to "Kaufen".
  • There should be a logic behind the button as described here, chapter "Data Transfer"
    • All endpoints which are documented there must be called.
    • the parameter for the first REST request is the contract-id and can be obtained from the field <entity-name>/general/data/contractId
    • the value of the producer EDC shall be obtained from <entity-name>.dataResource.instanciatedVirtualResource.serviceAccessPoint, fields protocol + :// + host (+ "management" or "/api/v1/dsp") . The class model is described (here)[https://github.com/GAIA-X4PLC-AAD/gaia-x-compliant-claims-example]
    • the value edc_pr in the example payloads representing the provider's participant ID (configured in the EDC) should be replaced with <entity-name>.dataResource.instanciatedVirtualResource.serviceAccessPoint, field name
    • the parameters for the EDC transfer should be entered in a popup which is displayed right after clicking the "Kaufen" button.
      • Message: "Bitte geben Sie folgende für den Transfer notwendigen Informationen an:"
        • "EDC-Management-Endpoint: ". Default value should be https://edc-co.gxfs.gx4fm.org/management.
        • "Azure storage account: ". Default should be msgedcstorage
        • "Container name: ". Default should be uc1-dest
    • The frontend should call the transfer-state endpoint every 10 seconds for max 1 minute until the transfer state is COMPLETED and display the transfer state underneath the "Kaufen" button. Possible states are STARTED, COMPLETED, TERMINATED, DEPROVISIONED, INITIATED, PROVISIONED, REQUESTED, STARTED.

Acceptance criterias:

  • After clicking the transfer button a popup is displayed to enter the consumer EDC address, the storage account and the container name. All text fields are preassigned with https://edc-co.gxfs.gx4fm.org/management, msgedcstorage and uc1-dest
  • The transfer button finishes without error messages.
  • There should be an indication that the TransferState in the frontend underneath the "Kaufen" button
  • If the contract has more than one asset (field assetsSelector when querying a contract) an error is displayed: "Contract has more than one Asset. This is currently not supported. Please choose a contract with only one asset"
  • After the function is finished we want to see an entry in the transfer history page on both EDCs (EDC urls please see the link provided above). The state of the transfer will be STARTED for now since there is a bug in the EDC setting the state to COMPLETED
  • There should be a new file in the destination azure storage which was specified in the popup (see container list)

If you need help to create an asset I can show you how to do it with the Frontend.
There is also a documentation how to create an asset with the REST endpoints in the same link above.

@robertschubert
Copy link
Collaborator Author

robertschubert commented Oct 8, 2024

future feature (as a remark):

in the payloads sent to the EDC there are fields like:

  "connectorId": "edc_pr",
  "consumerId": "edc_co",
  "providerId": "edc_pr",

After this story is finished we want also to parameterize our new dialog (where we specify the consumer EDC-URL) with those values.
Idea: use the field service-access-point.name as value for providerId

devbysp pushed a commit that referenced this issue Oct 11, 2024
devbysp pushed a commit that referenced this issue Oct 11, 2024
devbysp pushed a commit that referenced this issue Oct 11, 2024
devbysp pushed a commit that referenced this issue Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants