26 lines
653 B
Elixir
26 lines
653 B
Elixir
defmodule Diffuser.Generator.PromptRequest do
|
|
use Ecto.Schema
|
|
use Waffle.Ecto.Schema
|
|
import Ecto.Changeset
|
|
alias Diffuser.Generator.PromptRequestResult
|
|
|
|
@primary_key {:id, Ecto.UUID, autogenerate: true}
|
|
schema "prompt_requests" do
|
|
field :prompt, :string
|
|
field :status, :string, default: "queued"
|
|
field :steps, :integer
|
|
field :guidance_scale, :float
|
|
|
|
has_many :images, PromptRequestResult, on_delete: :delete_all
|
|
|
|
timestamps()
|
|
end
|
|
|
|
@doc false
|
|
def changeset(prompt_request, attrs) do
|
|
prompt_request
|
|
|> cast(attrs, [:prompt, :status, :steps, :guidance_scale])
|
|
|> validate_required([:prompt])
|
|
end
|
|
end
|