Powered by AppSignal & Oban Pro

Mediate

README.livemd

Mediate

Testing Stuff

alias Mediate.Chat.Thread
alias Mediate.Chat.Message
alias Mediate.Accounts.User
require Ash.Query

# user = User.get_by!(%{email: "dewetblomerus@gmail.com"})

user = User.get_by!(%{id: 1})
# user =
#   Ash.load!(user, [
#     :threads
#   ], actor: user)

# thread = Thread.for_mediator!(actor: user)
thread_id = 2

# messages =
#       Mediate.Chat.Message
#       |> Ash.Query.filter(thread_id == ^thread_id)
#       |> Ash.read!(actor: socket.assigns[:current_user])

# Message.get_by(%{thread_id: 1})
# messages =
#       Mediate.Chat.Message
#       |> Ash.Query.filter(thread_id == ^thread_id)
#       |> Ash.read!(actor: socket.assigns[:current_user])

# Red.Practice.Card
# |> Ash.Query.for_read(:next, %{}, actor: user)
# |> Red.Practice.read_one!()
# for_read(query, action_name, args \\ %{}, opts \\ [])

# Mediate.Chat.Message
# |> Ash.Query.for_read(:for_thread, %{thread_id: thread_id})
# |> Ash.Query.load([:sender])
# |> Ash.read!()

# Mediate.Chat.Thread
# |> Ash.Query.for_read(:get_by, %{id: 2})
# |> Ash.read!()
# |> Ash.load!([:users])

# User
# |> Ash.Query.for_read(:for_thread, %{thread_id: 2})
# |> Ash.Query.select([:id, :name, :picture])
# |> Ash.read!()

# User
# |> Ash.Query.filter(^thread_id in participating_threads)
# |> Ash.Query.select([:id, :name])
# |> Ash.read!()

# Message.for_thread!(%{thread_id: thread_id})

Message
|> Ash.Changeset.for_create(:create, %{body: "thebody", sender_id: 1, thread_id: 2})
alias Mediate.OpenAi

# OpenAi.generate("something")

user = User.get_by!(%{id: "1"})

Local Development

  • Run mix setup to install and setup dependencies
  • mix phx.server