aprs.me/lib
Graham McIntire 1ad1bef59f
fix(devices): make upsert_devices/1 work with Repo.insert_all
Three related bugs prevented upsert_devices/1 from ever succeeding in
production:

- The JSON map keys ("identifier", "vendor", etc.) were passed through
  to Repo.insert_all, which only accepts atom field names.
- updated_at was a %DateTime{} but the Devices schema uses :naive_datetime.
- inserted_at was never set, violating the NOT NULL constraint.

Fix by whitelisting known string keys and converting them to atoms via
String.to_existing_atom/1 (safe against atom exhaustion), using
NaiveDateTime.utc_now/1, and setting both timestamps explicitly.
2026-04-23 13:31:49 -05:00
..
aprsme fix(devices): make upsert_devices/1 work with Repo.insert_all 2026-04-23 13:31:49 -05:00
aprsme_web types: add @type t to last two untyped GenServer structs 2026-04-21 10:18:26 -05:00
mix/tasks Disable APRS-IS connection when running mix tasks 2026-02-18 14:52:24 -06:00
aprs_web.ex upgrade more with modern phoenix 2025-07-05 08:04:06 -05:00
aprsme.ex refactor to use external parser 2025-06-24 14:22:09 -05:00