The top-level entity that groups entrypoints and targets is now called Webhook (was Processor). The inbound URL endpoint entity is now called Entrypoint (was Webhook). This rename affects database models, handler comments, routes, and README documentation. closes #12
33 lines
954 B
Go
33 lines
954 B
Go
package database
|
|
|
|
// TargetType represents the type of delivery target
|
|
type TargetType string
|
|
|
|
const (
|
|
TargetTypeHTTP TargetType = "http"
|
|
TargetTypeRetry TargetType = "retry"
|
|
TargetTypeDatabase TargetType = "database"
|
|
TargetTypeLog TargetType = "log"
|
|
)
|
|
|
|
// Target represents a delivery target for a webhook
|
|
type Target struct {
|
|
BaseModel
|
|
|
|
WebhookID string `gorm:"type:uuid;not null" json:"webhook_id"`
|
|
Name string `gorm:"not null" json:"name"`
|
|
Type TargetType `gorm:"not null" json:"type"`
|
|
Active bool `gorm:"default:true" json:"active"`
|
|
|
|
// Configuration fields (JSON stored based on type)
|
|
Config string `gorm:"type:text" json:"config"` // JSON configuration
|
|
|
|
// For retry targets
|
|
MaxRetries int `json:"max_retries,omitempty"`
|
|
MaxQueueSize int `json:"max_queue_size,omitempty"`
|
|
|
|
// Relations
|
|
Webhook Webhook `json:"webhook,omitempty"`
|
|
Deliveries []Delivery `json:"deliveries,omitempty"`
|
|
}
|