Documentation ¶
Overview ¶
Package static is an implementation of Source which loads assets from a static JSON file.
Index ¶
- func NewChannel(uuid assets.ChannelUUID, name string, address string, schemes []string, ...) assets.Channel
- func NewClassifier(uuid assets.ClassifierUUID, name string, type_ string, intents []string) assets.Classifier
- func NewField(uuid assets.FieldUUID, key string, name string, valueType assets.FieldType) assets.Field
- func NewFlow(uuid assets.FlowUUID, name string, definition json.RawMessage) assets.Flow
- func NewGlobal(key, name, value string) assets.Global
- func NewGroup(uuid assets.GroupUUID, name string, query string) assets.Group
- func NewLabel(uuid assets.LabelUUID, name string) assets.Label
- func NewOptIn(uuid assets.OptInUUID, name string, channel *assets.ChannelReference) assets.OptIn
- func NewResthook(slug string, subscribers []string) assets.Resthook
- func NewTelChannel(uuid assets.ChannelUUID, name string, address string, ...) assets.Channel
- func NewTopic(uuid assets.TopicUUID, name string) assets.Topic
- func NewUser(email, name string) assets.User
- type Channel
- func (c *Channel) Address() string
- func (c *Channel) AllowInternational() bool
- func (c *Channel) Country() i18n.Country
- func (c *Channel) Features() []assets.ChannelFeature
- func (c *Channel) MatchPrefixes() []string
- func (c *Channel) Name() string
- func (c *Channel) Roles() []assets.ChannelRole
- func (c *Channel) Schemes() []string
- func (c *Channel) UUID() assets.ChannelUUID
- type Classifier
- type Field
- type Flow
- type Global
- type Group
- type Label
- type OptIn
- type Resthook
- type StaticSource
- func (s *StaticSource) Channels() ([]assets.Channel, error)
- func (s *StaticSource) Classifiers() ([]assets.Classifier, error)
- func (s *StaticSource) Fields() ([]assets.Field, error)
- func (s *StaticSource) FlowByName(name string) (assets.Flow, error)
- func (s *StaticSource) FlowByUUID(uuid assets.FlowUUID) (assets.Flow, error)
- func (s *StaticSource) Globals() ([]assets.Global, error)
- func (s *StaticSource) Groups() ([]assets.Group, error)
- func (s *StaticSource) Labels() ([]assets.Label, error)
- func (s *StaticSource) Locations() ([]assets.LocationHierarchy, error)
- func (s *StaticSource) OptIns() ([]assets.OptIn, error)
- func (s *StaticSource) Resthooks() ([]assets.Resthook, error)
- func (s *StaticSource) Templates() ([]assets.Template, error)
- func (s *StaticSource) Topics() ([]assets.Topic, error)
- func (s *StaticSource) Users() ([]assets.User, error)
- type Template
- type TemplateComponent
- type TemplateParam
- type TemplateTranslation
- type Topic
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewChannel ¶ added in v0.134.0
func NewChannel(uuid assets.ChannelUUID, name string, address string, schemes []string, roles []assets.ChannelRole, features []assets.ChannelFeature) assets.Channel
NewChannel creates a new channel
func NewClassifier ¶ added in v0.134.0
func NewClassifier(uuid assets.ClassifierUUID, name string, type_ string, intents []string) assets.Classifier
NewClassifier creates a new classifier
func NewField ¶ added in v0.134.0
func NewField(uuid assets.FieldUUID, key string, name string, valueType assets.FieldType) assets.Field
NewField creates a new field from the passed in key, name and type
func NewFlow ¶ added in v0.151.0
NewFlow creates a new flow from the passed in UUID, name and definition
func NewGroup ¶ added in v0.134.0
NewGroup creates a new group from the passed in UUID, name and query
func NewResthook ¶ added in v0.134.0
NewResthook creates a new resthook
func NewTelChannel ¶ added in v0.134.0
func NewTelChannel(uuid assets.ChannelUUID, name string, address string, roles []assets.ChannelRole, parent *assets.ChannelReference, country i18n.Country, matchPrefixes []string, allowInternational bool) assets.Channel
NewTelChannel creates a new tel channel
Types ¶
type Channel ¶ added in v0.134.0
type Channel struct { UUID_ assets.ChannelUUID `json:"uuid" validate:"required,uuid"` Name_ string `json:"name"` Address_ string `json:"address"` Schemes_ []string `json:"schemes" validate:"min=1"` Roles_ []assets.ChannelRole `json:"roles" validate:"min=1,dive,eq=send|eq=receive|eq=call|eq=answer|eq=ussd"` Features_ []assets.ChannelFeature `json:"features,omitempty"` Country_ i18n.Country `json:"country,omitempty"` MatchPrefixes_ []string `json:"match_prefixes,omitempty"` AllowInternational_ bool `json:"allow_international,omitempty"` }
Channel is a JSON serializable implementation of a channel asset
func (*Channel) AllowInternational ¶ added in v0.134.0
AllowInternational returns whether this channel allows sending internationally (only applies to TEL schemes)
func (*Channel) Country ¶ added in v0.134.0
Country returns this channel's associated country code (if any)
func (*Channel) Features ¶ added in v0.195.0
func (c *Channel) Features() []assets.ChannelFeature
Features returnsthe featurs this channel supports
func (*Channel) MatchPrefixes ¶ added in v0.134.0
MatchPrefixes returns this channel's match prefixes values used for selecting a channel for a URN (if any)
func (*Channel) Roles ¶ added in v0.134.0
func (c *Channel) Roles() []assets.ChannelRole
Roles returns the roles of this channel
func (*Channel) UUID ¶ added in v0.134.0
func (c *Channel) UUID() assets.ChannelUUID
UUID returns the UUID of this channel
type Classifier ¶ added in v0.134.0
type Classifier struct { UUID_ assets.ClassifierUUID `json:"uuid" validate:"required,uuid"` Name_ string `json:"name"` Type_ string `json:"type"` Intents_ []string `json:"intents"` }
Classifier is a JSON serializable implementation of a classifier asset
func (*Classifier) Intents ¶ added in v0.134.0
func (c *Classifier) Intents() []string
Intents returns the intents of this classifier
func (*Classifier) Name ¶ added in v0.134.0
func (c *Classifier) Name() string
Name returns the name of this channel
func (*Classifier) Type ¶ added in v0.134.0
func (c *Classifier) Type() string
Type returns the type of this classifier
func (*Classifier) UUID ¶ added in v0.134.0
func (c *Classifier) UUID() assets.ClassifierUUID
UUID returns the UUID of this channel
type Field ¶ added in v0.134.0
type Field struct { UUID_ assets.FieldUUID `json:"uuid"` Key_ string `json:"key" validate:"required"` Name_ string `json:"name"` Type_ assets.FieldType `json:"type" validate:"required"` }
Field is a JSON serializable implementation of a field asset
type Flow ¶ added in v0.134.0
type Flow struct { UUID_ assets.FlowUUID `json:"uuid" validate:"required,uuid4"` Name_ string `json:"name"` Definition_ json.RawMessage }
Flow is a JSON serializable implementation of a flow asset
func (*Flow) Definition ¶ added in v0.134.0
func (f *Flow) Definition() json.RawMessage
func (*Flow) UnmarshalJSON ¶ added in v0.134.0
type Global ¶ added in v0.134.0
type Global struct { Key_ string `json:"key" validate:"required"` Name_ string `json:"name"` Value_ string `json:"value"` }
Global is a JSON serializable implementation of a global asset
type Group ¶ added in v0.134.0
type Group struct { UUID_ assets.GroupUUID `json:"uuid" validate:"required,uuid4"` Name_ string `json:"name"` Query_ string `json:"query,omitempty"` }
Group is a JSON serializable implementation of a group asset
type Label ¶ added in v0.134.0
type Label struct { UUID_ assets.LabelUUID `json:"uuid" validate:"required,uuid4"` Name_ string `json:"name"` }
Label is a JSON serializable implementation of a label asset
type OptIn ¶ added in v0.195.0
type OptIn struct { UUID_ assets.OptInUUID `json:"uuid" validate:"required,uuid"` Name_ string `json:"name" validate:"required"` }
OptIn is a JSON serializable implementation of an optin asset
type Resthook ¶ added in v0.134.0
type Resthook struct { Slug_ string `json:"slug" validate:"required"` Subscribers_ []string `json:"subscribers" validate:"required,dive,url"` }
Resthook is a JSON serializable implementation of a resthook asset
func (*Resthook) Subscribers ¶ added in v0.134.0
Subscribers returns the subscribers to the resthook
type StaticSource ¶
type StaticSource struct {
// contains filtered or unexported fields
}
StaticSource is an asset source which loads assets from a static JSON file
func LoadSource ¶ added in v0.26.0
func LoadSource(path string) (*StaticSource, error)
LoadSource loads a new static source from the given JSON file
func NewEmptySource ¶ added in v0.26.0
func NewEmptySource() *StaticSource
NewEmptySource creates a new empty source with no assets
func NewSource ¶ added in v0.26.0
func NewSource(data json.RawMessage) (*StaticSource, error)
NewSource creates a new static source from the given JSON
func (*StaticSource) Channels ¶
func (s *StaticSource) Channels() ([]assets.Channel, error)
Channels returns all channel assets
func (*StaticSource) Classifiers ¶ added in v0.51.0
func (s *StaticSource) Classifiers() ([]assets.Classifier, error)
Classifiers returns all classifier assets
func (*StaticSource) Fields ¶
func (s *StaticSource) Fields() ([]assets.Field, error)
Fields returns all field assets
func (*StaticSource) FlowByName ¶ added in v0.151.0
func (s *StaticSource) FlowByName(name string) (assets.Flow, error)
Flow returns the flow asset with the given UUID
func (*StaticSource) FlowByUUID ¶ added in v0.151.0
Flow returns the flow asset with the given UUID
func (*StaticSource) Globals ¶ added in v0.57.0
func (s *StaticSource) Globals() ([]assets.Global, error)
Globals returns all global assets
func (*StaticSource) Groups ¶
func (s *StaticSource) Groups() ([]assets.Group, error)
Groups returns all group assets
func (*StaticSource) Labels ¶
func (s *StaticSource) Labels() ([]assets.Label, error)
Labels returns all label assets
func (*StaticSource) Locations ¶
func (s *StaticSource) Locations() ([]assets.LocationHierarchy, error)
Locations returns all location assets
func (*StaticSource) OptIns ¶ added in v0.195.0
func (s *StaticSource) OptIns() ([]assets.OptIn, error)
OptIns returns all optin assets
func (*StaticSource) Resthooks ¶
func (s *StaticSource) Resthooks() ([]assets.Resthook, error)
Resthooks returns all resthook assets
func (*StaticSource) Templates ¶ added in v0.32.0
func (s *StaticSource) Templates() ([]assets.Template, error)
Templates returns all template assets
type Template ¶ added in v0.134.0
type Template struct { UUID_ assets.TemplateUUID `json:"uuid" validate:"required,uuid"` Name_ string `json:"name"` Translations_ []*TemplateTranslation `json:"translations"` }
Template is a JSON serializable implementation of a template asset
func NewTemplate ¶ added in v0.134.0
func NewTemplate(uuid assets.TemplateUUID, name string, translations []*TemplateTranslation) *Template
NewTemplate creates a new template
func (*Template) Translations ¶ added in v0.134.0
func (t *Template) Translations() []assets.TemplateTranslation
Translations returns the translations for this template
func (*Template) UUID ¶ added in v0.134.0
func (t *Template) UUID() assets.TemplateUUID
UUID returns the UUID of this template
type TemplateComponent ¶ added in v0.201.0
type TemplateComponent struct { Type_ string `json:"type"` Name_ string `json:"name"` Content_ string `json:"content"` Display_ string `json:"display"` Params_ []*TemplateParam `json:"params"` }
func NewTemplateComponent ¶ added in v0.201.0
func NewTemplateComponent(type_, name, content, display string, params []*TemplateParam) *TemplateComponent
NewTemplateComponent creates a new template param
func (*TemplateComponent) Content ¶ added in v0.201.0
func (t *TemplateComponent) Content() string
Content returns the content for this template component
func (*TemplateComponent) Display ¶ added in v0.206.4
func (t *TemplateComponent) Display() string
Display returns the display for this template component
func (*TemplateComponent) Name ¶ added in v0.207.0
func (t *TemplateComponent) Name() string
Name returns the name for this template component
func (*TemplateComponent) Params ¶ added in v0.201.0
func (t *TemplateComponent) Params() []assets.TemplateParam
Params returns the params for this template component
func (*TemplateComponent) Type ¶ added in v0.206.4
func (t *TemplateComponent) Type() string
Type returns the type for this template component
type TemplateParam ¶ added in v0.200.0
type TemplateParam struct {
Type_ string `json:"type"`
}
TemplateParam represents a single parameter for a template translation
func NewTemplateParam ¶ added in v0.200.0
func NewTemplateParam(paramType string) *TemplateParam
NewTemplateParam creates a new template param
func (*TemplateParam) Type ¶ added in v0.200.0
func (t *TemplateParam) Type() string
Type returns the type for this parameter
type TemplateTranslation ¶ added in v0.134.0
type TemplateTranslation struct { Channel_ *assets.ChannelReference `json:"channel" validate:"required"` Locale_ i18n.Locale `json:"locale" validate:"required"` Namespace_ string `json:"namespace"` Components_ []*TemplateComponent `json:"components"` }
TemplateTranslation represents a single template translation
func NewTemplateTranslation ¶ added in v0.134.0
func NewTemplateTranslation(channel *assets.ChannelReference, locale i18n.Locale, namespace string, components []*TemplateComponent) *TemplateTranslation
NewTemplateTranslation creates a new template translation
func (*TemplateTranslation) Channel ¶ added in v0.134.0
func (t *TemplateTranslation) Channel() *assets.ChannelReference
Channel returns the channel this template translation is for
func (*TemplateTranslation) Components ¶ added in v0.201.0
func (t *TemplateTranslation) Components() []assets.TemplateComponent
Components returns the components structure for this template
func (*TemplateTranslation) Locale ¶ added in v0.178.0
func (t *TemplateTranslation) Locale() i18n.Locale
Language returns the locale this translation is in
func (*TemplateTranslation) Namespace ¶ added in v0.134.0
func (t *TemplateTranslation) Namespace() string
Namespace returns the namespace for this template
type Topic ¶ added in v0.134.0
type Topic struct { UUID_ assets.TopicUUID `json:"uuid" validate:"required,uuid"` Name_ string `json:"name"` }
Topic is a JSON serializable implementation of a topic asset