create :create_with_signed_upload_url do
argument :signed_upload_url, :string, allow_nil?: false
change relate_actor(:user)
change before_action(fn changeset ->
url = Ash.Changeset.get_argument(changeset, :signed_upload_url)
{visit_id, filename} = Scribble.Recording.parse_and_validate_gcs_url(url)
# This should actually be checking if the actor can update the visit
Scribble.Practice.Visit.get!(visit_id)
Ash.Changeset.force_change_attributes(
changeset,
%{url: url, filename: filename, visit_id: visit_id}
)
end)
create :create_with_signed_upload_url do
argument :signed_upload_url, :string, allow_nil?: false
change relate_actor(:user)
change before_action(fn changeset ->
url = Ash.Changeset.get_argument(changeset, :signed_upload_url)
{visit_id, filename} = Scribble.Recording.parse_and_validate_gcs_url(url)
# This should actually be checking if the actor can update the visit
Scribble.Practice.Visit.get!(visit_id)
Ash.Changeset.force_change_attributes(
changeset,
%{url: url, filename: filename, visit_id: visit_id}
)
end)