start of a reusable search component, and a mix fmt

ff34b00 · gmorell · 2023-06-21 04:46

173 files +1471 -1045

Files changed

modified apps/room_air_quality/lib/room_air_quality/aqi_worker.ex
+192 −192
@@ -51,8 +51,8 @@ defmodule RoomAirQuality.Worker do
51 51 end
52 52
53 53 defp intify(val) when val == "", do: nil
54 − defp intify(val) when is_binary(val), do: val |> String.to_integer
55 − defp intify(val) when is_float(val), do: val |> Kernel.trunc
54 + defp intify(val) when is_binary(val), do: val |> String.to_integer()
55 + defp intify(val) when is_float(val), do: val |> Kernel.trunc()
56 56 defp intify(val), do: val
57 57
58 58 defp write_data(result, type, id) do
@@ -61,215 +61,215 @@ defmodule RoomAirQuality.Worker do
61 61
62 62 case type do
63 63 :hourly ->
64 − result.body
65 − |> String.split("\r\n")
66 − |> Enum.filter(fn x -> x != "" end)
67 − |> CSV.decode(
68 − headers: [
69 − :valid_date,
70 − :valid_time,
71 − :aqsid,
72 − :site_name,
73 − :gmt_offset,
74 − :parameter_name,
75 − :reporting_units,
76 − :value,
77 − :data_source
78 − ],
79 − separator: ?|
64 + result.body
65 + |> String.split("\r\n")
66 + |> Enum.filter(fn x -> x != "" end)
67 + |> CSV.decode(
68 + headers: [
69 + :valid_date,
70 + :valid_time,
71 + :aqsid,
72 + :site_name,
73 + :gmt_offset,
74 + :parameter_name,
75 + :reporting_units,
76 + :value,
77 + :data_source
78 + ],
79 + separator: ?|
80 + )
81 + |> Stream.map(fn {:ok, data} ->
82 + RoomSanctum.Storage.change_hourly_data(
83 + %RoomSanctum.Storage.AirNow.HourlyData{},
84 + data
85 + |> Map.put(:source_id, id)
86 + |> Map.put(:valid_date, data.valid_date |> Timex.parse!("%m/%d/%y", :strftime))
80 87 )
81 − |> Stream.map(fn {:ok, data} ->
82 − RoomSanctum.Storage.change_hourly_data(
83 − %RoomSanctum.Storage.AirNow.HourlyData{},
84 − data
85 − |> Map.put(:source_id, id)
86 − |> Map.put(:valid_date, data.valid_date |> Timex.parse!("%m/%d/%y", :strftime))
87 − )
88 − |> Map.put(:inserted_at, datetime)
89 − |> Map.put(:updated_at, datetime)
90 − end)
91 − |> Stream.map(fn x ->
92 − Repo.insert(
93 − x,
94 − on_conflict: {:replace_all_except, [:id]},
95 − conflict_target: [:source_id, :site_name, :parameter_name]
96 − )
97 − end)
98 − |> Enum.to_list()
88 + |> Map.put(:inserted_at, datetime)
89 + |> Map.put(:updated_at, datetime)
90 + end)
91 + |> Stream.map(fn x ->
92 + Repo.insert(
93 + x,
94 + on_conflict: {:replace_all_except, [:id]},
95 + conflict_target: [:source_id, :site_name, :parameter_name]
96 + )
97 + end)
98 + |> Enum.to_list()
99 99
100 100 :sites ->
101 − result.body
102 − |> String.split("\r\n")
103 − |> List.delete_at(0)
104 − |> Enum.filter(fn x -> x != "" end)
105 − |> CSV.decode(
106 − headers: [
107 − :station_id,
108 − :aqsid,
109 − :full_aqsid,
110 − :parameter,
111 − :monitor_type,
112 − :site_code,
113 − :site_name,
114 − :status,
115 − :agency_id,
116 − :agency_name,
117 − :epa_region,
118 − :latitude,
119 − :longitude,
120 − :elevation,
121 − :gmt_offset,
122 − :country_fips,
123 − :cbsa_id,
124 − :cbsa_name,
125 − :state_aqs_code,
126 − :state_abbreviation,
127 − :county_aqs_code,
128 − :county_name
129 − ],
130 − separator: ?|
101 + result.body
102 + |> String.split("\r\n")
103 + |> List.delete_at(0)
104 + |> Enum.filter(fn x -> x != "" end)
105 + |> CSV.decode(
106 + headers: [
107 + :station_id,
108 + :aqsid,
109 + :full_aqsid,
110 + :parameter,
111 + :monitor_type,
112 + :site_code,
113 + :site_name,
114 + :status,
115 + :agency_id,
116 + :agency_name,
117 + :epa_region,
118 + :latitude,
119 + :longitude,
120 + :elevation,
121 + :gmt_offset,
122 + :country_fips,
123 + :cbsa_id,
124 + :cbsa_name,
125 + :state_aqs_code,
126 + :state_abbreviation,
127 + :county_aqs_code,
128 + :county_name
129 + ],
130 + separator: ?|
131 + )
132 + |> Enum.to_list()
133 + |> Enum.map(fn {:ok, x} -> x end)
134 + |> Enum.group_by(fn x -> x.aqsid end)
135 + |> Enum.map(fn {_k, v} ->
136 + p = v |> Enum.map(fn q -> q.parameter end)
137 + f = v |> List.first()
138 + f |> Map.put(:parameters, p)
139 + end)
140 + |> Enum.map(fn data ->
141 + point = %Geo.Point{
142 + coordinates:
143 + {data.latitude |> String.to_float(), data.longitude |> String.to_float()},
144 + srid: 4326
145 + }
146 +
147 + RoomSanctum.Storage.change_monitoring_site(
148 + %RoomSanctum.Storage.AirNow.MonitoringSite{},
149 + data
150 + |> Map.put(:source_id, id)
151 + |> Map.put(:point, point)
152 + |> Map.put(:gmt_offset, data.gmt_offset |> String.to_float() |> Kernel.trunc())
131 153 )
132 − |> Enum.to_list()
133 − |> Enum.map(fn {:ok, x} -> x end)
134 − |> Enum.group_by(fn x -> x.aqsid end)
135 − |> Enum.map(fn {_k, v} ->
136 − p = v |> Enum.map(fn q -> q.parameter end)
137 − f = v |> List.first()
138 − f |> Map.put(:parameters, p)
139 − end)
140 − |> Enum.map(fn data ->
141 − point = %Geo.Point{
142 − coordinates:
143 − {data.latitude |> String.to_float(), data.longitude |> String.to_float()},
144 − srid: 4326
145 − }
146 −
147 − RoomSanctum.Storage.change_monitoring_site(
148 − %RoomSanctum.Storage.AirNow.MonitoringSite{},
149 − data
150 − |> Map.put(:source_id, id)
151 − |> Map.put(:point, point)
152 − |> Map.put(:gmt_offset, data.gmt_offset |> String.to_float() |> Kernel.trunc())
153 − )
154 − |> Map.put(:inserted_at, datetime)
155 − |> Map.put(:updated_at, datetime)
156 − end)
157 − |> Enum.map(fn x ->
158 − Repo.insert(
159 − x,
160 − on_conflict: {:replace_all_except, [:id]},
161 − conflict_target: [:source_id, :station_id]
162 − )
163 − end)
154 + |> Map.put(:inserted_at, datetime)
155 + |> Map.put(:updated_at, datetime)
156 + end)
157 + |> Enum.map(fn x ->
158 + Repo.insert(
159 + x,
160 + on_conflict: {:replace_all_except, [:id]},
161 + conflict_target: [:source_id, :station_id]
162 + )
163 + end)
164 164
165 165 :hourly_obs ->
166 − result.body
167 − |> String.split("\r\n")
168 − |> List.delete_at(0)
169 − |> Enum.filter(fn x -> x != "" end)
170 − |> CSV.decode(
171 − headers: [
172 − :aqsid,
173 − :site_name,
174 − :status,
175 − :epa_region,
176 − :lat,
177 − :lon,
178 − :elevation,
179 − :gmt_offset,
180 − :country_code,
181 − :state_name,
182 − :valid_date,
183 − :valid_time,
184 − :data_source,
166 + result.body
167 + |> String.split("\r\n")
168 + |> List.delete_at(0)
169 + |> Enum.filter(fn x -> x != "" end)
170 + |> CSV.decode(
171 + headers: [
172 + :aqsid,
173 + :site_name,
174 + :status,
175 + :epa_region,
176 + :lat,
177 + :lon,
178 + :elevation,
179 + :gmt_offset,
180 + :country_code,
181 + :state_name,
182 + :valid_date,
183 + :valid_time,
184 + :data_source,
185 + :reporting_areas,
186 + :ozone_aqi,
187 + :pm10_aqi,
188 + :pm25_aqi,
189 + :no2_aqi,
190 + :ozone_measured,
191 + :pm10_measured,
192 + :pm25_measured,
193 + :no2_measured,
194 + :no2,
195 + :no2_unit,
196 + :co,
197 + :co_unit,
198 + :pm25,
199 + :pm25_unit,
200 + :so2,
201 + :so2_unit,
202 + :ozone,
203 + :ozone_unit,
204 + :pm10,
205 + :pm10_unit
206 + ]
207 + )
208 + |> Enum.to_list()
209 + |> Enum.map(fn {:ok, x} -> x end)
210 + |> Enum.map(fn data ->
211 + point = %Geo.Point{
212 + coordinates: {data.lat |> String.to_float(), data.lon |> String.to_float()},
213 + srid: 4326
214 + }
215 +
216 + {offset, _} = data.gmt_offset |> Float.parse()
217 +
218 + RoomSanctum.Storage.change_hourly_obs_data(
219 + %RoomSanctum.Storage.AirNow.HourlyObsData{},
220 + data
221 + |> Map.put(:source_id, id)
222 + |> Map.put(:point, point)
223 + |> Map.put(:gmt_offset, offset)
224 + |> Map.put(
185 225 :reporting_areas,
186 − :ozone_aqi,
187 − :pm10_aqi,
188 − :pm25_aqi,
189 − :no2_aqi,
190 − :ozone_measured,
191 − :pm10_measured,
192 − :pm25_measured,
193 − :no2_measured,
194 − :no2,
195 − :no2_unit,
196 − :co,
197 − :co_unit,
198 − :pm25,
199 − :pm25_unit,
200 − :so2,
201 − :so2_unit,
202 − :ozone,
203 − :ozone_unit,
204 − :pm10,
205 − :pm10_unit
206 − ]
207 − )
208 − |> Enum.to_list()
209 − |> Enum.map(fn {:ok, x} -> x end)
210 − |> Enum.map(fn data ->
211 − point = %Geo.Point{
212 − coordinates: {data.lat |> String.to_float(), data.lon |> String.to_float()},
213 − srid: 4326
214 − }
215 −
216 − {offset, _} = data.gmt_offset |> Float.parse()
217 −
218 − RoomSanctum.Storage.change_hourly_obs_data(
219 − %RoomSanctum.Storage.AirNow.HourlyObsData{},
220 − data
221 − |> Map.put(:source_id, id)
222 − |> Map.put(:point, point)
223 − |> Map.put(:gmt_offset, offset)
224 − |> Map.put(
225 − :reporting_areas,
226 − data |> Map.get(:reporting_areas, "") |> String.split("|")
227 − )
228 − |> Map.put(
229 − :valid_date,
230 − data.valid_date |> Timex.parse!("%m/%d/%Y", :strftime) |> NaiveDateTime.to_date()
231 − )
232 − |> Map.put(
233 − :valid_time,
234 − data.valid_time |> Timex.parse!("%H:%M", :strftime) |> NaiveDateTime.to_time()
235 − )
226 + data |> Map.get(:reporting_areas, "") |> String.split("|")
236 227 )
237 − |> Map.put(:inserted_at, datetime)
238 − |> Map.put(:updated_at, datetime)
239 −
240 − |> Map.put(:ozone_aqi, data.ozone_aqi |> intify)
241 − |> Map.put(:pm10_aqi, data.pm10_aqi |> intify)
242 − |> Map.put(:pm25_aqi, data.pm25_aqi |> intify)
243 − |> Map.put(:no2_aqi, data.no2_aqi |> intify)
244 −
245 − end)
246 − |> Enum.map(fn x ->
247 − Repo.insert(
248 − x,
249 − on_conflict: {:replace_all_except, [:id]},
250 − conflict_target: [:source_id, :aqsid]
228 + |> Map.put(
229 + :valid_date,
230 + data.valid_date |> Timex.parse!("%m/%d/%Y", :strftime) |> NaiveDateTime.to_date()
251 231 )
252 − end)
232 + |> Map.put(
233 + :valid_time,
234 + data.valid_time |> Timex.parse!("%H:%M", :strftime) |> NaiveDateTime.to_time()
235 + )
236 + )
237 + |> Map.put(:inserted_at, datetime)
238 + |> Map.put(:updated_at, datetime)
239 + |> Map.put(:ozone_aqi, data.ozone_aqi |> intify)
240 + |> Map.put(:pm10_aqi, data.pm10_aqi |> intify)
241 + |> Map.put(:pm25_aqi, data.pm25_aqi |> intify)
242 + |> Map.put(:no2_aqi, data.no2_aqi |> intify)
243 + end)
244 + |> Enum.map(fn x ->
245 + Repo.insert(
246 + x,
247 + on_conflict: {:replace_all_except, [:id]},
248 + conflict_target: [:source_id, :aqsid]
249 + )
250 + end)
253 251 end
252 +
254 253 Logger.info("AQI::#{id} completed writing bundle")
255 254 end
256 255
257 −# defp build_todays_url(ts \\ DateTime.utc_now()) do
258 −# sh =
259 −# ts
260 −# |> DateTime.add(-1 * 60 * 60, :second)
261 −#
262 −# file_str = sh |> Timex.format!("%Y%m%d%H", :strftime)
263 −#
264 −# "https://s3-us-west-1.amazonaws.com//files.airnowtech.org/airnow/today/HourlyData_#{file_str}.dat"
265 −# end
256 + # defp build_todays_url(ts \\ DateTime.utc_now()) do
257 + # sh =
258 + # ts
259 + # |> DateTime.add(-1 * 60 * 60, :second)
260 + #
261 + # file_str = sh |> Timex.format!("%Y%m%d%H", :strftime)
262 + #
263 + # "https://s3-us-west-1.amazonaws.com//files.airnowtech.org/airnow/today/HourlyData_#{file_str}.dat"
264 + # end
266 265
267 266 defp build_obs_url(ts \\ DateTime.utc_now()) do
268 267 sh = ts |> DateTime.add(-2 * 60 * 60, :second)
269 268 file_str = sh |> Timex.format!("%Y%m%d%H", :strftime)
270 269 date_str = sh |> Timex.format!("%Y%m%d", :strftime)
271 270
272 − "https://s3-us-west-1.amazonaws.com//files.airnowtech.org/airnow/#{sh.year}/#{date_str}/HourlyAQObs_#{file_str}.dat" |> IO.inspect
271 + "https://s3-us-west-1.amazonaws.com//files.airnowtech.org/airnow/#{sh.year}/#{date_str}/HourlyAQObs_#{file_str}.dat"
272 + |> IO.inspect()
273 273 end
274 274
275 275 def handle_cast(:refresh_db_cfg, state) do
modified apps/room_calendar/lib/room_calendar/calendar_worker.ex
+8 −1
@@ -61,7 +61,14 @@ defmodule RoomCalendar.Worker do
61 61
62 62 data =
63 63 entries
64 − |> Enum.map(fn x -> %{blob: x |> Map.from_struct(), source_id: state.id |> intify, date_start: x.dtstart, date_end: x.dtend} end)
64 + |> Enum.map(fn x ->
65 + %{
66 + blob: x |> Map.from_struct(),
67 + source_id: state.id |> intify,
68 + date_start: x.dtstart,
69 + date_end: x.dtend
70 + }
71 + end)
65 72 |> Enum.map(fn x ->
66 73 RoomSanctum.Storage.change_icalendar(%RoomSanctum.Storage.ICalendar{}, x).changes
67 74 |> Map.put(:inserted_at, dt)
modified apps/room_calendar/mix.exs
+0 −1

Click to load diff…

modified apps/room_cronos/lib/room_cronos/cronos_worker.ex
+11 −10

Click to load diff…

modified apps/room_ephem/lib/room_ephem/ephem_worker.ex
+2 −3

Click to load diff…

modified apps/room_ephem/mix.exs
+0 −3

Click to load diff…

modified apps/room_gtfs/lib/gtfs-realtime.pb.ex
+134 −126

Click to load diff…

modified apps/room_gtfs/lib/room_gtfs/gtfs_worker.ex
+1 −2

Click to load diff…

modified apps/room_hermes/config/config.exs
+2 −3

Click to load diff…

modified apps/room_hermes/config/dev.exs
+2 −2

Click to load diff…

modified apps/room_hermes/config/prod.exs
+1 −1

Click to load diff…

modified apps/room_hermes/config/runtime.exs
+1 −1

Click to load diff…

modified apps/room_hermes/lib/room_hermes.ex
+4 −4

Click to load diff…

modified apps/room_hermes/lib/room_hermes/accounts.ex
+4 −3

Click to load diff…

modified apps/room_hermes/lib/room_hermes/accounts/rabbit_user.ex
+4 −4

Click to load diff…

modified apps/room_hermes/lib/room_hermes/repo.ex
+2 −2

Click to load diff…

modified apps/room_hermes/lib/room_hermes_web.ex
+7 −7

Click to load diff…

modified apps/room_hermes/lib/room_hermes_web/controllers/rabbit_user_controller.ex
+2 −1

Click to load diff…

modified apps/room_hermes/lib/room_hermes_web/controllers/resource_controller.ex
+0 −1

Click to load diff…

modified apps/room_hermes/lib/room_hermes_web/controllers/user_controller.ex
+4 −2

Click to load diff…

modified apps/room_hermes/lib/room_hermes_web/controllers/vhost_controller.ex
+1 −1

Click to load diff…

modified apps/room_hermes/lib/room_hermes_web/endpoint.ex
+11 −11

Click to load diff…

modified apps/room_hermes/lib/room_hermes_web/router.ex
+1 −0

Click to load diff…

modified apps/room_hermes/mix.exs
+3 −3

Click to load diff…

modified apps/room_hermes/test/room_hermes/accounts_test.exs
+7 −2

Click to load diff…

modified apps/room_hermes/test/room_hermes_web/controllers/rabbit_user_controller_test.exs
+10 −3

Click to load diff…

modified apps/room_hermes/test/support/fixtures/accounts_fixtures.ex
+4 −6

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/accounts.ex
+3 −2

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/condensers/basic_mqtt.ex
+63 −30

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/configuration.ex
+11 −11

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/configuration/configs/aqi.ex
+1 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/configuration/configs/cronos.ex
+1 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/configuration/pythiae.ex
+0 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/configuration/queries/rideshare.ex
+1 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/configuration/source.ex
+12 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/storage.ex
+215 −162

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/storage/air_now/hourly_obs_data.ex
+34 −21

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/workers/ankyra_worker.ex
+26 −22

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/workers/pythiae_worker.ex
+26 −17

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum/workers/vision_worker.ex
+47 −40

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web.ex
+22 −10

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/components/core_components.ex
+4 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/components/layouts.ex
+1 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/controllers/user_auth.ex
+1 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/endpoint.ex
+1 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/icon_helpers.ex
+19 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/aqi_reporting_area_live/index.ex
+4 −2

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_ankyra/form_component.ex
+28 −12

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_foci_live/form_component.ex
+7 −2

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_pythiae_live/form_component.ex
+23 −21

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_pythiae_live/public.ex
+19 −10

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_pythiae_live/show.ex
+33 −25

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_query_live/form_component.ex
+34 −2

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_query_live/form_component.html.heex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_query_live/show.ex
+3 −4

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_source_live/form_component.ex
+9 −5

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_source_live/show.ex
+24 −16

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_vision_live/form_component.ex
+58 −36

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_vision_live/show.ex
+18 −10

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gbfs_alert_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gbfs_station_info_live/form_component.ex
+1 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gbfs_station_status_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gbfs_sys_info_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gtfs_agency_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gtfs_calendar_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gtfs_calendar_live/index.ex
+0 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gtfs_direction_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gtfs_route_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gtfs_stop_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gtfs_stop_time_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/gtfs_trip_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/hourly_data_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/hourly_obs_data_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/hourly_obs_data_live/index.ex
+4 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/landing_live/index.ex
+31 −17

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/live_auth.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/live_helpers.ex
+63 −60

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/live_preview.ex
+15 −14

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/monitoring_site_live/form_component.ex
+2 −0

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/live/monitoring_site_live/index.ex
+4 −1

Click to load diff…

modified apps/room_sanctum/lib/room_sanctum_web/router.ex
+2 −4

Click to load diff…

modified apps/room_sanctum/mix.exs
+3 −4

Click to load diff…

modified apps/room_sanctum/priv/repo/migrations/20220606035410_create_gbfs_station_information.exs
+1 −0

Click to load diff…

added apps/room_sanctum/priv/repo/migrations/20230620023840_storage_fts.exs
+56 −0

Click to load diff…

modified apps/room_sanctum/test/room_sanctum/configuration_test.exs
+21 −3

Click to load diff…

modified apps/room_sanctum/test/room_sanctum_web/live/source_live_test.exs
+7 −1

Click to load diff…

modified apps/room_tidal/mix.exs
+0 −2

Click to load diff…

modified apps/room_weather/lib/room_weather/weather_worker.ex
+4 −2

Click to load diff…

modified apps/room_weather/mix.exs
+0 −2

Click to load diff…

modified config/config.exs
+16 −16

Click to load diff…

modified config/dev.exs
+10 −10

Click to load diff…

modified config/prod.exs
+12 −15

Click to load diff…

modified config/runtime.exs
+22 −22

Click to load diff…

modified config/test.exs
+6 −6

Click to load diff…

modified docker-compose.yml
+1 −1

Click to load diff…

modified mix.exs
+6 −8

Click to load diff…

Parents: 9be8a61