summaryrefslogtreecommitdiff
path: root/lib/silmataivas_web/controllers/location_json.ex
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2025-03-23 17:11:39 +0100
committerDawid Rycerz <dawid@rycerz.xyz>2025-04-05 21:16:51 +0200
commit0ab2e5ba2b0631b28b5b1405559237b3913c878f (patch)
tree791cea788b0a62bc483d0041fbd0c655d2ad49e8 /lib/silmataivas_web/controllers/location_json.ex
feat: initialize Phoenix application for weather alerts
This commit sets up the initial Silmataivas project structure, including: Phoenix web framework configuration, database models for users and locations, weather polling service, notification system, Docker and deployment configurations, CI/CD pipeline setup
Diffstat (limited to 'lib/silmataivas_web/controllers/location_json.ex')
-rw-r--r--lib/silmataivas_web/controllers/location_json.ex25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/silmataivas_web/controllers/location_json.ex b/lib/silmataivas_web/controllers/location_json.ex
new file mode 100644
index 0000000..db7e469
--- /dev/null
+++ b/lib/silmataivas_web/controllers/location_json.ex
@@ -0,0 +1,25 @@
+defmodule SilmataivasWeb.LocationJSON do
+ alias Silmataivas.Locations.Location
+
+ @doc """
+ Renders a list of locations.
+ """
+ def index(%{locations: locations}) do
+ %{data: for(location <- locations, do: data(location))}
+ end
+
+ @doc """
+ Renders a single location.
+ """
+ def show(%{location: location}) do
+ %{data: data(location)}
+ end
+
+ defp data(%Location{} = location) do
+ %{
+ id: location.id,
+ latitude: location.latitude,
+ longitude: location.longitude
+ }
+ end
+end