diff options
author | Davi Oliveira <davi.oliveira@locaweb.com> | 2021-02-11 10:26:16 -0300 |
---|---|---|
committer | Davi Oliveira <davi.oliveira@locaweb.com> | 2021-02-11 10:26:16 -0300 |
commit | 5f08bc012ddc5557ad450a9381b89552a89c761e (patch) | |
tree | 8a08764705f2d567b97d95d1d2141fd011801c7c | |
parent | Add zone without rrset (diff) |
Add put methot in record_manager
-rw-r--r-- | lib/powerdnsex.ex | 3 | ||||
-rw-r--r-- | lib/powerdnsex/gen_server/server.ex | 5 | ||||
-rw-r--r-- | lib/powerdnsex/managers/records_manager.ex | 2 | ||||
-rw-r--r-- | lib/powerdnsex/managers/zones_manager.ex | 2 |
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) |