contactmethod

package
v0.32.0 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ContactMethod

type ContactMethod struct {
	ID       string
	Name     string
	Type     Type
	Value    string
	Disabled bool
	UserID   string
	Pending  bool

	StatusUpdates bool
	// contains filtered or unexported fields
}

ContactMethod stores the information for contacting a user.

func (ContactMethod) LastTestVerifyAt added in v0.26.0

func (c ContactMethod) LastTestVerifyAt() time.Time

LastTestVerifyAt will return the timestamp of the last test/verify request.

func (ContactMethod) Normalize

func (c ContactMethod) Normalize() (*ContactMethod, error)

Normalize will validate and 'normalize' the ContactMethod -- such as making email lower-case and setting carrier to "" (for non-phone types).

type Metadata added in v0.25.0

type Metadata struct {
	FetchedAt time.Time `json:"-"`

	CarrierV1 struct {
		UpdatedAt         time.Time
		Name              string
		Type              string
		MobileNetworkCode string
		MobileCountryCode string
	}
}

Metadata stores information about a contact method.

func (Metadata) MarshalJSON added in v0.25.0

func (m Metadata) MarshalJSON() ([]byte, error)

MarshalJSON implements `json.Marshaler`. It is used to allow `omitempty` behavior with embedded structs.

type Store

type Store struct {
}

Store implements the lookup and management of ContactMethods against a *sql.Store backend.

func (*Store) Create added in v0.32.0

func (s *Store) Create(ctx context.Context, dbtx gadb.DBTX, c *ContactMethod) (*ContactMethod, error)

CreateTx inserts the new ContactMethod into the database. A new ID is always created.

func (*Store) Delete

func (s *Store) Delete(ctx context.Context, dbtx gadb.DBTX, ids ...string) error

Delete removes the ContactMethod from the database using the provided ID within a transaction.

func (*Store) DisableByValue

func (s *Store) DisableByValue(ctx context.Context, dbtx gadb.DBTX, t Type, v string) error

func (*Store) EnableByValue added in v0.25.0

func (s *Store) EnableByValue(ctx context.Context, dbtx gadb.DBTX, t Type, v string) error

func (*Store) FindAll

func (s *Store) FindAll(ctx context.Context, dbtx gadb.DBTX, userID string) ([]ContactMethod, error)

FindAll finds all contact methods from the database associated with the given user ID.

func (*Store) FindMany

func (s *Store) FindMany(ctx context.Context, dbtx gadb.DBTX, ids []string) ([]ContactMethod, error)

FindMany will fetch all contact methods matching the given ids.

func (*Store) FindOne

func (s *Store) FindOne(ctx context.Context, dbtx gadb.DBTX, id string) (*ContactMethod, error)

FindOneTx finds the contact method from the database using the provided ID within a transaction.

func (*Store) MetadataByTypeValue added in v0.25.0

func (s *Store) MetadataByTypeValue(ctx context.Context, dbtx gadb.DBTX, typ Type, value string) (*Metadata, error)

func (*Store) SetCarrierV1MetadataByTypeValue added in v0.25.0

func (s *Store) SetCarrierV1MetadataByTypeValue(ctx context.Context, dbtx gadb.DBTX, typ Type, value string, newM *Metadata) error

func (*Store) Update

func (s *Store) Update(ctx context.Context, dbtx gadb.DBTX, c *ContactMethod) error

UpdateTx updates the contact method with the newly provided values within a transaction.

type Type

type Type string

Type specifies the medium a ContactMethod is notified.

const (
	TypeUnknown Type = ""
	TypeVoice   Type = "VOICE"
	TypeSMS     Type = "SMS"
	TypeEmail   Type = "EMAIL"
	TypePush    Type = "PUSH"
	TypeWebhook Type = "WEBHOOK"
	TypeSlackDM Type = "SLACK_DM"
)

ContactMethod types

func (*Type) Scan

func (r *Type) Scan(value interface{}) error

Scan handles reading a Type from the DB format

func (Type) StatusUpdatesAlways added in v0.31.0

func (t Type) StatusUpdatesAlways() bool

func (Type) StatusUpdatesNever added in v0.31.0

func (t Type) StatusUpdatesNever() bool

func (Type) Value added in v0.28.0

func (t Type) Value() (driver.Value, error)

Jump to

Keyboard shortcuts

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