diff --git a/app/event.rb b/app/event.rb index 9c3abeb5..3247c9e6 100644 --- a/app/event.rb +++ b/app/event.rb @@ -36,12 +36,13 @@ end post '/event/:event_id/delete' do |event_id| require_login content_type :json + event = Event[id: event_id] - if event.site_id == current_site.id || event.created_by?(current_site) + if event.site_id == current_site.id || event.actioning_site_id == current_site.id event.delete return {result: 'success'}.to_json end return {result: 'error'}.to_json -end \ No newline at end of file +end diff --git a/app/index.rb b/app/index.rb index de5afa63..0ad58bce 100644 --- a/app/index.rb +++ b/app/index.rb @@ -12,6 +12,7 @@ get '/?' do elsif params[:event_id] event = Event.select(:id).where(id: params[:event_id]).first not_found if event.nil? + not_found if event.is_deleted events_dataset = Event.where(id: params[:event_id]).paginate(1, 1) elsif params[:activity] == 'global' events_dataset = Event.global_dataset @current_page diff --git a/models/event.rb b/models/event.rb index 16feafb7..35c94a20 100644 --- a/models/event.rb +++ b/models/event.rb @@ -15,17 +15,22 @@ class Event < Sequel::Model DEFAULT_GLOBAL_LIMIT = 300 GLOBAL_VIEWS_MINIMUM = 5 - def self.global_dataset(current_page=1, limit=DEFAULT_GLOBAL_LIMIT) + def self.news_feed_default_dataset select_all(:events). order(:created_at.desc). - paginate(current_page, 100). join_table(:inner, :sites, id: :site_id). - exclude(Sequel.qualify(:sites, :is_deleted) => false). - exclude(is_nsfw: false). - exclude(is_banned: false). - exclude(is_crashing: false). + exclude(Sequel.qualify(:sites, :is_deleted) => true). + exclude(Sequel.qualify(:events, :is_deleted) => true). + exclude(is_banned: true) + end + + def self.global_dataset(current_page=1, limit=DEFAULT_GLOBAL_LIMIT) + news_feed_default_dataset. + paginate(current_page, 100). + exclude(is_nsfw: true). + exclude(is_crashing: true). where{views > GLOBAL_VIEWS_MINIMUM}. - or(site_change_id: nil) + where(site_change_id: nil) end def created_by?(site) diff --git a/models/site.rb b/models/site.rb index 2b13a79b..a91ab51c 100644 --- a/models/site.rb +++ b/models/site.rb @@ -975,7 +975,7 @@ class Site < Sequel::Model def latest_events(current_page=1, limit=10) site_id = self.id - Event.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})}. order(:created_at.desc). paginate(current_page, limit) end @@ -984,7 +984,7 @@ class Site < Sequel::Model following_ids = self.followings_dataset.select(:site_id).all.collect {|f| f.site_id} search_ids = following_ids+[self.id] - Event.where{Sequel.|({site_id: search_ids}, {actioning_site_id: search_ids})}. + Event.news_feed_default_dataset.where{Sequel.|({site_id: search_ids}, {actioning_site_id: search_ids})}. order(:created_at.desc). paginate(current_page, limit) end