Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334defmodule GitSync.Destinations do @moduledoc """ Reads and writes the replicas a source is mirrored onto. """
alias GitSync.Destination alias GitSync.Repo alias GitSync.Source
def get(id) do Destination |> Repo.get(id) |> Repo.preload([:connection, :source]) end
def create(%Source{id: source_id}, attrs) do %Destination{} |> Destination.changeset(Map.put(normalise(attrs), "source_id", source_id)) |> Repo.insert() end
def update(%Destination{} = destination, attrs) do destination |> Destination.changeset(attrs) |> Repo.update() end
def delete(%Destination{} = destination), do: Repo.delete(destination)
defp normalise(attrs) do Map.new(attrs, fn {key, value} -> {to_string(key), value} end) endend