Remove IpAddress model.
This commit is contained in:
@@ -1,56 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class IpAddress < ApplicationRecord
|
||||
belongs_to :model, polymorphic: true
|
||||
belongs_to :user
|
||||
attribute :ip_addr, :ip_address
|
||||
|
||||
def self.model_types
|
||||
%w[Post User Comment Dmail ArtistVersion ArtistCommentaryVersion NoteVersion WikiPageVersion]
|
||||
end
|
||||
|
||||
def self.visible(user)
|
||||
user.is_admin? ? all : where.not(model_type: "Dmail")
|
||||
end
|
||||
|
||||
def self.search(params)
|
||||
q = search_attributes(params, :ip_addr, :user, :model)
|
||||
q.order(created_at: :desc)
|
||||
end
|
||||
|
||||
def self.group_by_ip_addr(ipv4_masklen = nil, ipv6_masklen = nil)
|
||||
ipv4_masklen ||= 32
|
||||
ipv6_masklen ||= 128
|
||||
|
||||
q = select(sanitize_sql([<<~SQL.squish, ipv4_masklen, ipv6_masklen]))
|
||||
CASE
|
||||
WHEN family(ip_addr) = 4
|
||||
THEN network(set_masklen(ip_addr, ?))
|
||||
ELSE network(set_masklen(ip_addr, ?))
|
||||
END AS ip_addr,
|
||||
COUNT(*) AS count_all
|
||||
SQL
|
||||
|
||||
q.group("1").reorder("count_all DESC, ip_addr")
|
||||
end
|
||||
|
||||
def self.group_by_user
|
||||
group(:user_id).select("user_id, COUNT(*) AS count_all").reorder("count_all DESC, user_id")
|
||||
end
|
||||
|
||||
def lookup
|
||||
@lookup ||= ip_addr.ip_lookup
|
||||
end
|
||||
|
||||
def to_s
|
||||
ip_addr.to_s
|
||||
end
|
||||
|
||||
def readonly?
|
||||
true
|
||||
end
|
||||
|
||||
def self.available_includes
|
||||
[:user, :model]
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user