summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavi Oliveira <davi.oliveira@locaweb.com>2021-02-11 10:26:16 -0300
committerDavi Oliveira <davi.oliveira@locaweb.com>2021-02-11 10:26:16 -0300
commit5f08bc012ddc5557ad450a9381b89552a89c761e (patch)
tree8a08764705f2d567b97d95d1d2141fd011801c7c
parentAdd zone without rrset (diff)
Add put methot in record_manager
-rw-r--r--lib/powerdnsex.ex3
-rw-r--r--lib/powerdnsex/gen_server/server.ex5
-rw-r--r--lib/powerdnsex/managers/records_manager.ex2
-rw-r--r--lib/powerdnsex/managers/zones_manager.ex2
4 files changed, 10 insertions, 2 deletions
diff --git a/lib/powerdnsex.ex b/lib/powerdnsex.ex
index 6b71f08..8f13ee6 100644
--- a/lib/powerdnsex.ex
+++ b/lib/powerdnsex.ex
@@ -87,6 +87,9 @@ defmodule PowerDNSex do
def update_record(%Zone{} = zone, %{} = rrset_attrs) do
call({:update_record, zone, rrset_attrs})
end
+ def put_record(%Zone{} = zone, %{} = rrset_attrs) do
+ call({:put_record, zone, rrset_attrs})
+ end
@spec delete_record(Zone.t(), struct) :: :ok | {:error, String.t()}
@doc """
diff --git a/lib/powerdnsex/gen_server/server.ex b/lib/powerdnsex/gen_server/server.ex
index e015c7e..b252143 100644
--- a/lib/powerdnsex/gen_server/server.ex
+++ b/lib/powerdnsex/gen_server/server.ex
@@ -47,6 +47,11 @@ defmodule PowerDNSex.Server do
{:reply, RecordsManager.update(zone, attrs), state}
end
+ def handle_call({:update_record, zone, rrset_attrs}, _from, state) do
+ attrs = Converter.keys_to_atom(rrset_attrs)
+ {:reply, RecordsManager.put(zone, attrs), state}
+ end
+
def handle_call({:delete_record, zone, rrset_attrs}, _from, state) do
{:reply, RecordsManager.delete(zone, rrset_attrs), state}
end
diff --git a/lib/powerdnsex/managers/records_manager.ex b/lib/powerdnsex/managers/records_manager.ex
index 89b8d4b..e377322 100644
--- a/lib/powerdnsex/managers/records_manager.ex
+++ b/lib/powerdnsex/managers/records_manager.ex
@@ -12,7 +12,7 @@ defmodule PowerDNSex.Managers.RecordsManager do
patch(zone, rrset_attrs)
end
- def put_zone(%Zone{} = zone, %{} = rrset_attrs) do
+ def put(%Zone{} = zone, %{} = rrset_attrs) do
create(zone, rrset_attrs)
end
diff --git a/lib/powerdnsex/managers/zones_manager.ex b/lib/powerdnsex/managers/zones_manager.ex
index 1f16a6c..7a8f1df 100644
--- a/lib/powerdnsex/managers/zones_manager.ex
+++ b/lib/powerdnsex/managers/zones_manager.ex
@@ -20,7 +20,7 @@ defmodule PowerDNSex.Managers.ZonesManager do
|> process_request_response
end
- def get_zone(zone_name, server_name \\ @default_server)
+ def get(zone_name, server_name \\ @default_server)
when is_bitstring(zone_name) do
server_name
|> zone_path_light(zone_name)