Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
56 lines
1.4 KiB
Go
56 lines
1.4 KiB
Go
// Copyright © 2023 Ory Corp
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package courier
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/gofrs/uuid"
|
|
|
|
"github.com/ory/x/sqlxx"
|
|
)
|
|
|
|
// swagger:enum CourierMessageDispatchStatus
|
|
type CourierMessageDispatchStatus string
|
|
|
|
const (
|
|
CourierMessageDispatchStatusFailed CourierMessageDispatchStatus = "failed"
|
|
CourierMessageDispatchStatusSuccess CourierMessageDispatchStatus = "success"
|
|
)
|
|
|
|
// MessageDispatch represents an attempt of sending a courier message
|
|
// It contains the status of the attempt (failed or successful) and the error if any occured
|
|
//
|
|
// swagger:model messageDispatch
|
|
type MessageDispatch struct {
|
|
// The ID of this message dispatch
|
|
// required: true
|
|
ID uuid.UUID `json:"id" db:"id"`
|
|
|
|
// The ID of the message being dispatched
|
|
// required: true
|
|
MessageID uuid.UUID `json:"message_id" db:"message_id"`
|
|
|
|
// The status of this dispatch
|
|
// Either "failed" or "success"
|
|
// required: true
|
|
Status CourierMessageDispatchStatus `json:"status" db:"status"`
|
|
|
|
// An optional error
|
|
Error sqlxx.JSONRawMessage `json:"error,omitempty" db:"error"`
|
|
|
|
// CreatedAt is a helper struct field for gobuffalo.pop.
|
|
// required: true
|
|
CreatedAt time.Time `json:"created_at" db:"created_at"`
|
|
// UpdatedAt is a helper struct field for gobuffalo.pop.
|
|
// required: true
|
|
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
|
|
|
|
NID uuid.UUID `json:"-" db:"nid"`
|
|
}
|
|
|
|
func (MessageDispatch) TableName() string {
|
|
return "courier_message_dispatches"
|
|
}
|