zf

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

commit 3d51431504b2dcffca2c0471b7ec623065ddce6b
parent 8b46238bfaf129c4ffc68848a035908addacf7b9
Author: srfsh <dev@srf.sh>
Date:   Wed, 17 Aug 2022 11:36:14 +0300

Zenflows.InstVars: convert unitCurrency into specCurrency

It was a brainfart sitation; now it's fixed.

Diffstat:
Mpriv/repo/migrations/20220816154732_create_and_fill_zf_inst_vars.exs | 6+++---
Msrc/zenflows/inst_vars.ex | 4++--
Msrc/zenflows/inst_vars/domain.ex | 4++--
Msrc/zenflows/inst_vars/resolv.ex | 4++--
Msrc/zenflows/inst_vars/type.ex | 6+++++-
5 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/priv/repo/migrations/20220816154732_create_and_fill_zf_inst_vars.exs b/priv/repo/migrations/20220816154732_create_and_fill_zf_inst_vars.exs @@ -25,7 +25,7 @@ def up() do create table("zf_inst_vars", primary_key: false) do add :one_row, :boolean, default: true, primary_key: true add :unit_one_id, references("vf_unit"), null: false - add :unit_currency_id, references("vf_unit"), null: false + add :spec_currency_id, references("vf_resource_specification"), null: false add :spec_project_design_id, references("vf_resource_specification"), null: false add :spec_project_service_id, references("vf_resource_specification"), null: false add :spec_project_product_id, references("vf_resource_specification"), null: false @@ -38,14 +38,14 @@ def up() do execute(fn -> r = repo() {:ok, unit_one} = Unit.Domain.create(r, %{label: "one", symbol: "#"}) - {:ok, unit_currency} = Unit.Domain.create(r, %{label: "currency", symbol: "$"}) + {:ok, spec_currency} = ResourceSpecification.Domain.create(r, %{name: "currency", default_unit_of_resource_id: unit_one.id}) {:ok, spec_design} = ResourceSpecification.Domain.create(r, %{name: "Design", default_unit_of_resource_id: unit_one.id}) {:ok, spec_service} = ResourceSpecification.Domain.create(r, %{name: "Service", default_unit_of_resource_id: unit_one.id}) {:ok, spec_product} = ResourceSpecification.Domain.create(r, %{name: "Product", default_unit_of_resource_id: unit_one.id}) r.insert!(%InstVars{ unit_one_id: unit_one.id, - unit_currency_id: unit_currency.id, + spec_currency_id: spec_currency.id, spec_project_design_id: spec_design.id, spec_project_service_id: spec_service.id, spec_project_product_id: spec_product.id, diff --git a/src/zenflows/inst_vars.ex b/src/zenflows/inst_vars.ex @@ -26,7 +26,7 @@ alias Zenflows.VF.{Unit, ResourceSpecification} @type t() :: %__MODULE__{ unit_one: Unit, - unit_currency: Unit, + spec_currency: ResourceSpecification, spec_project_design: ResourceSpecification, spec_project_service: ResourceSpecification, spec_project_product: ResourceSpecification, @@ -36,7 +36,7 @@ alias Zenflows.VF.{Unit, ResourceSpecification} @foreign_key_type Zenflows.DB.ID schema "zf_inst_vars" do belongs_to :unit_one, Unit - belongs_to :unit_currency, Unit + belongs_to :spec_currency, ResourceSpecification belongs_to :spec_project_design, ResourceSpecification belongs_to :spec_project_service, ResourceSpecification belongs_to :spec_project_product, ResourceSpecification diff --git a/src/zenflows/inst_vars/domain.ex b/src/zenflows/inst_vars/domain.ex @@ -25,13 +25,13 @@ alias Zenflows.VF.{Unit, ResourceSpecification} @doc false def start_link(_) do - [vars] = Repo.all(InstVars) + [vars] = Repo.all(InstVars, timeout: :infinity) Agent.start_link(fn -> %{ units: %{ unit_one: %{id: vars.unit_one_id}, - unit_currency: %{id: vars.unit_currency_id}, }, specs: %{ + spec_currency: %{id: vars.spec_currency_id}, spec_project_design: %{id: vars.spec_project_design_id}, spec_project_service: %{id: vars.spec_project_service_id}, spec_project_product: %{id: vars.spec_project_product_id}, diff --git a/src/zenflows/inst_vars/resolv.ex b/src/zenflows/inst_vars/resolv.ex @@ -29,8 +29,8 @@ def unit_one(%{unit_one: %{id: id}}, _, _) do Unit.Domain.one(id) end -def unit_currency(%{unit_currency: %{id: id}}, _, _) do - Unit.Domain.one(id) +def spec_currency(%{spec_currency: %{id: id}}, _, _) do + ResourceSpecification.Domain.one(id) end def spec_project_design(%{spec_project_design: %{id: id}}, _, _) do diff --git a/src/zenflows/inst_vars/type.ex b/src/zenflows/inst_vars/type.ex @@ -24,14 +24,18 @@ alias Zenflows.InstVars.Resolv object :instance_units do field :unit_one, non_null(:unit), resolve: &Resolv.unit_one/3 - field :unit_currency, non_null(:unit), resolve: &Resolv.unit_currency/3 end object :instance_specs do + field :spec_currency, non_null(:resource_specification), + resolve: &Resolv.spec_currency/3 + field :spec_project_design, non_null(:resource_specification), resolve: &Resolv.spec_project_design/3 + field :spec_project_service, non_null(:resource_specification), resolve: &Resolv.spec_project_service/3 + field :spec_project_product, non_null(:resource_specification), resolve: &Resolv.spec_project_product/3 end