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