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

feat: introduce holder capabilities #113

Merged
merged 35 commits into from
Sep 20, 2024
Merged

feat: introduce holder capabilities #113

merged 35 commits into from
Sep 20, 2024

Conversation

nanderstabel
Copy link
Collaborator

@nanderstabel nanderstabel commented Aug 26, 2024

Description of change

This PR adds Holder functionality to UniCore.

  • UniCore is now able to both send Credential Offers to a target_url as well as well as listen for incoming Credential Offers in order to (after confirmation) Accept or Reject the offer.
  • Refactoring of agent_api_rest
  • Abstracted Custom Query code into agent_shared
  • Refactored test_utils across sub modules for test re-usability utilizing rstest

Links to any relevant issues

fixes #111

How the change has been tested

Tested through new and existing (adjusted) unit tests as well as updated Postman Collection.

How to test this flow manually using the Postman Collection:

  1. (Issuer): Hit the Issuance/w3c_vc_credentials request
  2. (Issuer): Hit the Issuance/offers request
  3. (Issuer): Hit the Issuance/offers_send request (this will send the Credential Offer to UniCore's new Holder module)
  4. (Holder): Hit the Holder/offers request
    • (Holder): Hit the Holder/offers_accept request:
      • (Holder): Hit the Holder/credentials request to see the received Credential
    • (Holder): Or hit the Holder/offers_reject request:

Definition of Done checklist

Add an x to the boxes that are relevant to your changes.

  • I have followed the contribution guidelines for this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have successfully tested this change in a docker environment

@nanderstabel nanderstabel linked an issue Aug 26, 2024 that may be closed by this pull request
@nanderstabel nanderstabel self-assigned this Aug 26, 2024
@nanderstabel nanderstabel added the Added A new feature that requires a minor release. label Aug 26, 2024
@nanderstabel nanderstabel changed the title Feat/holder init feat: add agent_holder Aug 30, 2024
@nanderstabel nanderstabel marked this pull request as ready for review August 30, 2024 14:47
@nanderstabel nanderstabel changed the title feat: add agent_holder feat: introduce holder capabilities Sep 3, 2024
Copy link
Contributor

@daniel-mader daniel-mader left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a well-functioning first iteration of the "holder role" 👍 I could not fully assess all technical refactorings, paired with new features - but I like the comments and tests to assert functionality and prevent bugs.

agent_issuance/Cargo.toml Outdated Show resolved Hide resolved
agent_secret_manager/src/service.rs Outdated Show resolved Hide resolved
agent_shared/src/config.rs Outdated Show resolved Hide resolved
agent_api_rest/src/holder/holder/offers/accept.rs Outdated Show resolved Hide resolved
agent_api_rest/src/holder/mod.rs Show resolved Hide resolved
agent_holder/src/offer/aggregate.rs Outdated Show resolved Hide resolved
Copy link
Contributor

@daniel-mader daniel-mader left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! All three major roles of SSI are now implemented in UniCore! 🥳

@nanderstabel nanderstabel merged commit 837870c into dev Sep 20, 2024
1 check passed
@nanderstabel nanderstabel deleted the feat/holder-init branch September 20, 2024 14:15
Copy link

🎉 This PR is included in version 1.0.0-beta.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Copy link

🎉 This PR is included in version 1.0.0-alpha.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Added A new feature that requires a minor release. released on @alpha released on @beta
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Authorized credential offers Offer credentials between UniCore instances
2 participants