forgeplus/app/controllers/watchers_controller.rb

43 lines
1.0 KiB
Ruby
Raw Permalink Normal View History

2020-03-09 00:40:16 +08:00
class WatchersController < ApplicationController
before_action :require_login, except: %i[index]
before_action :find_project_with_id
def index
scope = @project.watchers.includes(:user)
@watchers = paginate(scope)
end
def unfollow
begin
return normal_status(2, "你还没有关注哦") unless current_user.watched?(@project)
current_user.unwatch!(@project)
render_ok
rescue Exception => e
uid_logger_error(e.message)
tip_exception(e.message)
raise ActiveRecord::Rollback
end
end
def follow
begin
return normal_status(2, "你已关注了") if current_user.watched?(@project)
current_user.watch!(@project)
render_ok
rescue Exception => e
uid_logger_error(e.message)
tip_exception(e.message)
raise ActiveRecord::Rollback
end
end
def check_watch
is_watch = current_user.watched?(@project)
render_result(is_watch ? 1 : 0)
rescue Exception => e
uid_logger_error(e.message)
tip_exception(e.message)
end
end