Fix some CC issues

This commit is contained in:
Karl Erik Õunapuu 2021-01-28 11:35:35 +02:00
parent 0d2cb6b7f2
commit 7c35083a8b
No known key found for this signature in database
GPG key ID: C9DD647298A34764
8 changed files with 48 additions and 30 deletions

View file

@ -1,6 +1,6 @@
module Repp
module V1
class BaseController < ActionController::API
class BaseController < ActionController::API # rubocop:disable Metrics/ClassLength
rescue_from ActiveRecord::RecordNotFound, with: :not_found_error
before_action :authenticate_user
before_action :validate_webclient_ca

View file

@ -1,7 +1,7 @@
require 'serializers/repp/contact'
module Repp
module V1
class ContactsController < BaseController
class ContactsController < BaseController # rubocop:disable Metrics/ClassLength
before_action :find_contact, only: %i[show update destroy]
api :get, '/repp/v1/contacts'

View file

@ -10,7 +10,7 @@ module Repp
param :domain_name, String, required: true, desc: 'Domain name'
param :status, String, required: true, desc: 'Status to be removed'
def destroy
return editing_failed unless @domain.statuses.include?(params[:id])
return editing_failed unless domain_with_status?(params[:id])
@domain.statuses = @domain.statuses.delete(params[:id])
if @domain.save
@ -25,18 +25,22 @@ module Repp
param :domain_name, String, required: true, desc: 'Domain name'
param :status, String, required: true, desc: 'Status to be added'
def update
return editing_failed if @domain.statuses.include?(params[:id])
return editing_failed if domain_with_status?(params[:id])
@domain.statuses = @domain.statuses << params[:id]
# rubocop:disable Style/AndOr
handle_errors(@domain) and return unless @domain.save
# rubocop:enable Style/AndOr
render_success(data: { domain: @domain.name, status: params[:id] })
@domain.statuses << params[:id]
if @domain.save
render_success(data: { domain: @domain.name, status: params[:id] })
else
handle_errors(@domain)
end
end
private
def domain_with_status?
@domain.statuses.include?(params[:id])
end
def verify_status
allowed_statuses = [DomainStatus::CLIENT_HOLD].freeze
stat = params[:id]

View file

@ -1,7 +1,7 @@
require 'serializers/repp/domain'
module Repp
module V1
class DomainsController < BaseController
class DomainsController < BaseController # rubocop:disable Metrics/ClassLength
before_action :set_authorized_domain, only: %i[transfer_info destroy]
before_action :forward_registrar_id, only: %i[create destroy]
before_action :set_domain, only: %i[show update]
@ -11,13 +11,9 @@ module Repp
def index
records = current_user.registrar.domains
domains = records.limit(limit).offset(offset)
domains = domains.pluck(:name) unless index_params[:details] == 'true'
if index_params[:details] == 'true'
domains = domains.map { |d| Serializers::Repp::Domain.new(d).to_json }
end
render_success(data: { domains: domains, total_number_of_records: records.count })
render_success(data: { domains: serialized_domains(domains),
total_number_of_records: records.count })
end
api :GET, '/repp/v1/domains/:domain_name'
@ -136,6 +132,12 @@ module Repp
private
def serialized_domains(domains)
return domains.pluck(:name) unless index_params[:details] == 'true'
domains.map { |d| Serializers::Repp::Domain.new(d).to_json }
end
def initiate_transfer(transfer)
domain = Epp::Domain.find_or_initialize_by(name: transfer[:domain_name])
action = Actions::DomainTransfer.new(domain, transfer[:transfer_code],