Compare commits

..

3 commits

3 changed files with 13 additions and 10 deletions

View file

@ -14,7 +14,7 @@ defmodule Freedive.Api.Service.Cli do
enabled_service_names = enabled_service_names()
all_service_names
|> Enum.map(fn name -> service_details(name, Enum.member?(enabled_service_names, name)) end)
|> Enum.map(fn name -> service_details!(name, Enum.member?(enabled_service_names, name)) end)
|> Enum.into(%{}, &{&1[:name], &1})
end
@ -56,7 +56,7 @@ defmodule Freedive.Api.Service.Cli do
end
end
def service_details(name, enabled \\ nil) do
def service_details!(name, enabled \\ nil) do
enabled = if(enabled != nil, do: enabled, else: service_is_enabled?(name))
%{
@ -71,7 +71,7 @@ defmodule Freedive.Api.Service.Cli do
}
end
def refresh(service) do
def refresh_service!(service) do
name = service.name
%{
@ -134,11 +134,11 @@ defmodule Freedive.Api.Service.Cli do
defp service(name, command, args) do
case execute(@service_bin, [name, command] ++ args, doas: true) do
{:ok, stdout} ->
# Logger.debug("service, log: #{inspect(stdout)}")
Logger.debug("service #{name} #{command} #{args}: #{inspect(stdout)}")
{:ok, stdout}
{:error, {stderr, code}} ->
# Logger.warning("service #{name} #{command}: #{String.trim(stderr)}")
Logger.debug("service #{name} #{command} #{args}: (#{code}) #{String.trim(stderr)}")
{:error, {stderr, code}}
end
end

View file

@ -81,8 +81,10 @@ defmodule Freedive.Api.Service do
broadcast(:stdlog, %{name: name, log: std_to_log(reason)})
end
broadcast(:refreshed, service_details(name))
curr_service = state[:services][name]
refreshed_service = refresh_service!(curr_service)
state = %{state | services: Map.put(state[:services], name, refreshed_service)}
broadcast(:refreshed, refreshed_service)
{:noreply, state}
end

View file

@ -54,7 +54,7 @@ defmodule FreediveWeb.LiliformLive do
)
searched_items = search(filtered_items, query)
socket = assign(socket, :items, searched_items)
socket = assign(socket, %{items: searched_items, query: query})
socket =
case Kernel.length(Map.keys(searched_items)) == 1 do
@ -73,8 +73,9 @@ defmodule FreediveWeb.LiliformLive do
def(handle_event("filter", %{"key" => key}, socket)) do
key = String.to_existing_atom(key)
items = FreediveWeb.LiliformLive.filter(socket.assigns.items_all, key)
socket = assign(socket, :items, items)
filtered_items = FreediveWeb.LiliformLive.filter(socket.assigns.items_all, key)
searched_items = search(filtered_items, socket.assigns.query)
socket = assign(socket, :items, searched_items)
socket =
assign(