zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

commit b5a343faaf9e4eece91ce4a8a220b2fc323b27f0
parent 49286cbcce1a16b9b56c835b4564221344735495
Author: srfsh <dev@srf.sh>
Date:   Mon,  1 Aug 2022 14:57:54 +0300

Zenflows.VF.Person.Domain: add by/3 clause

Diffstat:
Msrc/zenflows/vf/person/domain.ex | 14++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/zenflows/vf/person/domain.ex b/src/zenflows/vf/person/domain.ex @@ -30,14 +30,24 @@ alias Zenflows.VF.Person @typep id() :: Zenflows.DB.Schema.id() @typep params() :: Zenflows.DB.Schema.params() + +@spec by(repo(), Keyword.t() | map()) :: Person.t() | nil +def by(repo \\ Repo, clauses) +def by(repo, clauses) when is_map(clauses) do + repo.get_by(Person, Map.put(clauses, :type, :per)) +end +def by(repo, clauses) when is_list(clauses) do + repo.get_by(Person, Keyword.put(clauses, :type, :per)) +end + @spec by_id(repo(), id()) :: Person.t() | nil def by_id(repo \\ Repo, id) do - repo.get_by(Person, id: id, type: :per) + by(repo, id: id) end @spec by_user(repo(), String.t()) :: Person.t() | nil def by_user(repo \\ Repo, user) do - repo.get_by(Person, user: user, type: :per) + by(repo, user: user) end @spec exists_email(String.t()) :: boolean()