File size: 652 Bytes
936b397 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | defmodule Plausible.Audit do
@moduledoc """
Primary persistent Audit Entry interface
"""
import Ecto.Query
defdelegate encode(term, opts \\ []), to: Plausible.Audit.Encoder
defdelegate set_context(term), to: Plausible.Audit.Entry
def list_entries(attrs) do
attrs
|> entries_query()
|> Plausible.Repo.all()
end
def list_entries_paginated(attrs, params \\ %{}) do
attrs
|> entries_query()
|> Plausible.Pagination.paginate(params, cursor_fields: [{:datetime, :desc}])
end
defp entries_query(attrs) do
from ae in Plausible.Audit.Entry,
where: ^attrs,
order_by: [desc: :datetime]
end
end
|