mirror of
https://github.com/internetee/registry.git
synced 2025-07-31 15:06:23 +02:00
Updated REPP API for new registrar portal
This commit is contained in:
parent
e17b21436d
commit
a5ffce290d
61 changed files with 1269 additions and 408 deletions
|
@ -8,28 +8,29 @@ module Repp
|
|||
|
||||
api :POST, 'repp/v1/domains/:domain_name/renew'
|
||||
desc 'Renew domain'
|
||||
param :renew, Hash, required: true, desc: 'Renew parameters' do
|
||||
param :renews, Hash, required: true, desc: 'Renew parameters' do
|
||||
param :period, Integer, required: true, desc: 'Renew period. Month (m) or year (y)'
|
||||
param :period_unit, String, required: true, desc: 'For how many months or years to renew'
|
||||
param :exp_date, String, required: true, desc: 'Current expiry date for domain'
|
||||
end
|
||||
def create
|
||||
authorize!(:renew, @domain)
|
||||
action = Actions::DomainRenew.new(@domain, renew_params[:renew], current_user.registrar)
|
||||
action = Actions::DomainRenew.new(@domain, renew_params[:renews], current_user.registrar)
|
||||
|
||||
unless action.call
|
||||
handle_errors(@domain)
|
||||
return
|
||||
end
|
||||
|
||||
render_success(data: { domain: { name: @domain.name } })
|
||||
render_success(data: { domain: { name: @domain.name, id: @domain.uuid } })
|
||||
end
|
||||
|
||||
def bulk_renew
|
||||
authorize! :manage, :repp
|
||||
renew = run_bulk_renew_task(@domains, bulk_renew_params[:renew_period])
|
||||
return render_success(data: { updated_domains: @domains.map(&:name) }) if renew.valid?
|
||||
|
||||
msg = renew.errors.keys.map { |k, _v| renew.errors[k] }.join(', ')
|
||||
msg = renew.errors.attribute_names.map { |k, _v| renew.errors[k] }.join(', ')
|
||||
@epp_errors.add(:epp_errors, msg: msg, code: '2002')
|
||||
handle_errors
|
||||
end
|
||||
|
@ -37,7 +38,7 @@ module Repp
|
|||
private
|
||||
|
||||
def renew_params
|
||||
params.permit(:domain_id, renew: %i[period period_unit exp_date])
|
||||
params.permit(:domain_id, renews: %i[period period_unit exp_date])
|
||||
end
|
||||
|
||||
def validate_renew_period
|
||||
|
@ -53,6 +54,7 @@ module Repp
|
|||
|
||||
if bulk_renew_params[:domains].instance_of?(Array)
|
||||
@domains = bulk_renew_domains
|
||||
@epp_errors.add(:epp_errors, msg: 'Domains cannot be empty', code: '2005') if @domains.empty?
|
||||
else
|
||||
@epp_errors.add(:epp_errors, msg: 'Domains attribute must be an array', code: '2005')
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue