Help us shape the future of Go! Take the 2026 Go Developer Survey

assets

package
v0.21.4 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2018 License: AGPL-3.0 Imports: 3 Imported by: 51

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GroupReferenceValidation added in v0.15.1

func GroupReferenceValidation(sl validator.StructLevel)

GroupReferenceValidation validates that the given group reference is either a concrete reference or a name matcher

func LabelReferenceValidation added in v0.15.1

func LabelReferenceValidation(sl validator.StructLevel)

LabelReferenceValidation validates that the given label reference is either a concrete reference or a name matcher

Types

type AssetSource added in v0.15.0

type AssetSource interface {
	Channels() ([]Channel, error)
	Fields() ([]Field, error)
	Flow(FlowUUID) (Flow, error)
	Groups() ([]Group, error)
	Labels() ([]Label, error)
	Locations() ([]LocationHierarchy, error)
	Resthooks() ([]Resthook, error)
}

AssetSource is a source of assets

type Channel added in v0.15.0

type Channel interface {
	UUID() ChannelUUID
	Name() string
	Address() string
	Schemes() []string
	Roles() []ChannelRole
	Parent() *ChannelReference
	Country() string
	MatchPrefixes() []string
}

Channel is something that can send/receive messages

type ChannelReference added in v0.15.1

type ChannelReference struct {
	UUID ChannelUUID `json:"uuid" validate:"required,uuid"`
	Name string      `json:"name"`
}

ChannelReference is used to reference a channel

func NewChannelReference added in v0.15.1

func NewChannelReference(uuid ChannelUUID, name string) *ChannelReference

NewChannelReference creates a new channel reference with the given UUID and name

type ChannelRole added in v0.15.0

type ChannelRole string

ChannelRole is a role that a channel can perform

const (
	ChannelRoleSend    ChannelRole = "send"
	ChannelRoleReceive ChannelRole = "receive"
	ChannelRoleCall    ChannelRole = "call"
	ChannelRoleAnswer  ChannelRole = "answer"
	ChannelRoleUSSD    ChannelRole = "ussd"
)

different roles that channels can perform

type ChannelUUID added in v0.15.0

type ChannelUUID utils.UUID

ChannelUUID is the UUID of a channel

type Field added in v0.15.0

type Field interface {
	Key() string
	Name() string
	Type() FieldType
}

Field is a custom contact property

type FieldReference added in v0.15.1

type FieldReference struct {
	Key  string `json:"key" validate:"required"`
	Name string `json:"name"`
}

FieldReference is a reference to field

func NewFieldReference added in v0.15.1

func NewFieldReference(key string, label string) *FieldReference

NewFieldReference creates a new field reference with the given key and label

type FieldType added in v0.15.0

type FieldType string

FieldType is the data type of values for each field

const (
	FieldTypeText     FieldType = "text"
	FieldTypeNumber   FieldType = "number"
	FieldTypeDatetime FieldType = "datetime"
	FieldTypeWard     FieldType = "ward"
	FieldTypeDistrict FieldType = "district"
	FieldTypeState    FieldType = "state"
)

field value types

type Flow added in v0.15.0

type Flow interface {
	UUID() FlowUUID
	Name() string
	Definition() json.RawMessage
}

Flow is graph of nodes with actions and routers

type FlowReference added in v0.15.1

type FlowReference struct {
	UUID FlowUUID `json:"uuid" validate:"uuid4"`
	Name string   `json:"name"`
}

FlowReference is used to reference a flow from another flow

func NewFlowReference added in v0.15.1

func NewFlowReference(uuid FlowUUID, name string) *FlowReference

NewFlowReference creates a new flow reference with the given UUID and name

type FlowUUID added in v0.15.0

type FlowUUID utils.UUID

FlowUUID is the UUID of a flow

type Group added in v0.15.0

type Group interface {
	UUID() GroupUUID
	Name() string
	Query() string
}

Group is a set of contacts

type GroupReference added in v0.15.1

type GroupReference struct {
	UUID      GroupUUID `json:"uuid,omitempty" validate:"omitempty,uuid4"`
	Name      string    `json:"name,omitempty"`
	NameMatch string    `json:"name_match,omitempty"`
}

GroupReference is used to reference a group

func NewGroupReference added in v0.15.1

func NewGroupReference(uuid GroupUUID, name string) *GroupReference

NewGroupReference creates a new group reference with the given UUID and name

func NewVariableGroupReference added in v0.15.1

func NewVariableGroupReference(nameMatch string) *GroupReference

NewVariableGroupReference creates a new group reference from the given templatized name match

type GroupUUID added in v0.15.0

type GroupUUID utils.UUID

GroupUUID is the UUID of a group

type Label added in v0.15.0

type Label interface {
	UUID() LabelUUID
	Name() string
}

Label is something that can be applied a message

type LabelReference added in v0.15.1

type LabelReference struct {
	UUID      LabelUUID `json:"uuid,omitempty" validate:"omitempty,uuid4"`
	Name      string    `json:"name,omitempty"`
	NameMatch string    `json:"name_match,omitempty"`
}

LabelReference is used to reference a label

func NewLabelReference added in v0.15.1

func NewLabelReference(uuid LabelUUID, name string) *LabelReference

NewLabelReference creates a new label reference with the given UUID and name

func NewVariableLabelReference added in v0.15.1

func NewVariableLabelReference(nameMatch string) *LabelReference

NewVariableLabelReference creates a new label reference from the given templatized name match

type LabelUUID added in v0.15.0

type LabelUUID utils.UUID

LabelUUID is the UUID of a label

type LocationHierarchy added in v0.15.0

type LocationHierarchy interface {
	FindByPath(path string) *utils.Location
	FindByName(name string, level utils.LocationLevel, parent *utils.Location) []*utils.Location
}

LocationHierarchy is a searchable hierachy of locations

type Resthook added in v0.15.0

type Resthook interface {
	Slug() string
	Subscribers() []string
}

Resthook is a set of URLs which are subscribed to the named event

Directories

Path Synopsis
Package rest is an implementation of AssetSource which fetches assets from a REST server.
Package rest is an implementation of AssetSource which fetches assets from a REST server.

Jump to

Keyboard shortcuts

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