mirror of
https://github.com/internetee/registry.git
synced 2025-06-14 00:24:44 +02:00
34 lines
870 B
Ruby
34 lines
870 B
Ruby
module Actions
|
|
class DomainRenew
|
|
attr_reader :domain
|
|
attr_reader :params
|
|
attr_reader :user
|
|
|
|
def initialize(domain, params, user)
|
|
@domain = domain
|
|
@params = params
|
|
@user = user
|
|
end
|
|
|
|
def call
|
|
domain.is_renewal = true
|
|
if !domain.renewable? || domain.invalid?
|
|
domain.add_renew_epp_errors
|
|
false
|
|
else
|
|
domain.validate_exp_dates(params[:exp_date])
|
|
renew
|
|
end
|
|
end
|
|
|
|
def renew
|
|
return false if domain.errors[:epp_errors].any?
|
|
|
|
task = Domains::BulkRenew::SingleDomainRenew.run(domain: domain,
|
|
period: params[:period],
|
|
unit: params[:period_unit],
|
|
registrar: user)
|
|
task.valid?
|
|
end
|
|
end
|
|
end
|