Interface UserVerifiableCredentialFederatedStorage

All Known Subinterfaces:
UserFederatedStorageProvider, UserFederatedStorageProvider.Streams
All Known Implementing Classes:
JpaUserFederatedStorageProvider

public interface UserVerifiableCredentialFederatedStorage
  • Method Details

    • addVerifiableCredential

      UserVerifiableCredentialModel addVerifiableCredential(String userId, UserVerifiableCredentialModel credentialModel)
      Adds a verifiable credential for a federated user.
      Parameters:
      userId - the federated user ID
      credentialModel - the credential to add
      Returns:
      the added credential with generated fields populated
    • updateVerifiableCredential

      UserVerifiableCredentialModel updateVerifiableCredential(String userId, String clientScopeId)
      Updates a verifiable credential for a federated user.
      Parameters:
      userId - the federated user ID
      clientScopeId - the client scope ID
      Returns:
      the updated credential
    • removeVerifiableCredential

      boolean removeVerifiableCredential(String userId, String clientScopeId)
      Removes a verifiable credential for a federated user.
      Parameters:
      userId - the federated user ID
      clientScopeId - the client scope ID to remove
      Returns:
      true if removed, false if not found
    • getVerifiableCredentialsByUser

      Stream<UserVerifiableCredentialModel> getVerifiableCredentialsByUser(String userId)
      Gets all verifiable credentials for a federated user.
      Parameters:
      userId - the federated user ID
      Returns:
      stream of verifiable credentials
    • getVerifiableCredentialByClientScope

      UserVerifiableCredentialModel getVerifiableCredentialByClientScope(String userId, String clientScopeId)
      Gets a verifiable credential for a federated user and client scope.
      Parameters:
      userId - the federated user ID
      clientScopeId - the client scope ID
      Returns:
      the verifiable credential model, or null if not found
    • getVerifiableCredentialById

      UserVerifiableCredentialModel getVerifiableCredentialById(String id)
      Gets a verifiable credential by its ID.
      Parameters:
      id - the ID of the verifiable credential
      Returns:
      the verifiable credential model, or null if not found
    • addIssuedVerifiableCredential

      IssuedVerifiableCredentialModel addIssuedVerifiableCredential(IssuedVerifiableCredentialModel issuedVc)
      Adds an issued verifiable credential for a federated user.
      Parameters:
      issuedVc - the issued verifiable credential to add
      Returns:
      the added issued credential with generated fields populated
    • getIssuedVerifiableCredentialsStreamByUser

      Stream<IssuedVerifiableCredentialModel> getIssuedVerifiableCredentialsStreamByUser(String userId)
      Gets all issued verifiable credentials for a federated user.
      Parameters:
      userId - the federated user ID
      Returns:
      stream of issued verifiable credentials
    • removeIssuedVerifiableCredential

      boolean removeIssuedVerifiableCredential(String issuedCredentialId)
      Remove an issued verifiable credential by its ID.
      Parameters:
      issuedCredentialId - the ID of the issued verifiable credential to remove
      Returns:
      true if removed, false if not found
    • removeIssuedVerifiableCredential

      boolean removeIssuedVerifiableCredential(String userId, String issuedCredentialId)
      Remove an issued verifiable credential by its ID if it belongs to the specified federated user.
      Parameters:
      userId - the ID of the federated user owning the credential
      issuedCredentialId - the ID of the issued verifiable credential to remove
      Returns:
      true if removed, false if not found or not owned by the user
    • removeExpiredIssuedVerifiableCredentials

      void removeExpiredIssuedVerifiableCredentials()
      Remove expired issued verifiable credentials for all users.