From 2a3040fb09dd73b057460a9452ac9fca7177f442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Erik=20=C3=95unapuu?= Date: Mon, 22 Mar 2021 16:44:10 +0200 Subject: [PATCH] REPP: Get all nameservers for domain --- .../repp/v1/domains/nameservers_controller.rb | 10 +++++++++- config/routes.rb | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/controllers/repp/v1/domains/nameservers_controller.rb b/app/controllers/repp/v1/domains/nameservers_controller.rb index fe38de93c..044e36a20 100644 --- a/app/controllers/repp/v1/domains/nameservers_controller.rb +++ b/app/controllers/repp/v1/domains/nameservers_controller.rb @@ -2,9 +2,17 @@ module Repp module V1 module Domains class NameserversController < BaseController - before_action :set_domain, only: %i[create destroy] + before_action :set_domain, only: %i[index create destroy] before_action :set_nameserver, only: %i[destroy] + api :GET, '/repp/v1/domains/:domain_name/nameservers' + desc "Get domain's nameservers" + def index + nameservers = @domain.nameservers + data = { nameservers: nameservers.as_json(only: %i[hostname ipv4 ipv6]) } + render_success(data: data) + end + api :POST, '/repp/v1/domains/:domain_name/nameservers' desc 'Create new nameserver for domain' param :nameservers, Array, required: true, desc: 'Array of new nameservers' do diff --git a/config/routes.rb b/config/routes.rb index 580747ab1..e17f5c3c6 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -61,7 +61,7 @@ Rails.application.routes.draw do end end resources :domains, constraints: { id: /.*/ } do - resources :nameservers, only: %i[create destroy], constraints: { id: /.*/ }, controller: 'domains/nameservers' + resources :nameservers, only: %i[index create destroy], constraints: { id: /.*/ }, controller: 'domains/nameservers' resources :dnssec, only: %i[index create], constraints: { id: /.*/ }, controller: 'domains/dnssec' resources :contacts, only: %i[index create], constraints: { id: /.*/ }, controller: 'domains/contacts' resources :renew, only: %i[create], constraints: { id: /.*/ }, controller: 'domains/renews'