introduce

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2019 License: Apache-2.0 Imports: 12 Imported by: 8

Documentation

Index

Constants

View Source
const (
	// Introduce protocol name
	Introduce = "introduce"
	// IntroduceSpec defines the introduce spec
	IntroduceSpec = "https://didcomm.org/introduce/1.0/"
	// SkipProposalMsgType defines the skip proposal (the introducer has a public invitation)
	// skip proposal is not part of protocol specification (internal usage)
	SkipProposalMsgType = "skip/proposal"
	// ProposalMsgType defines the introduce proposal message type.
	ProposalMsgType = IntroduceSpec + "proposal"
	// RequestMsgType defines the introduce request message type.
	RequestMsgType = IntroduceSpec + "request"
	// ResponseMsgType defines the introduce response message type.
	ResponseMsgType = IntroduceSpec + "response"
	// AckMsgType defines the introduce ack message type.
	AckMsgType = IntroduceSpec + "ack"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Content

type Content struct {
	Link      string `json:"link,omitempty"`
	ByteCount int    `json:"byte_count,omitempty"`
	Sha256    string `json:"sha256,omitempty"`
}

Content keeps image data

type DescriptionL10N

type DescriptionL10N map[string]string

DescriptionL10N may contain locale field and key->val pair for translation e.g { "locale": "en", "es": "Donde se toma el MRI; no en el centro"}, where locale field tells that field Description form To struct has en translation

func (DescriptionL10N) Locale

func (d DescriptionL10N) Locale() string

Locale returns locale for the specified description (To.Description)

type ImgAttach

type ImgAttach struct {
	Description string  `json:"description,omitempty"`
	MimeType    string  `json:"mime-type,omitempty"`
	Filename    string  `json:"filename,omitempty"`
	Content     Content `json:"content,omitempty"`
}

ImgAttach represent information about the image

type PleaseIntroduceTo

type PleaseIntroduceTo struct {
	To
}

PleaseIntroduceTo includes all field from To structure also it has Discovered the field which should be provided by help-me-discover protocol

type Proposal

type Proposal struct {
	Type   string            `json:"@type,omitempty"`
	ID     string            `json:"@id,omitempty"`
	To     To                `json:"to,omitempty"`
	NWise  bool              `json:"nwise,omitempty"`
	Timing *decorator.Timing `json:"~timing,omitempty"`
}

Proposal defines proposal request

type Request

type Request struct {
	Type              string            `json:"@type,omitempty"`
	ID                string            `json:"@id,omitempty"`
	PleaseIntroduceTo PleaseIntroduceTo `json:"please_introduce_to,omitempty"`
	NWise             bool              `json:"nwise,omitempty"`
	Timing            *decorator.Timing `json:"~timing,omitempty"`
}

Request is not part of any state machine, it can be sent at any time, and when it is received, the recipient can choose whether or not to honor it in their own way TODO: need to clarify about decorator ~please_ack and problem_report

should Request contain those fields? What type it should be for each field?

type Response

type Response struct {
	Type       string                  `json:"@type,omitempty"`
	ID         string                  `json:"@id,omitempty"`
	Thread     *decorator.Thread       `json:"~thread,omitempty"`
	Approve    bool                    `json:"approve,omitempty"`
	Invitation *didexchange.Invitation `json:"invitation,omitempty"`
}

Response message that introducee usually sends in response to an introduction proposal

type Service

type Service struct {
	service.Action
	service.Message
	// contains filtered or unexported fields
}

Service for introduce protocol

func New

func New(p provider) (*Service, error)

New returns introduce service

func (*Service) Accept

func (s *Service) Accept(msgType string) bool

Accept msg checks the msg type

func (*Service) HandleInbound

func (s *Service) HandleInbound(msg *service.DIDCommMsg) (string, error)

HandleInbound handles inbound message (introduce protocol)

func (*Service) HandleOutbound

func (s *Service) HandleOutbound(msg *service.DIDCommMsg, dest *service.Destination) error

HandleOutbound handles outbound message (introduce protocol)

func (*Service) Name

func (s *Service) Name() string

Name returns service name

func (*Service) Stop

func (s *Service) Stop() error

Stop stops service (callback listener)

type To

type To struct {
	Name            string          `json:"name,omitempty"`
	Description     string          `json:"description,omitempty"`
	DescriptionL10N DescriptionL10N `json:"description~l10n,omitempty"`
	Where           string          `json:"where,omitempty"`
	ImgAttach       ImgAttach       `json:"img~attach,omitempty"`
	Proposed        bool            `json:"proposed,omitempty"`
}

To introducee descriptor keeps information about the introduction e.g introducer wants to introduce Bot to introducee { "name": "Bob" }

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL