zf

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

commit 0b576d0b3b752603311ca603ed02e52bf97f0c9c
parent 47bd2f461d1ae7cf1056ba04690646c0e469e0ad
Author: srfsh <dev@srf.sh>
Date:   Thu, 10 Nov 2022 13:35:28 +0300

Zenflows.VF.{Unit,ResourceSpecification}.Domain: allow create() functions to take an optional repo parameter

Required for the migrations.  We might want to add this to all create() functions anyway.

Diffstat:
Msrc/zenflows/vf/resource_specification/domain.ex | 12++++++------
Msrc/zenflows/vf/unit/domain.ex | 13+++++++------
2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/src/zenflows/vf/resource_specification/domain.ex b/src/zenflows/vf/resource_specification/domain.ex @@ -51,22 +51,22 @@ def all!(page \\ Page.new()) do value end -@spec create(Schema.params()) +@spec create(Ecto.Repo.t(), Schema.params()) :: {:ok, ResourceSpecification.t()} | {:error, Changeset.t()} -def create(params) do +def create(repo \\ Repo, params) do key = multi_key() Multi.new() |> multi_insert(params) - |> Repo.transaction() + |> repo.transaction() |> case do {:ok, %{^key => value}} -> {:ok, value} {:error, _, reason, _} -> {:error, reason} end end -@spec create!(Schema.params()) :: ResourceSpecification.t() -def create!(params) do - {:ok, value} = create(params) +@spec create!(Ecto.Repo.t(), Schema.params()) :: ResourceSpecification.t() +def create!(repo \\ Repo, params) do + {:ok, value} = create(repo, params) value end diff --git a/src/zenflows/vf/unit/domain.ex b/src/zenflows/vf/unit/domain.ex @@ -50,21 +50,22 @@ def all!(page \\ Page.new()) do value end -@spec create(Schema.params()) :: {:ok, Unit.t()} | {:error, Changeset.t()} -def create(params) do +@spec create(Ecto.Repo.t(), Schema.params()) + :: {:ok, Unit.t()} | {:error, Changeset.t()} +def create(repo \\ Repo, params) do key = multi_key() Multi.new() |> multi_insert(params) - |> Repo.transaction() + |> repo.transaction() |> case do {:ok, %{^key => value}} -> {:ok, value} {:error, _, reason, _} -> {:error, reason} end end -@spec create!(Schema.params()) :: Unit.t() -def create!(params) do - {:ok, value} = create(params) +@spec create!(Ecto.Repo.t(), Schema.params()) :: Unit.t() +def create!(repo \\ Repo, params) do + {:ok, value} = create(repo, params) value end