Skip to main content

lib/keksdose.ex

defmodule Keksdose do
  @moduledoc """
  Drop-in cookie-consent ingestion + audit dashboard for Phoenix/Plug apps.

  See `README.md` for installation. The package exposes:

    * `Keksdose.Record` — Ecto schema for `consent_records`
    * `Keksdose.PlugHandler` — ingestion endpoint plug
    * `Keksdose.DashboardPlug` — server-rendered analytics view
    * `Keksdose.FrontendConfig` — `<script>` snippet for the client
    * `Mix.Tasks.Keksdose.Install` — migration generator
  """

  @doc """
  Returns the configured host-app repo, raising if unset.
  """
  def repo! do
    Application.get_env(:keksdose, :repo) ||
      raise """
      Keksdose: no repo configured.

      Add to your config:

          config :keksdose, repo: MyApp.Repo
      """
  end
end