defmodule GitGud.Webhooks.WebhookDelivery do
use Ecto.Schema
import Ecto.Changeset
alias GitGud.Webhooks.Webhook
schema "webhook_deliveries" do
field :event, :string
field :status, :string, default: "pending"
field :status_code, :integer
field :request_body, :string
field :response_body, :string
field :duration_ms, :integer
field :attempts, :integer, default: 0
field :delivered_at, :utc_datetime
belongs_to :webhook, Webhook
timestamps(type: :utc_datetime)
end
def changeset(delivery, attrs) do
delivery
|> cast(attrs, [
:event,
:status,
:status_code,
:request_body,
:response_body,
:duration_ms,
:attempts,
:delivered_at
])
|> validate_required([:event])
end
end
790 B · text
5af55d9