Documentation
¶
Index ¶
Constants ¶
View Source
const ( TypeNone = Type(iota) TypeDelivery TypeDeliveryKind TypeMessage TypeMessageKind TypeNamespace TypeTemplate TypeTemplateKind )
Enumeration of all resource types.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Delivery ¶
type Delivery struct {
ID uuid.UUID `json:"id" db:"id"`
// A reference to the requested message.
MessageID uuid.UUID `json:"messageId" db:"message_id"`
// A reference to how the message was delivered.
DeliveryKindID uuid.UUID `json:"deliveryKindId" db:"delivery_kind_id"`
// The IETF language tag into which the message content was generated.
LanguageTag string `json:"languageTag" db:"language_tag"`
// The current status of the delivery, either `pending`, `delivering`, `delivered`,
// `undelivered`, or `blocked`.
Status string `json:"status" db:"status"`
// Any information about the delivery's current status.
StatusMessage string `json:"statusMessage" db:"status_message"`
// The time when the delivery was actually done. A value does not indicate that the delivery was
// successful - the status field must instead be used for this purpose.
DeliverTime *time.Time `json:"deliverTime" db:"deliver_time"`
// The input provided to the requester when the delivery was made, and its resulting output.
// These may contain sensitive information.
Input map[string]interface{} `json:"input" db:"input"`
Output map[string]interface{} `json:"output" db:"output"`
// The delivery's identifier from the point of view of the third-party service that
// performed the actual delivery. This is used when that service performs a callback with more
// information about the delivery.
ExternalID string `json:"externalId" db:"external_id"`
CreateTime time.Time `json:"createTime" db:"create_time,omitempty"`
UpdateTime time.Time `json:"updateTime" db:"update_time,omitempty"`
}
Delivery defines the attributes related to a delivery.
type DeliveryKind ¶
type DeliveryKind struct {
ID uuid.UUID `json:"id" db:"id"`
// A human-readable identifier. Only one delivery kind should be active for a given code.
Code string `json:"code" db:"code"`
// A reference to the delivery kind's namespace.
NamespaceID uuid.UUID `json:"namespaceId" db:"namespace_id"`
// The deliverer host where it can be reached.
Host string `json:"host" db:"host"`
// Whether delivering messages using this delivery kind is blocked.
Disabled bool `json:"disabled" db:"disabled"`
CreateTime time.Time `json:"createTime" db:"create_time,omitempty"`
UpdateTime time.Time `json:"updateTime" db:"update_time,omitempty"`
}
DeliveryKind defines the attributes related to a delivery kind.
type Message ¶
type Message struct {
ID uuid.UUID `json:"id" db:"id"`
// A reference to the message's kind.
MessageKindID uuid.UUID `json:"messageKindId" db:"message_kind_id"`
// The initial input provided by the user.
Input map[string]interface{} `json:"input" db:"input"`
// The current status of the message, either `active`, `scheduled`, `succeeded`, or `failed`.
Status string `json:"status" db:"status"`
// The time at which the message is scheduled to be delivered.
ScheduleTime *time.Time `json:"scheduleTime" db:"schedule_time"`
CreateTime time.Time `json:"createTime" db:"create_time,omitempty"`
UpdateTime time.Time `json:"updateTime" db:"update_time,omitempty"`
}
Message defines the attributes related to a message.
type MessageKind ¶
type MessageKind struct {
ID uuid.UUID `json:"id" db:"id"`
// A human-readable identifier. Only one message kind should be active for a given code.
Code string `json:"code" db:"code"`
// A reference to the message kind's namespace.
NamespaceID uuid.UUID `json:"namespaceId" db:"namespace_id"`
// Whether delivering messages using this message kind is blocked.
Disabled bool `json:"disabled" db:"disabled"`
CreateTime time.Time `json:"createTime" db:"create_time,omitempty"`
UpdateTime time.Time `json:"updateTime" db:"update_time,omitempty"`
}
MessageKind defines the attributes related to a message kind.
type Namespace ¶
type Namespace struct {
ID uuid.UUID `json:"id" db:"id"`
// A human-readable identifier. Only one namespace should be active for a given code.
Code string `json:"code" db:"code"`
ParentID *uuid.UUID `json:"parentId" db:"parent_id"`
CreateTime time.Time `json:"createTime" db:"create_time,omitempty"`
UpdateTime time.Time `json:"updateTime" db:"update_time,omitempty"`
}
Namespace defines the attributes related to a namespace.
type Template ¶
type Template struct {
ID uuid.UUID `json:"id" db:"id"`
// A reference to the message kind.
MessageKindID uuid.UUID `json:"messageKindId" db:"message_kind_id"`
// A reference to the template kind.
TemplateKindID uuid.UUID `json:"templateKindId" db:"template_kind_id"`
// The IETF language tag into which a content should be generated.
LanguageTag string `json:"languageTag" db:"language_tag"`
// The template body that will be provided to the template engine.
Body string `json:"body" db:"body"`
CreateTime time.Time `json:"createTime" db:"create_time,omitempty"`
UpdateTime time.Time `json:"updateTime" db:"update_time,omitempty"`
}
Template defines the attributes related to a template that can generate a message.
type TemplateKind ¶
type TemplateKind struct {
ID uuid.UUID `json:"id" db:"id"`
// A reference to the delivery kind.
DeliveryKindID uuid.UUID `json:"deliveryKindId" db:"delivery_kind_id"`
// The attribute name into which the result will be stored.
TargetAttr string `json:"targetAttr" db:"target_attr"`
CreateTime time.Time `json:"createTime" db:"create_time,omitempty"`
UpdateTime time.Time `json:"updateTime" db:"update_time,omitempty"`
}
TemplateKind defines the attributes related to a template kind.
Click to show internal directories.
Click to hide internal directories.