tracker.ex (807B)
1 defmodule DailyTracker.Tracker do 2 import Ecto.Query, warn: false 3 alias DailyTracker.Repo 4 alias DailyTracker.Tracker.Entry 5 alias DailyTracker.Accounts.Scope 6 7 def list_entries(%Scope{user: user}) do 8 Entry 9 |> where(user_id: ^user.id) 10 |> Repo.all() 11 end 12 13 def get_entry!(%Scope{user: user}, id) do 14 Entry 15 |> where(user_id: ^user.id) 16 |> Repo.get!(id) 17 end 18 19 def create_entry(%Scope{user: user}, attrs) do 20 %Entry{user_id: user.id} 21 |> Entry.changeset(attrs) 22 |> Repo.insert() 23 end 24 25 def update_entry(%Entry{} = entry, attrs) do 26 entry 27 |> Entry.changeset(attrs) 28 |> Repo.update() 29 end 30 31 def delete_entry(%Entry{} = entry) do 32 Repo.delete(entry) 33 end 34 35 def change_entry(%Entry{} = entry, attrs \\ %{}) do 36 Entry.changeset(entry, attrs) 37 end 38 end