transfer

package
v0.0.0-...-a85c11b Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2023 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Transfer

type Transfer struct {
	Id       primitive.ObjectID        `json:"id" bson:"_id,omitempty"`
	TargetId uuid.UUID                 `json:"targetId" bson:"target_id"`
	Inputs   map[uuid.UUID][]uuid.UUID `json:"inputs" bson:"inputs"`
	// tracks which input has responded
	Outputs       map[uuid.UUID]bool `json:"-" bson:"outputs"`
	Status        TransferStatus     `json:"status" bson:"status"`
	FailureReason string             `json:"failureReason" bson:"failure_reason"`
	Expiry        time.Time          `json:"expiry" bson:"expiry"`
}

func NewTransferModel

func NewTransferModel(targetId uuid.UUID, inputs map[uuid.UUID][]uuid.UUID, expiry *time.Time) *Transfer

func (*Transfer) AllNodesHandled

func (t *Transfer) AllNodesHandled() bool

func (*Transfer) DidFail

func (t *Transfer) DidFail() bool

func (*Transfer) SetFailed

func (t *Transfer) SetFailed(failureReason string)

func (*Transfer) ToApiResponse

func (t *Transfer) ToApiResponse() types.Transfer

type TransferRepository

type TransferRepository interface {
	Save(ctx context.Context, d *Transfer) error
	GetById(ctx context.Context, objectId primitive.ObjectID) (*Transfer, error)
}

func NewTransferRepository

func NewTransferRepository(ctx context.Context) (TransferRepository, error)

type TransferStatus

type TransferStatus string
const (
	StatusInProgress      TransferStatus = "in_progress"
	StatusPending         TransferStatus = "pending"
	StatusProcessComplete TransferStatus = "processing_complete"
	StatusComplete        TransferStatus = "complete"
	StatusFailed          TransferStatus = "failed"
	StatusExpired         TransferStatus = "expired"
)

Jump to

Keyboard shortcuts

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