Files
sendico/api/gateway/common/outbox/model.go
2026-02-18 01:35:28 +01:00

34 lines
772 B
Go

package outbox
import (
"time"
"github.com/tech/sendico/pkg/db/storable"
)
const Collection = "outbox"
type Status string
const (
StatusPending Status = "pending"
StatusSent Status = "sent"
StatusFailed Status = "failed"
)
// Event represents an outbox message pending dispatch to the broker.
type Event struct {
storable.Base `bson:",inline" json:",inline"`
EventID string `bson:"eventId" json:"eventId"`
Subject string `bson:"subject" json:"subject"`
Payload []byte `bson:"payload" json:"payload"`
Status Status `bson:"status" json:"status"`
Attempts int `bson:"attempts" json:"attempts"`
SentAt *time.Time `bson:"sentAt,omitempty" json:"sentAt,omitempty"`
}
func (*Event) Collection() string {
return Collection
}