mirror of
https://github.com/internetee/registry.git
synced 2025-06-05 12:17:30 +02:00
39 lines
1.2 KiB
Ruby
39 lines
1.2 KiB
Ruby
module Repp
|
|
module V1
|
|
module Domains
|
|
class TransfersController < BaseController
|
|
before_action :set_domain, only: [:create]
|
|
|
|
api :POST, 'repp/v1/domains/:domain_name/transfer'
|
|
desc 'Transfer a specific domain'
|
|
param :transfer, Hash, required: true, desc: 'Renew parameters' do
|
|
param :transfer_code, String, required: true, desc: 'Renew period. Month (m) or year (y)'
|
|
end
|
|
def create
|
|
action = Actions::DomainTransfer.new(@domain, transfer_params[:transfer][:transfer_code],
|
|
current_user.registrar)
|
|
|
|
unless action.call
|
|
handle_errors(@domain)
|
|
return
|
|
end
|
|
|
|
render_success(data: { domain: { name: @domain.name, type: 'domain_transfer' } })
|
|
end
|
|
|
|
private
|
|
|
|
def set_domain
|
|
domain_id = transfer_params[:domain_id]
|
|
h = {}
|
|
h[domain_id.match?(/\A[0-9]+\z/) ? :id : :name] = domain_id
|
|
@domain = Epp::Domain.find_by!(h)
|
|
end
|
|
|
|
def transfer_params
|
|
params.permit(:domain_id, transfer: [:transfer_code])
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|