Port (interface) for DDD Repositories.
Declares base callbacks and domain-specific queries via find_by.
The infrastructure layer provides the concrete Ecto adapter.
Usage
defmodule MyApp.OrderRepository do
use DDD.Repository
repo MyApp.Order do
find_by :customer_id
find_by :status
find_by [:customer_id, :status]
end
endGenerated callbacks:
find_by_id/1
save/1
delete/1
find_by_customer_id/1
find_by_status/1
find_by_customer_id_and_status/2