From fcb6f96979cc6ee7f7caefe25ba493a39a3e3346 Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 22 Jan 2020 21:30:00 -0600 Subject: [PATCH] forum: add /forum_topic_visits.{json,xml} endpoint. For debugging purposes only. --- app/controllers/forum_topic_visits_controller.rb | 9 +++++++++ app/models/forum_topic_visit.rb | 6 ++++++ config/routes.rb | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 app/controllers/forum_topic_visits_controller.rb diff --git a/app/controllers/forum_topic_visits_controller.rb b/app/controllers/forum_topic_visits_controller.rb new file mode 100644 index 000000000..56db0f1b7 --- /dev/null +++ b/app/controllers/forum_topic_visits_controller.rb @@ -0,0 +1,9 @@ +class ForumTopicVisitsController < ApplicationController + respond_to :xml, :json + before_action :member_only + + def index + @forum_topic_visits = ForumTopicVisit.where(user: CurrentUser.user).paginated_search(params) + respond_with(@forum_topic_visits) + end +end diff --git a/app/models/forum_topic_visit.rb b/app/models/forum_topic_visit.rb index 71f237125..531f37f39 100644 --- a/app/models/forum_topic_visit.rb +++ b/app/models/forum_topic_visit.rb @@ -5,4 +5,10 @@ class ForumTopicVisit < ApplicationRecord def self.prune!(user) where("user_id = ? and last_read_at < ?", user.id, user.last_forum_read_at).delete_all end + + def self.search(params) + q = super + q = q.search_attributes(params, :user, :forum_topic_id, :last_read_at) + q.apply_default_order(params) + end end diff --git a/config/routes.rb b/config/routes.rb index 8864fd385..ea87fbdff 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -144,8 +144,8 @@ Rails.application.routes.draw do collection do post :mark_all_as_read end - resource :visit, :controller => "forum_topic_visits" end + resources :forum_topic_visits, only: [:index] resources :ip_bans resources :ip_addresses, only: [:index] resource :iqdb_queries, :only => [:show, :create] do