Compare commits
3 commits
4f90ccb047
...
2781748626
Author | SHA1 | Date | |
---|---|---|---|
2781748626 | |||
699cd61e0e | |||
d6b2522fdc |
3 changed files with 13 additions and 10 deletions
|
@ -14,7 +14,7 @@ defmodule Freedive.Api.Service.Cli do
|
||||||
enabled_service_names = enabled_service_names()
|
enabled_service_names = enabled_service_names()
|
||||||
|
|
||||||
all_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})
|
|> Enum.into(%{}, &{&1[:name], &1})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ defmodule Freedive.Api.Service.Cli do
|
||||||
end
|
end
|
||||||
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))
|
enabled = if(enabled != nil, do: enabled, else: service_is_enabled?(name))
|
||||||
|
|
||||||
%{
|
%{
|
||||||
|
@ -71,7 +71,7 @@ defmodule Freedive.Api.Service.Cli do
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def refresh(service) do
|
def refresh_service!(service) do
|
||||||
name = service.name
|
name = service.name
|
||||||
|
|
||||||
%{
|
%{
|
||||||
|
@ -134,11 +134,11 @@ defmodule Freedive.Api.Service.Cli do
|
||||||
defp service(name, command, args) do
|
defp service(name, command, args) do
|
||||||
case execute(@service_bin, [name, command] ++ args, doas: true) do
|
case execute(@service_bin, [name, command] ++ args, doas: true) do
|
||||||
{:ok, stdout} ->
|
{:ok, stdout} ->
|
||||||
# Logger.debug("service, log: #{inspect(stdout)}")
|
Logger.debug("service #{name} #{command} #{args}: #{inspect(stdout)}")
|
||||||
{:ok, stdout}
|
{:ok, stdout}
|
||||||
|
|
||||||
{:error, {stderr, code}} ->
|
{:error, {stderr, code}} ->
|
||||||
# Logger.warning("service #{name} #{command}: #{String.trim(stderr)}")
|
Logger.debug("service #{name} #{command} #{args}: (#{code}) #{String.trim(stderr)}")
|
||||||
{:error, {stderr, code}}
|
{:error, {stderr, code}}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -81,8 +81,10 @@ defmodule Freedive.Api.Service do
|
||||||
broadcast(:stdlog, %{name: name, log: std_to_log(reason)})
|
broadcast(:stdlog, %{name: name, log: std_to_log(reason)})
|
||||||
end
|
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}
|
{:noreply, state}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ defmodule FreediveWeb.LiliformLive do
|
||||||
)
|
)
|
||||||
|
|
||||||
searched_items = search(filtered_items, query)
|
searched_items = search(filtered_items, query)
|
||||||
socket = assign(socket, :items, searched_items)
|
socket = assign(socket, %{items: searched_items, query: query})
|
||||||
|
|
||||||
socket =
|
socket =
|
||||||
case Kernel.length(Map.keys(searched_items)) == 1 do
|
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
|
def(handle_event("filter", %{"key" => key}, socket)) do
|
||||||
key = String.to_existing_atom(key)
|
key = String.to_existing_atom(key)
|
||||||
items = FreediveWeb.LiliformLive.filter(socket.assigns.items_all, key)
|
filtered_items = FreediveWeb.LiliformLive.filter(socket.assigns.items_all, key)
|
||||||
socket = assign(socket, :items, items)
|
searched_items = search(filtered_items, socket.assigns.query)
|
||||||
|
socket = assign(socket, :items, searched_items)
|
||||||
|
|
||||||
socket =
|
socket =
|
||||||
assign(
|
assign(
|
||||||
|
|
Loading…
Reference in a new issue