From 0a59cf5c3378d5fa8b0745bb740f4bcf50a4fdff Mon Sep 17 00:00:00 2001 From: Moritz Date: Tue, 24 Feb 2026 10:34:12 +0100 Subject: [PATCH] Sort custom fields by name as default in read action Add `prepare build(sort: [name: :asc])` to the primary read action of CustomField. Prevents order changes when toggling the `required` flag. --- lib/membership/custom_field.ex | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/membership/custom_field.ex b/lib/membership/custom_field.ex index 411e95d..ef6c79a 100644 --- a/lib/membership/custom_field.ex +++ b/lib/membership/custom_field.ex @@ -52,7 +52,8 @@ defmodule Mv.Membership.CustomField do use Ash.Resource, domain: Mv.Membership, data_layer: AshPostgres.DataLayer, - authorizers: [Ash.Policy.Authorizer] + authorizers: [Ash.Policy.Authorizer], + primary_read_warning?: false postgres do table "custom_fields" @@ -60,9 +61,13 @@ defmodule Mv.Membership.CustomField do end actions do - defaults [:read] default_accept [:name, :value_type, :description, :required, :show_in_overview] + read :read do + primary? true + prepare build(sort: [name: :asc]) + end + create :create do accept [:name, :value_type, :description, :required, :show_in_overview] change Mv.Membership.Changes.GenerateSlug