mirror of
https://github.com/neocities/neocities.git
synced 2025-04-25 09:42:36 +02:00
new redis data structure for proxy data
This commit is contained in:
parent
bb3354b09d
commit
a8a2462e05
1 changed files with 38 additions and 14 deletions
|
@ -151,6 +151,7 @@ class Site < Sequel::Model
|
||||||
|
|
||||||
MAXIMUM_EMAIL_CONFIRMATIONS = 20
|
MAXIMUM_EMAIL_CONFIRMATIONS = 20
|
||||||
MAX_COMMENTS_PER_DAY = 5
|
MAX_COMMENTS_PER_DAY = 5
|
||||||
|
SANDBOX_TIME = 2.days
|
||||||
|
|
||||||
many_to_many :tags
|
many_to_many :tags
|
||||||
|
|
||||||
|
@ -361,6 +362,7 @@ class Site < Sequel::Model
|
||||||
|
|
||||||
def username=(val)
|
def username=(val)
|
||||||
@redis_proxy_change = true
|
@redis_proxy_change = true
|
||||||
|
@old_username = self.username
|
||||||
super val.downcase
|
super val.downcase
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -883,23 +885,40 @@ class Site < Sequel::Model
|
||||||
!domain.blank? && !ssl_key.blank? && !ssl_cert.blank?
|
!domain.blank? && !ssl_key.blank? && !ssl_cert.blank?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def sandboxed?
|
||||||
|
plan_type == 'free' && created_at > SANDBOX_TIME.ago
|
||||||
|
end
|
||||||
|
|
||||||
def update_redis_proxy_record
|
def update_redis_proxy_record
|
||||||
|
user_record = {}
|
||||||
|
domain_record = {}
|
||||||
|
|
||||||
|
if values[:domain]
|
||||||
|
domain_record[:username] = username
|
||||||
|
|
||||||
if ssl_installed?
|
if ssl_installed?
|
||||||
$redis_proxy.mapped_hmset("d-#{values[:domain]}",
|
domain_record[:ssl_cert] = ssl_cert
|
||||||
username: username,
|
domain_record[:ssl_key] = ssl_key
|
||||||
ssl_cert: ssl_cert,
|
end
|
||||||
ssl_key: ssl_key
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
user_record[:is_sandboxed] = '1' if sandboxed?
|
||||||
|
user_record[:is_supporter] = '1' if supporter?
|
||||||
|
|
||||||
|
unless user_record.empty?
|
||||||
|
user_record[:domain] = values[:domain]
|
||||||
|
$redis_proxy.mapped_hmset "u-#{username}", user_record
|
||||||
|
$redis_proxy.del "u-#{@old_username}" if @old_username
|
||||||
|
end
|
||||||
|
|
||||||
|
unless domain_record.empty?
|
||||||
|
$redis_proxy.mapped_hmset "d-#{values[:domain]}", domain_record
|
||||||
$redis_proxy.del "d-#{@old_domain}" if @old_domain
|
$redis_proxy.del "d-#{@old_domain}" if @old_domain
|
||||||
true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def delete_redis_proxy_record
|
true
|
||||||
if !domain.blank?
|
|
||||||
$redis_proxy.del "d-#{domain}"
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def ssl_key=(val)
|
def ssl_key=(val)
|
||||||
|
@ -913,7 +932,7 @@ class Site < Sequel::Model
|
||||||
end
|
end
|
||||||
|
|
||||||
def domain=(domain)
|
def domain=(domain)
|
||||||
@old_domain = self.domain unless self.domain.blank?
|
@old_domain = values[:domain] unless values[:domain].blank?
|
||||||
@redis_proxy_change = true
|
@redis_proxy_change = true
|
||||||
super SimpleIDN.to_ascii(domain)
|
super SimpleIDN.to_ascii(domain)
|
||||||
end
|
end
|
||||||
|
@ -1259,6 +1278,11 @@ class Site < Sequel::Model
|
||||||
owner.values[:plan_type]
|
owner.values[:plan_type]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def plan_type=(val)
|
||||||
|
@redis_proxy_change = true
|
||||||
|
super val
|
||||||
|
end
|
||||||
|
|
||||||
def latest_events(current_page=1, limit=10)
|
def latest_events(current_page=1, limit=10)
|
||||||
site_id = self.id
|
site_id = self.id
|
||||||
Event.news_feed_default_dataset.where{Sequel.|({site_id: site_id}, {actioning_site_id: site_id})}.
|
Event.news_feed_default_dataset.where{Sequel.|({site_id: site_id}, {actioning_site_id: site_id})}.
|
||||||
|
|
Loading…
Add table
Reference in a new issue