Files
Claper/lib/lti_13/registrations.ex
2024-07-11 12:41:05 +02:00

41 lines
1020 B
Elixir

defmodule Lti13.Registrations do
import Ecto.Query, warn: false
alias Lti13.Deployments.Deployment
alias Claper.Repo
alias Lti13.Registrations.Registration
def create_registration(attrs) do
%Registration{}
|> Registration.changeset(attrs)
|> Repo.insert()
end
def get_registration_deployment(issuer, client_id, deployment_id) do
case Repo.one(
from(d in Deployment,
join: r in Registration,
on: d.registration_id == r.id,
where:
r.issuer == ^issuer and r.client_id == ^client_id and
d.deployment_id == ^deployment_id,
select: {r, d}
)
) do
nil ->
nil
{r, d} ->
{r, d}
end
end
def get_registration_by_issuer_client_id(issuer, client_id) do
Repo.one(
from(registration in Registration,
where: registration.issuer == ^issuer and registration.client_id == ^client_id,
select: registration
)
)
end
end