mirror of
https://github.com/internetee/registry.git
synced 2025-08-05 17:28:18 +02:00
fixed codeclimate errors
This commit is contained in:
parent
f4e0084895
commit
e7e3278267
44 changed files with 118 additions and 150 deletions
|
@ -44,6 +44,7 @@ class ApiUser < User
|
|||
after_initialize :set_defaults
|
||||
def set_defaults
|
||||
return unless new_record?
|
||||
|
||||
self.active = true unless saved_change_to_active?
|
||||
end
|
||||
|
||||
|
@ -76,7 +77,7 @@ class ApiUser < User
|
|||
end
|
||||
|
||||
def linked_with?(another_api_user)
|
||||
another_api_user.identity_code == self.identity_code
|
||||
another_api_user.identity_code == identity_code
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
module Billing
|
||||
class ReferenceNo
|
||||
REGEXP = /\A\d{2,20}\z/.freeze
|
||||
MULTI_REGEXP = /(\d{2,20})/.freeze
|
||||
REGEXP = /\A\d{2,20}\z/
|
||||
MULTI_REGEXP = /(\d{2,20})/
|
||||
|
||||
def self.generate
|
||||
base = Base.generate
|
||||
|
|
|
@ -8,7 +8,7 @@ class BlockedDomain < ApplicationRecord
|
|||
|
||||
|
||||
class << self
|
||||
def by_domain name
|
||||
def by_domain(name)
|
||||
where(name: name)
|
||||
end
|
||||
end
|
||||
|
@ -29,7 +29,7 @@ class BlockedDomain < ApplicationRecord
|
|||
|
||||
def generate_json
|
||||
h = HashWithIndifferentAccess.new
|
||||
h[:name] = self.name
|
||||
h[:name] = name
|
||||
h[:status] = ['Blocked']
|
||||
h
|
||||
end
|
||||
|
|
|
@ -67,9 +67,7 @@ class Certificate < ApplicationRecord
|
|||
|
||||
@cached_status = SIGNED
|
||||
|
||||
if parsed_crt.not_before > Time.zone.now.utc && parsed_crt.not_after < Time.zone.now.utc
|
||||
@cached_status = EXPIRED
|
||||
end
|
||||
@cached_status = EXPIRED if parsed_crt.not_before > Time.zone.now.utc && parsed_crt.not_after < Time.zone.now.utc
|
||||
|
||||
crl = OpenSSL::X509::CRL.new(File.open("#{ENV['crl_dir']}/crl.pem").read)
|
||||
return @cached_status unless crl.revoked.map(&:serial).include?(parsed_crt.serial)
|
||||
|
@ -104,7 +102,7 @@ class Certificate < ApplicationRecord
|
|||
end
|
||||
logger.error(err)
|
||||
puts "Certificate sign issue: #{err.inspect}" if Rails.env.test?
|
||||
return false
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
class CertificationRequest
|
||||
extend ActiveModel::Translation
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,9 +16,7 @@ module Contact::Archivable
|
|||
end
|
||||
|
||||
def archive(verified: false, notify: true, extra_log: false)
|
||||
unless verified
|
||||
raise 'Contact cannot be archived' unless archivable?(post: true)
|
||||
end
|
||||
raise 'Contact cannot be archived' if !verified && !archivable?(post: true)
|
||||
|
||||
notify_registrar_about_archivation if notify
|
||||
write_to_registrar_log if extra_log
|
||||
|
@ -35,9 +33,7 @@ module Contact::Archivable
|
|||
end
|
||||
|
||||
def inactive?
|
||||
if Version::DomainVersion.contact_unlinked_more_than?(contact_id: id, period: inactivity_period)
|
||||
return true
|
||||
end
|
||||
return true if Version::DomainVersion.contact_unlinked_more_than?(contact_id: id, period: inactivity_period)
|
||||
|
||||
Version::DomainVersion.was_contact_linked?(id) ? false : created_at <= inactivity_period.ago
|
||||
end
|
||||
|
|
|
@ -22,9 +22,7 @@ module Domain::Expirable
|
|||
def expirable?
|
||||
return false if expire_time > Time.zone.now
|
||||
|
||||
if statuses.include?(DomainStatus::EXPIRED) && outzone_at.present? && delete_date.present?
|
||||
return false
|
||||
end
|
||||
return false if statuses.include?(DomainStatus::EXPIRED) && outzone_at.present? && delete_date.present?
|
||||
|
||||
true
|
||||
end
|
||||
|
|
|
@ -16,10 +16,8 @@ module Domain::ForceDelete
|
|||
where("(force_delete_data->>'contact_notification_sent_date') is null")
|
||||
}
|
||||
|
||||
HOLD_STATUSES = [
|
||||
DomainStatus::SERVER_HOLD,
|
||||
DomainStatus::CLIENT_HOLD,
|
||||
].freeze
|
||||
HOLD_STATUSES = [DomainStatus::SERVER_HOLD,
|
||||
DomainStatus::CLIENT_HOLD].freeze
|
||||
end
|
||||
|
||||
class_methods do
|
||||
|
|
|
@ -121,7 +121,7 @@ module EppErrors
|
|||
err = { code: code, msg: t }
|
||||
val = check_for_status(code, obj, val)
|
||||
err[:value] = { val: val, obj: obj } if val.present?
|
||||
self.errors.add(:epp_errors, **err)
|
||||
errors.add(:epp_errors, **err)
|
||||
end
|
||||
|
||||
def check_for_status(code, obj, val)
|
||||
|
|
|
@ -5,26 +5,25 @@ module UserEvents
|
|||
# EPP requires a server defined creator ID, which should be registrar code if we have one
|
||||
def cr_id
|
||||
# try this, rebuild user for registrar before searching history? really?
|
||||
registrar = self.creator.try(:registrar)
|
||||
registrar = creator.try(:registrar)
|
||||
if registrar.present? # Did creator return a kind of User that has a registrar?
|
||||
registrar.code
|
||||
else
|
||||
if self.versions.first.try(:object).nil?
|
||||
changes = self.versions.first.try(:object_changes)
|
||||
if versions.first.try(:object).nil?
|
||||
changes = versions.first.try(:object_changes)
|
||||
cr_registrar_id = changes['registrar_id'].second if changes.present?
|
||||
else
|
||||
# untested, expected never to execute
|
||||
cr_registrar_id = self.versions.first.object['registrar_id']
|
||||
cr_registrar_id = versions.first.object['registrar_id']
|
||||
end
|
||||
|
||||
if cr_registrar_id.present?
|
||||
Registrar.find(cr_registrar_id).code
|
||||
else
|
||||
# cr_id optional for domain, but required for contact; but we want something here anyway
|
||||
self.creator_str || self.registrar.code # Fallback
|
||||
creator_str || self.registrar.code # Fallback
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -11,7 +11,7 @@ class Contact < ApplicationRecord
|
|||
include Contact::Archivable
|
||||
include EmailVerifable
|
||||
|
||||
belongs_to :original, class_name: self.name
|
||||
belongs_to :original, class_name: name
|
||||
belongs_to :registrar, required: true
|
||||
has_many :domain_contacts
|
||||
has_many :domains, through: :domain_contacts
|
||||
|
@ -20,6 +20,7 @@ class Contact < ApplicationRecord
|
|||
has_many :actions, dependent: :destroy
|
||||
|
||||
attr_accessor :legal_document_id
|
||||
|
||||
alias_attribute :kind, :ident_type
|
||||
alias_attribute :copy_from_id, :original_id # Old attribute name; for PaperTrail
|
||||
|
||||
|
@ -29,7 +30,7 @@ class Contact < ApplicationRecord
|
|||
}
|
||||
|
||||
NAME_REGEXP = /([\u00A1-\u00B3\u00B5-\u00BF\u0021-\u0026\u0028-\u002C\u003A-\u0040]|
|
||||
[\u005B-\u005F\u007B-\u007E\u2040-\u206F\u20A0-\u20BF\u2100-\u218F])/x.freeze
|
||||
[\u005B-\u005F\u007B-\u007E\u2040-\u206F\u20A0-\u20BF\u2100-\u218F])/x
|
||||
|
||||
validates :name, :email, presence: true
|
||||
validates :name, format: { without: NAME_REGEXP, message: :invalid }, if: -> { priv? }
|
||||
|
|
|
@ -241,7 +241,7 @@ module Depp
|
|||
ident = ident_xml[:_anonymus].try(:first)
|
||||
when :update
|
||||
# detect if any ident has changed, nb! ident and self.ident is not always same
|
||||
unless ident == self.ident && ident == self.ident_type && ident_country_code == self.ident_country_code
|
||||
unless ident == self.ident && ident == ident_type && ident_country_code == ident_country_code
|
||||
ident = ident_xml[:_anonymus].try(:first)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -11,7 +11,7 @@ module Depp
|
|||
validate :validate_existance_in_server
|
||||
|
||||
def initialize(args = {})
|
||||
args.each { |k, v| send("#{k.to_s}=", v) }
|
||||
args.each { |k, v| send("#{k}=", v) }
|
||||
end
|
||||
|
||||
def server
|
||||
|
|
|
@ -76,15 +76,15 @@ class Dnskey < ApplicationRecord
|
|||
def validate_flags
|
||||
return if flags.blank?
|
||||
return if FLAGS.include?(flags.to_s)
|
||||
|
||||
errors.add(:flags, :invalid, values: "Valid flags are: #{FLAGS.join(', ')}")
|
||||
end
|
||||
|
||||
def generate_digest
|
||||
return unless flags == 257 || flags == 256 # require ZoneFlag, but optional SecureEntryPoint
|
||||
|
||||
self.ds_alg = alg
|
||||
if self.ds_digest_type.blank? || !DS_DIGEST_TYPE.include?(ds_digest_type)
|
||||
self.ds_digest_type = Setting.ds_digest_type
|
||||
end
|
||||
self.ds_digest_type = Setting.ds_digest_type if ds_digest_type.blank? || !DS_DIGEST_TYPE.include?(ds_digest_type)
|
||||
|
||||
flags_hex = self.class.int_to_hex(flags)
|
||||
protocol_hex = self.class.int_to_hex(protocol)
|
||||
|
@ -93,7 +93,7 @@ class Dnskey < ApplicationRecord
|
|||
hex = [domain.name_in_wire_format, flags_hex, protocol_hex, alg_hex, public_key_hex].join
|
||||
bin = self.class.hex_to_bin(hex)
|
||||
|
||||
case self.ds_digest_type
|
||||
case ds_digest_type
|
||||
when 1
|
||||
self.ds_digest = Digest::SHA1.hexdigest(bin).upcase
|
||||
when 2
|
||||
|
@ -113,11 +113,11 @@ class Dnskey < ApplicationRecord
|
|||
|
||||
c = 0
|
||||
wire_format.each_byte.with_index do |b, i|
|
||||
if i.even?
|
||||
c += b << 8
|
||||
else
|
||||
c += b
|
||||
end
|
||||
c += if i.even?
|
||||
b << 8
|
||||
else
|
||||
b
|
||||
end
|
||||
end
|
||||
|
||||
self.ds_key_tag = ((c & 0xFFFF) + (c >> 16)) & 0xFFFF
|
||||
|
@ -150,21 +150,21 @@ class Dnskey < ApplicationRecord
|
|||
end
|
||||
|
||||
class << self
|
||||
def int_to_hex(s)
|
||||
s = s.to_s(16)
|
||||
s.prepend('0') if s.length.odd?
|
||||
def int_to_hex(num)
|
||||
num = num.to_s(16)
|
||||
num.prepend('0') if num.length.odd?
|
||||
end
|
||||
|
||||
def hex_to_bin(s)
|
||||
s.scan(/../).map(&:hex).pack('c*')
|
||||
def hex_to_bin(num)
|
||||
num.scan(/../).map(&:hex).pack('c*')
|
||||
end
|
||||
|
||||
def bin_to_hex(s)
|
||||
s.each_byte.map { |b| format('%02X', b) }.join
|
||||
def bin_to_hex(num)
|
||||
num.each_byte.map { |b| format('%02X', b) }.join
|
||||
end
|
||||
|
||||
def pub_key_base64?(pub)
|
||||
return unless pub&.is_a?(String)
|
||||
return unless pub.is_a?(String)
|
||||
|
||||
Base64.strict_encode64(Base64.strict_decode64(pub)) == pub
|
||||
rescue ArgumentError
|
||||
|
|
|
@ -121,10 +121,8 @@ class Domain < ApplicationRecord
|
|||
validate :status_is_consistant
|
||||
def status_is_consistant
|
||||
has_error = (hold_status? && statuses.include?(DomainStatus::SERVER_MANUAL_INZONE))
|
||||
unless has_error
|
||||
if (statuses & DELETE_STATUSES).any?
|
||||
has_error = statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
end
|
||||
if !has_error && (statuses & DELETE_STATUSES).any?
|
||||
has_error = statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
end
|
||||
errors.add(:domains, I18n.t(:object_status_prohibits_operation)) if has_error
|
||||
end
|
||||
|
@ -345,10 +343,10 @@ class Domain < ApplicationRecord
|
|||
# find by internationalized domain name
|
||||
# internet domain name => ascii or puny, but db::domains.name is unicode
|
||||
def self.find_by_idn(name)
|
||||
domain = self.find_by_name name
|
||||
domain = find_by_name name
|
||||
if domain.blank? && name.include?('-')
|
||||
unicode = SimpleIDN.to_unicode name # we have no index on domains.name_puny
|
||||
domain = self.find_by_name unicode
|
||||
domain = find_by_name unicode
|
||||
end
|
||||
domain
|
||||
end
|
||||
|
@ -381,9 +379,7 @@ class Domain < ApplicationRecord
|
|||
return true unless Setting.days_to_renew_domain_before_expire != 0
|
||||
|
||||
# if you can renew domain at days_to_renew before domain expiration
|
||||
if (expire_time.to_date - Time.zone.today) + 1 > Setting.days_to_renew_domain_before_expire
|
||||
return false
|
||||
end
|
||||
return false if (expire_time.to_date - Time.zone.today) + 1 > Setting.days_to_renew_domain_before_expire
|
||||
|
||||
true
|
||||
end
|
||||
|
@ -592,14 +588,14 @@ class Domain < ApplicationRecord
|
|||
statuses.each do |s|
|
||||
unless update.include? s
|
||||
case s
|
||||
when DomainStatus::PENDING_DELETE
|
||||
self.delete_date = nil
|
||||
when DomainStatus::SERVER_MANUAL_INZONE # removal causes server hold to set
|
||||
self.outzone_at = Time.zone.now if force_delete_scheduled?
|
||||
when DomainStatus::EXPIRED # removal causes server hold to set
|
||||
self.outzone_at = self.expire_time + 15.day
|
||||
when DomainStatus::SERVER_HOLD # removal causes server hold to set
|
||||
self.outzone_at = nil
|
||||
when DomainStatus::PENDING_DELETE
|
||||
self.delete_date = nil
|
||||
when DomainStatus::SERVER_MANUAL_INZONE # removal causes server hold to set
|
||||
self.outzone_at = Time.zone.now if force_delete_scheduled?
|
||||
when DomainStatus::EXPIRED # removal causes server hold to set
|
||||
self.outzone_at = expire_time + 15.day
|
||||
when DomainStatus::SERVER_HOLD # removal causes server hold to set
|
||||
self.outzone_at = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -98,8 +98,8 @@ class Epp::Contact < Contact
|
|||
return unless legal_document_data
|
||||
|
||||
legal_documents.create(
|
||||
document_type: legal_document_data[:type],
|
||||
body: legal_document_data[:body]
|
||||
document_type: legal_document_data[:type],
|
||||
body: legal_document_data[:body]
|
||||
)
|
||||
end
|
||||
|
||||
|
@ -108,9 +108,9 @@ class Epp::Contact < Contact
|
|||
return unless legal_document_data
|
||||
|
||||
doc = LegalDocument.create(
|
||||
documentable_type: Contact,
|
||||
document_type: legal_document_data[:type],
|
||||
body: legal_document_data[:body]
|
||||
documentable_type: Contact,
|
||||
document_type: legal_document_data[:type],
|
||||
body: legal_document_data[:body]
|
||||
)
|
||||
self.legal_documents = [doc]
|
||||
|
||||
|
|
|
@ -144,8 +144,8 @@ class Epp::Domain < Domain
|
|||
return
|
||||
end
|
||||
|
||||
if doc = attach_legal_document(::Deserializers::Xml::LegalDocument.new(frame).call)
|
||||
frame.css("legalDocument").first.content = doc.path if doc&.persisted?
|
||||
if doc = attach_legal_document(::Deserializers::Xml::LegalDocument.new(frame).call) && doc&.persisted?
|
||||
frame.css("legalDocument").first.content = doc.path
|
||||
end
|
||||
|
||||
if Setting.request_confirmation_on_domain_deletion_enabled &&
|
||||
|
@ -325,11 +325,13 @@ class Epp::Domain < Domain
|
|||
return false
|
||||
end
|
||||
|
||||
begin
|
||||
errors.add(:base, :domain_status_prohibits_operation)
|
||||
return false
|
||||
end if (statuses &
|
||||
if (statuses &
|
||||
[DomainStatus::CLIENT_DELETE_PROHIBITED, DomainStatus::SERVER_DELETE_PROHIBITED]).any?
|
||||
begin
|
||||
errors.add(:base, :domain_status_prohibits_operation)
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
true
|
||||
end
|
||||
|
|
|
@ -2,4 +2,4 @@ class Iban
|
|||
def self.max_length
|
||||
34
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,7 +16,7 @@ class Invoice < ApplicationRecord
|
|||
scope :all_columns, -> { select("invoices.*") }
|
||||
scope :sort_due_date_column, -> { all_columns.select("CASE WHEN invoices.cancelled_at is not null THEN
|
||||
(invoices.cancelled_at + interval '100 year') ELSE
|
||||
invoices.due_date END AS sort_due_date")}
|
||||
invoices.due_date END AS sort_due_date") }
|
||||
scope :sort_by_sort_due_date_asc, -> { sort_due_date_column.order("sort_due_date ASC") }
|
||||
scope :sort_by_sort_due_date_desc, -> { sort_due_date_column.order("sort_due_date DESC") }
|
||||
scope :sort_receipt_date_column, -> { all_columns.includes(:account_activity).references(:account_activity).select(%Q{
|
||||
|
@ -91,8 +91,8 @@ class Invoice < ApplicationRecord
|
|||
read_attribute(:total)
|
||||
end
|
||||
|
||||
def each
|
||||
items.each { |item| yield item }
|
||||
def each(&block)
|
||||
items.each(&block)
|
||||
end
|
||||
|
||||
def as_pdf
|
||||
|
|
|
@ -8,7 +8,7 @@ class User < ApplicationRecord
|
|||
self.ignored_columns = %w[legacy_id]
|
||||
|
||||
def id_role_username
|
||||
"#{self.id}-#{self.class}: #{self.username}"
|
||||
"#{id}-#{self.class}: #{username}"
|
||||
end
|
||||
|
||||
def self.from_omniauth(omniauth_hash)
|
||||
|
|
|
@ -54,12 +54,8 @@ class WhiteIp < ApplicationRecord
|
|||
|
||||
def ids_including(ip)
|
||||
ipv4 = ipv6 = []
|
||||
if check_ip4(ip).present?
|
||||
ipv4 = select { |white_ip| check_ip4(white_ip.ipv4) === check_ip4(ip) }
|
||||
end
|
||||
if check_ip6(ip).present?
|
||||
ipv6 = select { |white_ip| check_ip6(white_ip.ipv6) === check_ip6(ip) }
|
||||
end
|
||||
ipv4 = select { |white_ip| check_ip4(white_ip.ipv4) === check_ip4(ip) } if check_ip4(ip).present?
|
||||
ipv6 = select { |white_ip| check_ip6(white_ip.ipv6) === check_ip6(ip) } if check_ip6(ip).present?
|
||||
(ipv4 + ipv6).pluck(:id).flatten.uniq
|
||||
end
|
||||
# rubocop:enable Style/CaseEquality
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue