ockam_entity/worker/
response.rs

1use crate::{AuthenticationProof, Changes, Contact, Lease, ProfileIdentifier};
2use cfg_if::cfg_if;
3use ockam_core::compat::vec::Vec;
4use ockam_core::{Address, Message};
5use ockam_vault::{PublicKey, Secret};
6use serde::{Deserialize, Serialize};
7
8#[derive(Serialize, Deserialize)]
9pub enum MaybeContact {
10    None,
11    Contact(Contact),
12}
13
14#[derive(Serialize, Deserialize, Message)]
15pub enum IdentityResponse {
16    AddKey,
17    CreateProfile(ProfileIdentifier),
18    CreateAuthenticationProof(AuthenticationProof),
19    GetPublicKey(PublicKey),
20    GetProfilePublicKey(PublicKey),
21    GetProfileSecretKey(Secret),
22    GetSecretKey(Secret),
23    GetChanges(Changes),
24    Contacts(Vec<Contact>),
25    GetContact(MaybeContact),
26    VerifyAuthenticationProof(bool),
27    VerifyContact(bool),
28    VerifyAndUpdateContact(bool),
29    VerifyChanges(bool),
30    VerifyAndAddContact(bool),
31    CreateSecureChannelListener,
32    CreateSecureChannel(Address),
33    Lease(Lease),
34    #[cfg(feature = "credentials")]
35    CredentialResponse(IdentityCredentialResponse),
36}
37
38cfg_if! {
39    if #[cfg(feature = "credentials")] {
40        use crate::{
41            BlsSecretKey,
42            BbsCredential, CredentialFragment2, CredentialOffer, CredentialPresentation, CredentialProof,
43            CredentialPublicKey, CredentialRequestFragment, EntityCredential, ProofRequestId,
44        };
45
46        #[derive(Serialize, Deserialize)]
47        pub enum IdentityCredentialResponse {
48            GetSigningKey(BlsSecretKey),
49            GetIssuerPublicKey(CredentialPublicKey),
50            CreateOffer(CredentialOffer),
51            CreateProofOfPossession(CredentialProof),
52            SignCredential(BbsCredential),
53            SignCredentialRequest(CredentialFragment2),
54            AcceptCredentialOffer(CredentialRequestFragment),
55            CombineCredentialFragments(BbsCredential),
56            IsValidCredential(bool),
57            PresentCredential(CredentialPresentation),
58            CreateProofRequestId(ProofRequestId),
59            VerifyProofOfPossession(bool),
60            VerifyCredentialPresentation(bool),
61            AddCredential,
62            GetCredential(EntityCredential),
63        }
64
65    }
66}