From 3adb8c9aaeca9c9fd4f741ade0997aea14f2ffba Mon Sep 17 00:00:00 2001 From: shibao Date: Mon, 4 Jul 2022 21:16:09 -0400 Subject: [PATCH] pass invite token in properly --- lib/cannery/invites.ex | 3 +-- lib/cannery/invites/invite.ex | 9 +++++---- lib/cannery_web/live/invite_live/form_component.ex | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/cannery/invites.ex b/lib/cannery/invites.ex index d962c70..e767408 100644 --- a/lib/cannery/invites.ex +++ b/lib/cannery/invites.ex @@ -106,8 +106,7 @@ defmodule Cannery.Invites do |> Base.url_encode64() |> binary_part(0, @invite_token_length) - attrs = attrs |> Map.put("token", token) - %Invite{} |> Invite.create_changeset(user, attrs) |> Repo.insert() + %Invite{} |> Invite.create_changeset(user, token, attrs) |> Repo.insert() end @doc """ diff --git a/lib/cannery/invites/invite.ex b/lib/cannery/invites/invite.ex index 0289af0..d7aba15 100644 --- a/lib/cannery/invites/invite.ex +++ b/lib/cannery/invites/invite.ex @@ -38,11 +38,12 @@ defmodule Cannery.Invites.Invite do @type id :: UUID.t() @doc false - @spec create_changeset(new_invite(), User.t(), attrs :: map()) :: Changeset.t(new_invite()) - def create_changeset(invite, %User{id: user_id}, attrs) do + @spec create_changeset(new_invite(), User.t(), token :: binary(), attrs :: map()) :: + Changeset.t(new_invite()) + def create_changeset(invite, %User{id: user_id}, token, attrs) do invite - |> change(user_id: user_id) - |> cast(attrs, [:name, :token, :uses_left, :disabled_at]) + |> change(token: token, user_id: user_id) + |> cast(attrs, [:name, :uses_left, :disabled_at]) |> validate_required([:name, :token, :user_id]) |> validate_number(:uses_left, greater_than_or_equal_to: 0) end diff --git a/lib/cannery_web/live/invite_live/form_component.ex b/lib/cannery_web/live/invite_live/form_component.ex index 3fd8b3c..5961949 100644 --- a/lib/cannery_web/live/invite_live/form_component.ex +++ b/lib/cannery_web/live/invite_live/form_component.ex @@ -38,7 +38,7 @@ defmodule CanneryWeb.InviteLive.FormComponent do changeset = case action do - :new -> invite |> Invite.create_changeset(user, invite_params) + :new -> invite |> Invite.create_changeset(user, "example_token", invite_params) :edit -> invite |> Invite.update_changeset(invite_params) end