Documentation
¶
Overview ¶
Package operation provides wallet adapter REST features.
Index ¶
- Constants
- type ApplicationProfileRequest
- type ApplicationProfileResponse
- type CHAPIRequest
- type CHAPIResponse
- type Config
- type CreateInvitationRequest
- type CreateInvitationResponse
- type Handler
- type Operation
- func (o *Operation) CreateInvitation(rw http.ResponseWriter, req *http.Request)
- func (o *Operation) GetRESTHandlers() []restapi.Handler
- func (o *Operation) GetWalletPreferences(rw http.ResponseWriter, req *http.Request)
- func (o *Operation) RequestApplicationProfile(rw http.ResponseWriter, req *http.Request)
- func (o *Operation) SaveWalletPreferences(rw http.ResponseWriter, req *http.Request)
- func (o *Operation) SendCHAPIRequest(rw http.ResponseWriter, req *http.Request)
- type SaveWalletPreferencesRequest
- type WalletPreferencesResponse
- type WalletType
Constants ¶
const ( CreateInvitationPath = operationID + "/create-invitation" RequestAppProfilePath = operationID + "/request-app-profile" SendCHAPIRequestPath = operationID + "/send-chapi-request" SavePreferencesPath = operationID + "/save-preferences" GetPreferencesPath = operationID + "/get-preferences/{id}" )
constants for endpoints of wallet bridge controller.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicationProfileRequest ¶
type ApplicationProfileRequest struct {
// UserID of wallet application profile.
// required: true
UserID string `json:"userID"`
// Wait for connection to be completed before returning wallet application profile.
// in: body
WaitForConnection bool `json:"waitForConnection"`
// Timeout (in nanoseconds) waiting for connection completed.
// in: body
Timeout time.Duration `json:"timeout"`
}
ApplicationProfileRequest model
Request for querying wallet application profile ID for given user from wallet server.
swagger:parameters applicationProfileRequest
type ApplicationProfileResponse ¶
type ApplicationProfileResponse struct {
// InvitationID of invitation used to create profile.
// in: body
InvitationID string `json:"invitationID"`
// ConnectionStatus is DIDComm connection status of the profile.
// in: body
ConnectionStatus string `json:"status"`
}
ApplicationProfileResponse model
Response containing wallet application profile of user requested.
swagger:response appProfileResponse
type CHAPIRequest ¶
type CHAPIRequest struct {
// UserID of wallet application profile.
UserID string `json:"userID"`
// Request is credential handler request to be sent out.
Payload json.RawMessage `json:"request"`
// Timeout (in nanoseconds) waiting for reply.
Timeout time.Duration `json:"timeout,omitempty"`
}
CHAPIRequest model
CHAPI request to be sent to given wallet application.
swagger:parameters chapiRequest
type CHAPIResponse ¶
type CHAPIResponse struct {
// in: body
Data json.RawMessage `json:"data"`
}
CHAPIResponse model
CHAPI response from requested wallet application.
swagger:response chapiResponse
type Config ¶
type Config struct {
AriesCtx aries.CtxProvider
MsgRegistrar command.MessageHandler
WalletAppURL string
DefaultLabel string
AdapterTransientStore storage.Store
}
Config defines configuration for wallet adapter operations.
type CreateInvitationRequest ¶
type CreateInvitationRequest struct {
// required: true
UserID string `json:"userID"`
}
CreateInvitationRequest model
Request for creating wallet server invitation.
swagger:parameters createInvitation
type CreateInvitationResponse ¶
type CreateInvitationResponse struct {
// in: body
URL string `json:"url"`
}
CreateInvitationResponse model
Response of out-of-band invitation from wallet server.
swagger:response createInvitationResponse
type Handler ¶
type Handler interface {
Path() string
Method() string
Handle() http.HandlerFunc
}
Handler http handler for each controller API endpoint.
type Operation ¶
type Operation struct {
// contains filtered or unexported fields
}
Operation is REST service operation controller for wallet bridge features.
func (*Operation) CreateInvitation ¶
func (o *Operation) CreateInvitation(rw http.ResponseWriter, req *http.Request)
CreateInvitation swagger:route POST /wallet-bridge/create-invitation wallet-bridge createInvitation
Creates out-of-band invitation to connect to this wallet server. Response contains URL to application with invitation to load during startup.
Responses:
default: genericError 200: createInvitationResponse
func (*Operation) GetRESTHandlers ¶
GetRESTHandlers get all controller API handler available for this protocol service.
func (*Operation) GetWalletPreferences ¶
func (o *Operation) GetWalletPreferences(rw http.ResponseWriter, req *http.Request)
GetWalletPreferences swagger:route GET /wallet-bridge/get-preferences/{id} wallet-bridge getPreferences
Gets wallet preferences by user.
Responses:
default: genericError 200: walletPreferencesResponse
func (*Operation) RequestApplicationProfile ¶
func (o *Operation) RequestApplicationProfile(rw http.ResponseWriter, req *http.Request)
RequestApplicationProfile swagger:route POST /wallet-bridge/request-app-profile wallet-bridge applicationProfileRequest
Requests wallet application profile of given user. Response contains wallet application profile of given user.
Responses:
default: genericError 200: appProfileResponse
func (*Operation) SaveWalletPreferences ¶
func (o *Operation) SaveWalletPreferences(rw http.ResponseWriter, req *http.Request)
SaveWalletPreferences swagger:route POST /wallet-bridge/save-preferences wallet-bridge savePreferences
Saves wallet preferences by user.
Responses:
default: genericError
func (*Operation) SendCHAPIRequest ¶
func (o *Operation) SendCHAPIRequest(rw http.ResponseWriter, req *http.Request)
SendCHAPIRequest swagger:route POST /wallet-bridge/send-chapi-request wallet-bridge chapiRequest
Sends CHAPI request to given wallet application ID. Response contains CHAPI request.
Responses:
default: genericError 200: chapiResponse
type SaveWalletPreferencesRequest ¶
type SaveWalletPreferencesRequest struct {
// UserID of the user.
// required: true
UserID string `json:"userID"`
// Wallet type, supported types 'browser, remote'
// required: true
WalletType WalletType `json:"walletType"`
}
SaveWalletPreferencesRequest model
Request for saving user's wallet preferences.
swagger:parameters savePreferences
type WalletPreferencesResponse ¶
type WalletPreferencesResponse struct {
// Wallet type, supported types 'browser, remote'
// required: true
WalletType WalletType `json:"walletType"`
}
WalletPreferencesResponse model
Response for request user wallet preferences.
swagger:parameters walletPreferencesResponse
type WalletType ¶
type WalletType string
WalletType supported wallet types
const ( // Browser wallet type Browser WalletType = "browser" // Remote wallet type Remote = "remote" )
func (WalletType) IsValid ¶
func (lt WalletType) IsValid() error
IsValid checks if underlying wallet type is supported