From 648c1cbf251e96f8c80b08291ac007b3bac78d96 Mon Sep 17 00:00:00 2001 From: phoebus-84 Date: Wed, 17 Dec 2025 12:15:49 +0100 Subject: [PATCH] feat: add new seeded resource specifications --- .../20220824130518_create_and_fill_zf_inst_vars.exs | 9 +++++++++ src/zenflows/inst_vars.ex | 6 ++++++ src/zenflows/inst_vars/resolv.ex | 12 ++++++++++++ src/zenflows/inst_vars/type.ex | 9 +++++++++ 4 files changed, 36 insertions(+) diff --git a/priv/repo/migrations/20220824130518_create_and_fill_zf_inst_vars.exs b/priv/repo/migrations/20220824130518_create_and_fill_zf_inst_vars.exs index 701c745..9e3b6d6 100644 --- a/priv/repo/migrations/20220824130518_create_and_fill_zf_inst_vars.exs +++ b/priv/repo/migrations/20220824130518_create_and_fill_zf_inst_vars.exs @@ -30,6 +30,9 @@ def up() do 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 + add :spec_dpp_id, references("vf_resource_specification"), null: false + add :spec_machine_id, references("vf_resource_specification"), null: false + add :spec_material_id, references("vf_resource_specification"), null: false end create constraint("zf_inst_vars", :one_row, check: "one_row") @@ -43,6 +46,9 @@ def up() do spec_design = ResourceSpecification.Domain.create!(r, %{name: "Design", default_unit_of_resource_id: unit_one.id}) spec_service = ResourceSpecification.Domain.create!(r, %{name: "Service", default_unit_of_resource_id: unit_one.id}) spec_product = ResourceSpecification.Domain.create!(r, %{name: "Product", default_unit_of_resource_id: unit_one.id}) + spec_dpp = ResourceSpecification.Domain.create!(r, %{name: "DPP", default_unit_of_resource_id: unit_one.id}) + spec_machine = ResourceSpecification.Domain.create!(r, %{name: "Machine", default_unit_of_resource_id: unit_one.id}) + spec_material = ResourceSpecification.Domain.create!(r, %{name: "Material", default_unit_of_resource_id: unit_one.id}) r.insert!(%InstVars{ unit_one_id: unit_one.id, @@ -50,6 +56,9 @@ def up() do spec_project_design_id: spec_design.id, spec_project_service_id: spec_service.id, spec_project_product_id: spec_product.id, + spec_dpp_id: spec_dpp.id, + spec_machine_id: spec_machine.id, + spec_material_id: spec_material.id, }) end) end diff --git a/src/zenflows/inst_vars.ex b/src/zenflows/inst_vars.ex index 0d89e9b..c4b5250 100644 --- a/src/zenflows/inst_vars.ex +++ b/src/zenflows/inst_vars.ex @@ -31,6 +31,9 @@ alias Zenflows.VF.{ResourceSpecification, Unit} spec_project_design: ResourceSpecification, spec_project_service: ResourceSpecification, spec_project_product: ResourceSpecification, + spec_dpp: ResourceSpecification, + spec_machine: ResourceSpecification, + spec_material: ResourceSpecification, } @primary_key false @@ -41,5 +44,8 @@ schema "zf_inst_vars" do belongs_to :spec_project_design, ResourceSpecification belongs_to :spec_project_service, ResourceSpecification belongs_to :spec_project_product, ResourceSpecification + belongs_to :spec_dpp, ResourceSpecification + belongs_to :spec_machine, ResourceSpecification + belongs_to :spec_material, ResourceSpecification end end diff --git a/src/zenflows/inst_vars/resolv.ex b/src/zenflows/inst_vars/resolv.ex index 131ee35..b46b33a 100644 --- a/src/zenflows/inst_vars/resolv.ex +++ b/src/zenflows/inst_vars/resolv.ex @@ -45,4 +45,16 @@ end def spec_project_product(%{spec_project_product: %{id: id}}, _, _) do ResourceSpecification.Domain.one(id) end + +def spec_dpp(%{spec_dpp: %{id: id}}, _, _) do + ResourceSpecification.Domain.one(id) +end + +def spec_machine(%{spec_machine: %{id: id}}, _, _) do + ResourceSpecification.Domain.one(id) +end + +def spec_material(%{spec_material: %{id: id}}, _, _) do + ResourceSpecification.Domain.one(id) +end end diff --git a/src/zenflows/inst_vars/type.ex b/src/zenflows/inst_vars/type.ex index c3bdda6..30a8555 100644 --- a/src/zenflows/inst_vars/type.ex +++ b/src/zenflows/inst_vars/type.ex @@ -39,6 +39,15 @@ object :instance_specs do field :spec_project_product, non_null(:resource_specification), resolve: &Resolv.spec_project_product/3 + + field :spec_dpp, non_null(:resource_specification), + resolve: &Resolv.spec_dpp/3 + + field :spec_machine, non_null(:resource_specification), + resolve: &Resolv.spec_machine/3 + + field :spec_material, non_null(:resource_specification), + resolve: &Resolv.spec_material/3 end object :instance_variables do