mirror of
https://github.com/neocities/neocities.git
synced 2025-04-24 17:22:35 +02:00
refactor site_updated, add initial site file tracking
This commit is contained in:
parent
f50b3a23d9
commit
05807e2f39
7 changed files with 44 additions and 10 deletions
15
app.rb
15
app.rb
|
@ -463,9 +463,9 @@ def browse_sites_dataset
|
|||
|
||||
case params[:sort_by]
|
||||
when 'hits'
|
||||
site_dataset.order!(:hits.desc, :updated_at.desc)
|
||||
site_dataset.order!(:hits.desc, :site_updated_at.desc)
|
||||
when 'views'
|
||||
site_dataset.order!(:views.desc, :updated_at.desc)
|
||||
site_dataset.order!(:views.desc, :site_updated_at.desc)
|
||||
when 'newest'
|
||||
site_dataset.order!(:created_at.desc, :views.desc)
|
||||
when 'oldest'
|
||||
|
@ -474,14 +474,14 @@ def browse_sites_dataset
|
|||
site_dataset.where! 'random() < 0.01'
|
||||
when 'last_updated'
|
||||
params[:sort_by] = 'last_updated'
|
||||
site_dataset.order!(:updated_at.desc, :views.desc)
|
||||
site_dataset.order!(:site_updated_at.desc, :views.desc)
|
||||
else
|
||||
if params[:tag]
|
||||
params[:sort_by] = 'views'
|
||||
site_dataset.order!(:views.desc, :updated_at.desc)
|
||||
site_dataset.order!(:views.desc, :site_updated_at.desc)
|
||||
else
|
||||
params[:sort_by] = 'last_updated'
|
||||
site_dataset.order!(:updated_at.desc, :views.desc)
|
||||
site_dataset.order!(:site_updated_at.desc, :views.desc)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -591,8 +591,7 @@ post '/create' do
|
|||
password: params[:password],
|
||||
email: params[:email],
|
||||
new_tags_string: params[:tags],
|
||||
ip: request.ip,
|
||||
created_at: Time.now
|
||||
ip: request.ip
|
||||
)
|
||||
|
||||
black_box_answered = BlackBox.valid? params[:blackbox_answer], request.ip
|
||||
|
@ -1376,7 +1375,7 @@ def api_info_for(site)
|
|||
views: site.views,
|
||||
hits: site.hits,
|
||||
created_at: site.created_at.rfc2822,
|
||||
last_updated: site.updated_at.rfc2822,
|
||||
last_updated: site.site_updated_at ? site.site_updated_at.rfc2822 : nil,
|
||||
domain: site.domain,
|
||||
tags: site.tags.collect {|t| t.name}
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ Sequel.extension :migration
|
|||
Sequel::Model.plugin :validation_helpers
|
||||
Sequel::Model.plugin :force_encoding, 'UTF-8'
|
||||
Sequel::Model.plugin :defaults_setter
|
||||
Sequel::Model.plugin :timestamps, create: :created_at, update: :DONT_UPDATE
|
||||
Sequel::Model.plugin :create_timestamp
|
||||
Sequel.default_timezone = 'UTC'
|
||||
Sequel::Migrator.apply DB, './migrations'
|
||||
|
||||
|
|
8
ext/sequel/plugins/create_timestamp.rb
Normal file
8
ext/sequel/plugins/create_timestamp.rb
Normal file
|
@ -0,0 +1,8 @@
|
|||
module Sequel::Plugins::CreateTimestamp
|
||||
module InstanceMethods
|
||||
def before_create
|
||||
self.created_at = Time.now if respond_to?(:created_at) && !self.created_at
|
||||
super
|
||||
end
|
||||
end
|
||||
end
|
17
migrations/050_add_site_files.rb
Normal file
17
migrations/050_add_site_files.rb
Normal file
|
@ -0,0 +1,17 @@
|
|||
Sequel.migration do
|
||||
up {
|
||||
DB.create_table! :site_files do
|
||||
Integer :site_id, index: true
|
||||
String :path
|
||||
Bigint :size
|
||||
String :sha1_hash
|
||||
Boolean :is_directory, default: false
|
||||
DateTime :created_at
|
||||
DateTime :updated_at
|
||||
end
|
||||
}
|
||||
|
||||
down {
|
||||
DB.drop_table :site_files
|
||||
}
|
||||
end
|
9
migrations/051_add_site_updated_at.rb
Normal file
9
migrations/051_add_site_updated_at.rb
Normal file
|
@ -0,0 +1,9 @@
|
|||
Sequel.migration do
|
||||
up {
|
||||
DB.add_column :sites, :site_updated_at, DateTime, index: true
|
||||
}
|
||||
|
||||
down {
|
||||
DB.drop_column :sites, :site_updated_at
|
||||
}
|
||||
end
|
|
@ -492,6 +492,8 @@ class Site < Sequel::Model
|
|||
end
|
||||
|
||||
self.site_changed = true
|
||||
self.site_updated_at = Time.now
|
||||
self.updated_at = Time.now
|
||||
|
||||
save_changes(validate: false)
|
||||
end
|
||||
|
@ -536,7 +538,6 @@ class Site < Sequel::Model
|
|||
|
||||
def increment_changed_count
|
||||
self.changed_count += 1
|
||||
self.updated_at = Time.now
|
||||
save_changes(validate: false)
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue