File tree Expand file tree Collapse file tree 3 files changed +37
-2
lines changed
telemetry_api/lib/telemetry_api_web Expand file tree Collapse file tree 3 files changed +37
-2
lines changed Original file line number Diff line number Diff line change @@ -34,4 +34,15 @@ defmodule TelemetryApiWeb.OperatorController do
3434 render ( conn , :show , operator: operator )
3535 end
3636 end
37+
38+ def index_public ( conn , _params ) do
39+ operators = Operators . list_operators ( )
40+ render ( conn , :index_public , operators: operators )
41+ end
42+
43+ def show_public ( conn , % { "id" => address } ) do
44+ with { :ok , % Operator { } = operator } <- Operators . get_operator ( % { address: address } ) do
45+ render ( conn , :show_public , operator: operator )
46+ end
47+ end
3748end
Original file line number Diff line number Diff line change @@ -29,4 +29,28 @@ defmodule TelemetryApiWeb.OperatorJSON do
2929 eth_ws_url_fallback: operator . eth_ws_url_fallback
3030 }
3131 end
32+
33+ @ doc """
34+ Renders a list of operators with only public data.
35+ """
36+ def index_public ( % { operators: operators } ) do
37+ for ( operator <- operators , do: data_public ( operator ) )
38+ end
39+
40+ @ doc """
41+ Renders a single operator with only public data.
42+ """
43+ def show_public ( % { operator: operator } ) do
44+ data_public ( operator )
45+ end
46+
47+ defp data_public ( % Operator { } = operator ) do
48+ % {
49+ address: operator . address ,
50+ id: operator . id ,
51+ stake: operator . stake ,
52+ name: operator . name ,
53+ version: operator . version
54+ }
55+ end
3256end
Original file line number Diff line number Diff line change @@ -29,8 +29,8 @@ defmodule TelemetryApiWeb.Router do
2929 scope "/versions" , TelemetryApiWeb do
3030 pipe_through :api
3131
32- get "/" , OperatorController , :index
33- get "/:id" , OperatorController , :show
32+ get "/" , OperatorController , :index_public
33+ get "/:id" , OperatorController , :show_public
3434 post "/" , OperatorController , :create_or_update
3535 end
3636
You can’t perform that action at this time.
0 commit comments