Deployment and lifecycle management for Nix
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

client: move api schemas from server

+16 -13
+1 -1
apps/sower/.gitignore
··· 23 23 /tmp/ 24 24 25 25 # Ignore package tarball (built via "mix hex.build"). 26 - tester-*.tar 26 + sower-*.tar 27 27 28 28 # Ignore assets that are produced by build tools. 29 29 /priv/static/assets/
+1 -5
apps/sower/lib/sower/seed.ex
··· 10 10 11 11 @derive {Phoenix.Param, key: :sid} 12 12 13 - @seed_types ["nixos", "home-manager", "nix-darwin", "service"] 13 + @seed_types SowerClient.Schemas.Seed.seed_types() 14 14 15 15 schema "seeds" do 16 16 field :sid, Sower.Schema.Sid, autogenerate: true ··· 101 101 store_path -> 102 102 store_path |> Repo.preload(:store_path) |> Map.get(:store_path) 103 103 end 104 - end 105 - 106 - def seed_types() do 107 - @seed_types 108 104 end 109 105 110 106 defp changeset(seed, attrs) do
+1 -1
apps/sower/lib/sower_web/controllers/api/nix/cache_controller.ex
··· 5 5 require Logger 6 6 7 7 alias OpenApiSpex.Schema 8 - alias SowerWeb.Schemas 8 + alias SowerClient.Schemas 9 9 import Sower.Authorization 10 10 11 11 plug OpenApiSpex.Plug.CastAndValidate, json_render_error_v2: true
+2 -2
apps/sower/lib/sower_web/controllers/api/seed_controller.ex
··· 5 5 require Logger 6 6 7 7 alias OpenApiSpex.Schema 8 - alias SowerWeb.Schemas 8 + alias SowerClient.Schemas 9 9 import Sower.Authorization 10 10 11 11 plug OpenApiSpex.Plug.CastAndValidate, json_render_error_v2: true ··· 185 185 example: "host1" 186 186 ], 187 187 seed_type: [ 188 - description: "Seed type, one of [#{Sower.Seed.seed_types() |> Enum.join(", ")}]", 188 + description: "Seed type, one of [#{Schemas.Seed.seed_types() |> Enum.join(", ")}]", 189 189 type: :string, 190 190 example: "nixos" 191 191 ]
+1 -1
apps/sower/lib/sower_web/schemas/nix/cache.ex apps/sower_client/lib/schemas/nix/cache.ex
··· 1 - defmodule SowerWeb.Schemas.Nix.Cache do 1 + defmodule SowerClient.Schemas.Nix.Cache do 2 2 require OpenApiSpex 3 3 4 4 alias OpenApiSpex.Schema
+8 -2
apps/sower/lib/sower_web/schemas/seed.ex apps/sower_client/lib/schemas/seed.ex
··· 1 - defmodule SowerWeb.Schemas.Seed do 1 + defmodule SowerClient.Schemas.Seed do 2 2 require OpenApiSpex 3 3 4 4 alias OpenApiSpex.Schema 5 + 6 + @seed_types ["nixos", "home-manager", "nix-darwin", "service"] 5 7 6 8 OpenApiSpex.schema(%{ 7 9 title: "Seed", ··· 20 22 seed_type: %Schema{ 21 23 type: :string, 22 24 description: "Type of the seed", 23 - enum: Sower.Seed.seed_types() 25 + enum: @seed_types 24 26 } 25 27 }, 26 28 required: ~w(name seed_type)a, ··· 30 32 "seed_type" => "nixos" 31 33 } 32 34 }) 35 + 36 + def seed_types() do 37 + @seed_types 38 + end 33 39 end
+1 -1
apps/sower/lib/sower_web/schemas/store_path.ex apps/sower_client/lib/schemas/store_path.ex
··· 1 - defmodule SowerWeb.Schemas.StorePath do 1 + defmodule SowerClient.Schemas.StorePath do 2 2 require OpenApiSpex 3 3 4 4 alias OpenApiSpex.Schema
+1
apps/sower_client/mix.exs
··· 28 28 {:igniter, "~> 0.6", only: [:dev, :test]}, 29 29 {:jason, "~> 1.0"}, 30 30 # load typedstruct before typed_struct_ecto_changeset 31 + {:open_api_spex, "~> 3.20"}, 31 32 {:typedstruct, "~> 0.5"}, 32 33 {:typed_struct_ecto_changeset, "~> 1.1", override: true}, 33 34 {:typed_struct_ctor, "~> 0.1"}