diff --git a/lib/planner/tasks.ex b/lib/planner/tasks.ex index 481a2f9..7088335 100644 --- a/lib/planner/tasks.ex +++ b/lib/planner/tasks.ex @@ -4,16 +4,6 @@ defmodule Planner.Tasks do alias Planner.Repo alias Planner.Tasks.Task - def add_task(attrs) do - attrs = - attrs - |> cast_finished_at() - - %Task{} - |> Task.changeset(attrs) - |> Repo.insert() - end - def list_all_tasks, do: Repo.all(Task) def list_unfinished_tasks do @@ -34,39 +24,32 @@ defmodule Planner.Tasks do |> Repo.all() end - def change_task(%Task{} = task) do - task - |> Task.changeset(%{}) - end + def get_task!(id), do: Repo.get!(Task, id) - def cast_finished_at(attrs) do - attrs - |> Map.update("finished_at", nil, fn - "true" -> NaiveDateTime.utc_now() - "false" -> nil - val -> val - end) + def create_task(attrs \\ %{}) do + %Task{} + |> Task.changeset(attrs) + |> Repo.insert() end def update_task(%Task{} = task, attrs) do - attrs = - attrs - |> cast_finished_at() - task |> Task.changeset(attrs) |> Repo.update() end - def get_task!(id), do: Repo.get!(Task, id) - - def exists?(id), do: Repo.exists?(from(t in Task, where: t.id == ^id)) - def delete_task_by_id!(id) do get_task!(id) |> Repo.delete() end + def change_task(%Task{} = task) do + task + |> Task.changeset(%{}) + end + + def task_exists?(id), do: Repo.exists?(from(t in Task, where: t.id == ^id)) + def finish_task_by_id!(id) do get_task!(id) |> Task.finish_task() @@ -83,7 +66,7 @@ defmodule Planner.Tasks do case task_id do :error -> :error - _ -> exists?(task_id) + _ -> task_exists?(task_id) end end end diff --git a/lib/planner/tasks/task.ex b/lib/planner/tasks/task.ex index 33a4e44..1235370 100644 --- a/lib/planner/tasks/task.ex +++ b/lib/planner/tasks/task.ex @@ -13,7 +13,6 @@ defmodule Planner.Tasks.Task do timestamps() end - @doc false def changeset(task, attrs) do task |> cast(attrs, [:value, :filed_at, :finished_at, :due_at]) @@ -21,10 +20,10 @@ defmodule Planner.Tasks.Task do |> validate_length(:value, min: 3) end - @doc false def finish_task(task) do - now = NaiveDateTime.utc_now() |> NaiveDateTime.truncate(:second) # TODO, this should check if `finished_at` is not nil, first - change(task, finished_at: now) + change(task, finished_at: now()) end + + defp now(), do: NaiveDateTime.utc_now() |> NaiveDateTime.truncate(:second) end diff --git a/lib/planner_web/live/tasks_components.ex b/lib/planner_web/live/tasks_components.ex index 27dcfdb..a689a39 100644 --- a/lib/planner_web/live/tasks_components.ex +++ b/lib/planner_web/live/tasks_components.ex @@ -214,18 +214,6 @@ defmodule TaskEditComponent do <%= error_tag(f, :due_at) %> -