View Source EctoForge.DatabaseApi behaviour (ecto_forge v0.1.5)
Implements base functions for database
use(
EctoForge.DatabaseApi,
[
repo: MyApp.Repo, # required param
extensions_get: [], # default list
extensions_events: [] # default list
]
)
functions find_all, works only with extension EctoForge.Extension.Get.Preload
, EctoForge.Extension.Get.Filter
or you can write yours own
This module creates an instance of the database all functions function. It can be used through the use of Parameter
- create(map) # takes changeset and does repo.insert()
- create(map, :function_for_changeset),
- create!(map, :function_for_changeset), # takes function_for_changeset from the module and does repo.insert!()
- create!(map, :function_for_changeset), # takes the changeset and does a repo.insert!()
- find_all(map or keyword) # returns result_list or nil
- find(map or keyword) # returns result or nil
- get(map or keyword) # returns {:ok, result_one} or {:error, result_one}
- get!(map or keyword) # returns result or return throw
- get_all(map or keyword) # returns {:ok, list} or {:error, list}
- get_all!(map or keyword) # result items or throw(no results)
- update_by_opts(get_params, update) # result {:ok, item} or {:error, result}
- update(item, opts_update) # result {:ok, item} or {:error, result}
- update!(item, update_opts) # return item or throw
- update(item) # return {:ok, item} or {:error, result}
- update_with_another_changeset!(%@module_model{} = item, opts, function_atom) # return item or throw
- update_with_another_changeset(%@module_model{} = item, opts, function_atom) # return {:ok, item} or {:error, result}
- delete(%@modulemodel{} or opts_for_get) # result {:ok, } or {:error, _}
- delete!(%@modulemodel{} or opts_for_get) # result {:ok, } or {:error, _}
- update_or_create!(get_attrs, or_insert_update_attrs, opts )
- update_or_create(get_attrs, or_insert_update_attrs, opts )
Summary
Callbacks
@callback create(create_attrs :: map()) :: {:ok, struct()} | {:error, Ecto.Changeset.t()}
@callback create(create_attrs :: map(), function_changest_from_module :: atom()) :: {:ok, struct()} | {:error, Ecto.Changeset.t()}