Packages

Mongo Agile Library for Elixir, with a micro-language integrated query

Current section

Files

Jump to
mongo_agile lib layers controller api_queries.ex
Raw

lib/layers/controller/api_queries.ex

defmodule MongoAgile.Controller.ApiQueries do
@moduledoc false
def install_api(true) do
quote do
def get(id) do
args = [id: id]
apply(__MODULE__, :run_query, ["get", args])
end
find_one "get", where: %{"_id" => id}
def post(doc) do
args = [doc: doc]
apply(__MODULE__, :run_query, ["post", args])
end
insert_one "post", document: doc
def put(id, doc) do
args = [id: id, doc: doc]
apply(__MODULE__, :run_query, ["put", args])
end
replace "put",
where: %{"_id" => id},
document: doc
def delete(id) do
args = [id: id]
apply(__MODULE__, :run_query, ["delete", args])
end
delete_one "delete", where: %{"_id" => id}
def patch(id, changeset) do
args = [id: id, changeset: changeset]
apply(__MODULE__, :run_query, ["patch", args])
end
update_one "patch",
set: %{"$set" => changeset},
where: %{"_id" => id}
end
end
def install_api(_) do
[]
end
end