Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

Santiment Ecosystems

livebooks/ecosystems.livemd

Santiment Ecosystems

Section

# Add ecosystems
for e <- ["ethereum", "bitcoin", "arbitrum", "cosmos"] do
  # If the ecosystem exists, an error changeset is returned
  Sanbase.Ecosystem.create_ecosystem(e)
end

{:ok, ecosystems} = Sanbase.Ecosystem.get_ecosystems()
# Add projects
data = [
  %{name: "Ethereum", ticker: "ETH", slug: "ethereum"},
  %{name: "Bitcoin", ticker: "BTC", slug: "bitcoin"},
  %{name: "Santiment", ticker: "SAN", slug: "santiment"},
  %{name: "Maker", ticker: "MKR", slug: "maker"}
]

[eth, btc, san, mkr] =
  for d <- data do
    {:ok, p} =
      Sanbase.Project.changeset(%Sanbase.Project{}, d)
      |> Sanbase.Repo.insert(
        on_conflict: {:replace, [:ticker, :name, :slug]},
        conflict_target: :slug
      )

    p
  end
# Add ecosystems to projects
_ = Sanbase.Ecosystem.add_ecosystem_to_project(eth.id, "ethreum")
_ = Sanbase.Ecosystem.add_ecosystem_to_project(eth.id, "santiment")
_ = Sanbase.Ecosystem.add_ecosystem_to_project(btc.id, "bitcoin")
# Get the ecosystems
{:ok, ecosystems} = Sanbase.Ecosystem.get_ecosystems()
# Get the ecosytems with the projects
Sanbase.Ecosystem.get_ecosystems_with_projects()