# User.ex
attribute :settings, Proj.Resources.Accounts.UserSettings do
allow_nil?(false)
# TODO, can this be improved?!
default(fn -> %Proj.Resources.Accounts.UserSettings{} end)
end
# UserSettings.ex
defmodule Proj.Resources.Accounts.UserSettings do
use Ash.Resource,
data_layer: :embedded
attributes do
attribute :time_zone, :string do
allow_nil?(false)
default("Europe/London")
end
attribute :reminder_enabled, :boolean do
allow_nil?(false)
default(true)
end
attribute :reminder_time, :string do
allow_nil?(false)
default("09:00")
end
attribute :reminder_day, :string do
allow_nil?(false)
default("Monday")
end
end
end
# User.ex
attribute :settings, Proj.Resources.Accounts.UserSettings do
allow_nil?(false)
# TODO, can this be improved?!
default(fn -> %Proj.Resources.Accounts.UserSettings{} end)
end
# UserSettings.ex
defmodule Proj.Resources.Accounts.UserSettings do
use Ash.Resource,
data_layer: :embedded
attributes do
attribute :time_zone, :string do
allow_nil?(false)
default("Europe/London")
end
attribute :reminder_enabled, :boolean do
allow_nil?(false)
default(true)
end
attribute :reminder_time, :string do
allow_nil?(false)
default("09:00")
end
attribute :reminder_day, :string do
allow_nil?(false)
default("Monday")
end
end
end