package model import "github.com/tech/sendico/pkg/mservice" type CallbackStatus string const ( CallbackStatusActive CallbackStatus = "active" CallbackStatusDisabled CallbackStatus = "disabled" ) type CallbackSigningMode string const ( CallbackSigningModeNone CallbackSigningMode = "none" CallbackSigningModeHMACSHA256 CallbackSigningMode = "hmac_sha256" ) type CallbackRetryPolicy struct { MinDelayMS int `bson:"min_ms" json:"minDelayMs"` MaxDelayMS int `bson:"max_ms" json:"maxDelayMs"` SigningMode CallbackSigningMode `bson:"signing_mode" json:"signingMode"` SecretRef string `bson:"secret_ref,omitempty" json:"secretRef,omitempty"` Headers map[string]string `bson:"headers,omitempty" json:"headers,omitempty"` MaxAttempts int `bson:"max_attempts" json:"maxAttempts"` RequestTimeoutMS int `bson:"request_timeout_ms" json:"requestTimeoutMs"` } type Callback struct { PermissionBound `bson:",inline" json:",inline"` Describable `bson:",inline" json:",inline"` ClientID string `bson:"client_id" json:"clientId"` Status CallbackStatus `bson:"status" json:"status"` URL string `bson:"url" json:"url"` EventTypes []string `bson:"event_types" json:"eventTypes"` RetryPolicy CallbackRetryPolicy `bson:"retry_policy" json:"retryPolicy"` } func (*Callback) Collection() string { return mservice.Callbacks }