lib/how_to/cape/ex_feature_poa.ex

defmodule HowTo.Cape.EsFeaturePoa do
  alias Arpas.REST.Esri.Query, as: Equery
  alias Arpas.REST.Esri.Api, as: Eapi

  def server_url do
    {:ok, contenuto} = File.read(Path.expand("secret_esri_feature.txt"))
    contenuto
  end

  def info_features(url \\ server_url()) do
    Equery.dammi(%Arpas.REST.Esri.Query{url: url, user: :idro, tipo: :feature_info})
  end

  def campi do
    'objectID,cod_staz,data_mis,valore,liv_validaz'
  end

  def dove do
    "cod_staz='CA003S034' AND data_mis BETWEEN DATE '2019-06-01' AND DATE '2020-06-01'"
  end

  def poa_ana, do: features("0")
  def poa_p1h, do: features("6")
  def poa_lit, do: features("7")
  def poa_tci, do: features("8")

  def features(url \\ server_url(), numero) do
    Equery.dammi(%Arpas.REST.Esri.Query{
      url: url,
      user: :idro,
      tipo: :feature_table,
      feature: numero,
      where: dove()
    })
  end

  def all_services do
    Eapi.layers()
  end
end