···11-defmodule SowerAgent.TaskRunner do
11+defmodule SowerAgent.Deployer do
22 require Logger
33+44+ alias SowerClient.Schemas.Orchestration.Deployment
55+66+ def run(%Deployment{} = deploy) do
77+ deploy_result = upgrade(deploy.seeds)
88+99+ Enum.all?(deploy_result, fn r ->
1010+ case r do
1111+ {:ok, {:ok, _}} -> true
1212+ _ -> false
1313+ end
1414+ end)
1515+ |> case do
1616+ true ->
1717+ :success
1818+1919+ false ->
2020+ Enum.any?(deploy_result, fn r ->
2121+ case r do
2222+ {:ok, {:ok, _}} -> true
2323+ _ -> false
2424+ end
2525+ end)
2626+ |> case do
2727+ true -> :partial
2828+ false -> :failure
2929+ end
3030+ end
3131+ end
332433 def upgrade(seeds) do
534 seeds