Documentation ¶
Index ¶
- type ContactMethod
- type Metadata
- type Store
- func (s *Store) Create(ctx context.Context, dbtx gadb.DBTX, c *ContactMethod) (*ContactMethod, error)
- func (s *Store) Delete(ctx context.Context, dbtx gadb.DBTX, ids ...string) error
- func (s *Store) DisableByValue(ctx context.Context, dbtx gadb.DBTX, t Type, v string) error
- func (s *Store) EnableByValue(ctx context.Context, dbtx gadb.DBTX, t Type, v string) error
- func (s *Store) FindAll(ctx context.Context, dbtx gadb.DBTX, userID string) ([]ContactMethod, error)
- func (s *Store) FindMany(ctx context.Context, dbtx gadb.DBTX, ids []string) ([]ContactMethod, error)
- func (s *Store) FindOne(ctx context.Context, dbtx gadb.DBTX, id string) (*ContactMethod, error)
- func (s *Store) MetadataByTypeValue(ctx context.Context, dbtx gadb.DBTX, typ Type, value string) (*Metadata, error)
- func (s *Store) SetCarrierV1MetadataByTypeValue(ctx context.Context, dbtx gadb.DBTX, typ Type, value string, newM *Metadata) error
- func (s *Store) Update(ctx context.Context, dbtx gadb.DBTX, c *ContactMethod) error
- type Type
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
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 ¶
Delete removes the ContactMethod from the database using the provided ID within a transaction.
func (*Store) DisableByValue ¶
func (*Store) EnableByValue ¶ added in v0.25.0
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 ¶
FindOneTx finds the contact method from the database using the provided ID within a transaction.
func (*Store) MetadataByTypeValue ¶ added in v0.25.0
func (*Store) SetCarrierV1MetadataByTypeValue ¶ added in v0.25.0
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