From 51a53143ab458ec9f270bdd24278bd1f03fa291c Mon Sep 17 00:00:00 2001 From: Jechol Lee Date: Sat, 31 Aug 2024 07:14:09 +0900 Subject: [PATCH] improvement: Add attribute_type to configure archived_at timestamp (#56) --- lib/ash_archival/resource/resource.ex | 5 +++++ lib/ash_archival/resource/transformers/setup_archival.ex | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/ash_archival/resource/resource.ex b/lib/ash_archival/resource/resource.ex index b5a1358..96e98a2 100644 --- a/lib/ash_archival/resource/resource.ex +++ b/lib/ash_archival/resource/resource.ex @@ -8,6 +8,11 @@ defmodule AshArchival.Resource do default: :archived_at, doc: "The attribute in which to store the archival flag (the current datetime)." ], + attribute_type: [ + type: :atom, + default: :utc_datetime_usec, + doc: "The attribute type." + ], base_filter?: [ type: :atom, default: false, diff --git a/lib/ash_archival/resource/transformers/setup_archival.ex b/lib/ash_archival/resource/transformers/setup_archival.ex index 2fc5fa2..e710643 100644 --- a/lib/ash_archival/resource/transformers/setup_archival.ex +++ b/lib/ash_archival/resource/transformers/setup_archival.ex @@ -33,8 +33,9 @@ defmodule AshArchival.Resource.Transformers.SetupArchival do defp add_archived_at(dsl_state) do attribute = AshArchival.Resource.Info.archive_attribute!(dsl_state) + attribute_type = AshArchival.Resource.Info.archive_attribute_type!(dsl_state) - Ash.Resource.Builder.add_new_attribute(dsl_state, attribute, :utc_datetime_usec, + Ash.Resource.Builder.add_new_attribute(dsl_state, attribute, attribute_type, public?: false, allow_nil?: true )