Closed alikic closed 5 years ago
This seems like an epic
The controller API is REST in this case. Also, due to this point, we may want a more specific name for the package.
Also the reference agent is built (and dependent) upon #74.
The controller API should follow the one implemented by hyplerledger/aries-cloudagent-python so that we can reuse their test cases.
Controller API
For DEMO
Endpoints for tests: server GET /modules Fetch the list of loaded modules GET /status Fetch the server status POST /status/reset Reset statistics GET /protocols Query supported protocols
action-menu POST /action-menu/{id}/close Close the active menu associated with a connection POST /action-menu/{id}/fetch Fetch the active menu POST /action-menu/{id}/perform Perform an action associated with the active menu POST /action-menu/{id}/request Request the active menu POST /connections/{id}/send-menu Send an action menu to a connection
connection GET /connections Query agent-to-agent connections GET /connections/{id} Fetch a single connection record POST /connections/create-invitation Create a new connection invitation POST /connections/receive-invitation Receive a new connection invitation POST /connections/{id}/accept-invitation Accept a stored connection invitation POST /connections/{id}/accept-request Accept a stored connection request POST /connections/{id}/establish-inbound/{ref_id} Assign another connection as the inbound connection POST /connections/{id}/remove Remove an existing connection record
credentials GET /credential/{id} Fetch a credential from wallet by id POST /credential/{id}/remove Remove a credential from the wallet by id GET /credentials Fetch credentials from wallet
credential_exchange GET /credential_exchange Fetch all credential exchange records GET /credential_exchange/{id} Fetch a single credential exchange record POST /credential_exchange/send Sends a credential and automates the entire flow POST /credential_exchange/send-offer Sends a credential offer POST /credential_exchange/{id}/send-request Sends a credential request POST /credential_exchange/{id}/issue Sends a credential POST /credential_exchange/{id}/store Stores a received credential POST /credential_exchange/{id}/problem_report Send a problem report for credential exchange POST /credential_exchange/{id}/remove Remove an existing credential exchange record
introduction POST /connections/{id}/start-introduction Start an introduction between two connections
presentation_exchange GET /presentation_exchange Fetch all presentation exchange records GET /presentation_exchange/{id} Fetch a single presentation exchange record GET /presentation_exchange/{id}/credentials Fetch credentials for a presentation request from wallet GET /presentation_exchange/{id}/credentials/{referent} Fetch credentials for a presentation request from wallet POST /presentation_exchange/create_request Creates a presentation request POST /presentation_exchange/send_request Creates and sends a presentation request POST /presentation_exchange/{id}/send_presentation Sends a credential presentation POST /presentation_exchange/{id}/verify_presentation Verify a received credential presentation POST /presentation_exchange/{id}/remove Remove an existing presentation exchange record
schema POST /schemas Sends a schema to the ledger GET /schemas/{id} Gets a schema from the ledger
credential-definition POST /credential-definitions Sends a credential definition to the ledger GET /credential-definitions/{id} Gets a credential definition from the ledger
basicmessage POST /connections/{id}/send-message Send a basic message to a connection POST /connections/{id}/expire-message/{activity_id} Expire a copyable basicmessage
trustping POST /connections/{id}/send-ping Send a trust ping to a connection
wallet GET /wallet/did List wallet DIDs POST /wallet/did/create Create a local DID GET /wallet/did/public Fetch the current public DID POST /wallet/did/public Assign the current public DID
@sudeshrshetty
GET /protocols
an implementation of RFC 0031?GET /modules
: what are these modules?POST /presentation_exchange/create_request
?Also note: the connections
protocol is expected to be superseded by the did-exchange
protocol
New package: cmd/agent