diff --git a/lib/putzplan/tasks.ex b/lib/putzplan/tasks.ex index a407b77..02854d6 100644 --- a/lib/putzplan/tasks.ex +++ b/lib/putzplan/tasks.ex @@ -3,5 +3,6 @@ defmodule Putzplan.Tasks do resources do resource Putzplan.Tasks.Task + resource Putzplan.Tasks.CompletedTask end end diff --git a/lib/putzplan/tasks/completed_task.ex b/lib/putzplan/tasks/completed_task.ex new file mode 100644 index 0000000..9d16520 --- /dev/null +++ b/lib/putzplan/tasks/completed_task.ex @@ -0,0 +1,30 @@ +defmodule Putzplan.Tasks.CompletedTask do + use Ash.Resource, otp_app: :putzplan, domain: Putzplan.Tasks, data_layer: AshSqlite.DataLayer + + actions do + defaults [:read] + end + + attributes do + uuid_primary_key :id + + attribute :completion, :date do + allow_nil? false + end + end + + relationships do + belongs_to :users, Putzplan.Accounts.User do + allow_nil? false + end + + belongs_to :tasks, Putzplan.Tasks.Task do + allow_nil? false + end + end + + sqlite do + table "completed_tasks" + repo Putzplan.Repo + end +end