defmodule Microwaveprop.Terrain do @moduledoc false import Ecto.Query alias Microwaveprop.Repo alias Microwaveprop.Terrain.TerrainProfile def upsert_terrain_profile(attrs) do %TerrainProfile{} |> TerrainProfile.changeset(attrs) |> Repo.insert( on_conflict: {:replace_all_except, [:id, :qso_id, :inserted_at]}, conflict_target: [:qso_id], returning: true ) end def get_terrain_profile(qso_id) do Repo.get_by(TerrainProfile, qso_id: qso_id) end def has_terrain_profile?(qso_id) do TerrainProfile |> where([t], t.qso_id == ^qso_id) |> Repo.exists?() end end