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

modifiers

package
v0.25.3 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2019 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const TypeChannel string = "channel"

TypeChannel is the type of our channel modifier

View Source
const TypeField string = "field"

TypeField is the type of our field modifier

View Source
const TypeGroups string = "groups"

TypeGroups is the type of our groups modifier

View Source
const TypeLanguage string = "language"

TypeLanguage is the type of our language modifier

View Source
const TypeName string = "name"

TypeName is the type of our name modifier

View Source
const TypeTimezone string = "timezone"

TypeTimezone is the type of our timezone modifier

View Source
const TypeURN string = "urn"

TypeURN is the type of our URN modifier

Variables

View Source
var RegisteredTypes = map[string]readFunc{}

RegisteredTypes is the registered modifier types

Functions

func ReadModifier

func ReadModifier(assets flows.SessionAssets, data json.RawMessage) (flows.Modifier, error)

ReadModifier reads a modifier from the given JSON

func RegisterType

func RegisterType(name string, f readFunc)

RegisterType registers a new type of modifier

Types

type ChannelModifier

type ChannelModifier struct {
	// contains filtered or unexported fields
}

ChannelModifier modifies the preferred channel of a contact

func NewChannelModifier

func NewChannelModifier(channel *flows.Channel) *ChannelModifier

NewChannelModifier creates a new channel modifier

func (*ChannelModifier) Apply

func (m *ChannelModifier) Apply(env utils.Environment, assets flows.SessionAssets, contact *flows.Contact, log func(flows.Event))

Apply applies this modification to the given contact

func (*ChannelModifier) MarshalJSON

func (m *ChannelModifier) MarshalJSON() ([]byte, error)

func (*ChannelModifier) Type

func (m *ChannelModifier) Type() string

Type returns the type of this modifier

type FieldModifier

type FieldModifier struct {
	// contains filtered or unexported fields
}

FieldModifier modifies a field value on the contact

func NewFieldModifier

func NewFieldModifier(field *flows.Field, value *flows.Value) *FieldModifier

NewFieldModifier creates a new field modifier

func (*FieldModifier) Apply

func (m *FieldModifier) Apply(env utils.Environment, assets flows.SessionAssets, contact *flows.Contact, log func(flows.Event))

Apply applies this modification to the given contact

func (*FieldModifier) MarshalJSON

func (m *FieldModifier) MarshalJSON() ([]byte, error)

func (*FieldModifier) Type

func (m *FieldModifier) Type() string

Type returns the type of this modifier

type GroupsModification

type GroupsModification string

GroupsModification is the type of modification to make

const (
	GroupsAdd    GroupsModification = "add"
	GroupsRemove GroupsModification = "remove"
)

the supported types of modification

type GroupsModifier

type GroupsModifier struct {
	// contains filtered or unexported fields
}

GroupsModifier modifies the group membership of the contact

func NewGroupsModifier

func NewGroupsModifier(groups []*flows.Group, modification GroupsModification) *GroupsModifier

NewGroupsModifier creates a new groups modifier

func (*GroupsModifier) Apply

func (m *GroupsModifier) Apply(env utils.Environment, assets flows.SessionAssets, contact *flows.Contact, log func(flows.Event))

Apply applies this modification to the given contact

func (*GroupsModifier) MarshalJSON

func (m *GroupsModifier) MarshalJSON() ([]byte, error)

func (*GroupsModifier) Type

func (m *GroupsModifier) Type() string

Type returns the type of this modifier

type LanguageModifier

type LanguageModifier struct {
	Language utils.Language `json:"language"`
	// contains filtered or unexported fields
}

LanguageModifier modifies the language of a contact

func NewLanguageModifier

func NewLanguageModifier(language utils.Language) *LanguageModifier

NewLanguageModifier creates a new language modifier

func (*LanguageModifier) Apply

func (m *LanguageModifier) Apply(env utils.Environment, assets flows.SessionAssets, contact *flows.Contact, log func(flows.Event))

Apply applies this modification to the given contact

func (*LanguageModifier) Type

func (m *LanguageModifier) Type() string

Type returns the type of this modifier

type NameModifier

type NameModifier struct {
	Name string `json:"name"`
	// contains filtered or unexported fields
}

NameModifier modifies the name of a contact

func NewNameModifier

func NewNameModifier(name string) *NameModifier

NewNameModifier creates a new name modifier

func (*NameModifier) Apply

func (m *NameModifier) Apply(env utils.Environment, assets flows.SessionAssets, contact *flows.Contact, log func(flows.Event))

Apply applies this modification to the given contact

func (*NameModifier) Type

func (m *NameModifier) Type() string

Type returns the type of this modifier

type TimezoneModifier

type TimezoneModifier struct {
	// contains filtered or unexported fields
}

TimezoneModifier modifies the timezone of a contact

func NewTimezoneModifier

func NewTimezoneModifier(timezone *time.Location) *TimezoneModifier

NewTimezoneModifier creates a new timezone modifier

func (*TimezoneModifier) Apply

func (m *TimezoneModifier) Apply(env utils.Environment, assets flows.SessionAssets, contact *flows.Contact, log func(flows.Event))

Apply applies this modification to the given contact

func (*TimezoneModifier) MarshalJSON

func (m *TimezoneModifier) MarshalJSON() ([]byte, error)

func (*TimezoneModifier) Type

func (m *TimezoneModifier) Type() string

Type returns the type of this modifier

type URNModification

type URNModification string

URNModification is the type of modification to make

const (
	URNAppend URNModification = "append"
)

the supported types of modification

type URNModifier

type URNModifier struct {
	URN          urns.URN        `json:"urn"`
	Modification URNModification `json:"modification" validate:"required,eq=append"`
	// contains filtered or unexported fields
}

URNModifier modifies a URN on a contact

func NewURNModifier

func NewURNModifier(urn urns.URN, modification URNModification) *URNModifier

NewURNModifier creates a new name modifier

func (*URNModifier) Apply

func (m *URNModifier) Apply(env utils.Environment, assets flows.SessionAssets, contact *flows.Contact, log func(flows.Event))

Apply applies this modification to the given contact

func (*URNModifier) Type

func (m *URNModifier) Type() string

Type returns the type of this modifier

Jump to

Keyboard shortcuts

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