mirror of
https://github.com/discourse/discourse.git
synced 2024-12-14 10:53:40 +08:00
586454bcf1
* DEV: Add a dedicated Admin::StaffController base controller The current parent(Admin:AdminController) for all admin-related controllers uses a filter that allows only staff(admin, moderator) users. This refactor makes Admin::AdminController filter for only admins as the name suggests and introduces a base controller dedicated for staff-related endpoints. * DEV: Set staff-only controllers parent to Admin::StaffController Refactor staff-only controllers to inherit newly introduced Admin::StaffController abstract controller. This conveys the purpose of the parent controller better unlike the previously used parent controller.
40 lines
998 B
Ruby
40 lines
998 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Admin::DashboardController < Admin::StaffController
|
|
def index
|
|
data = AdminDashboardIndexData.fetch_cached_stats
|
|
|
|
if SiteSetting.version_checks?
|
|
data.merge!(version_check: DiscourseUpdates.check_version.as_json)
|
|
end
|
|
|
|
render json: data
|
|
end
|
|
|
|
def moderation; end
|
|
def security; end
|
|
def reports; end
|
|
|
|
def general
|
|
render json: AdminDashboardGeneralData.fetch_cached_stats
|
|
end
|
|
|
|
def problems
|
|
render_json_dump(problems: AdminDashboardData.fetch_problems(check_force_https: request.ssl?))
|
|
end
|
|
|
|
def new_features
|
|
data = {
|
|
new_features: DiscourseUpdates.new_features,
|
|
has_unseen_features: DiscourseUpdates.has_unseen_features?(current_user.id),
|
|
release_notes_link: AdminDashboardGeneralData.fetch_cached_stats["release_notes_link"]
|
|
}
|
|
render json: data
|
|
end
|
|
|
|
def mark_new_features_as_seen
|
|
DiscourseUpdates.mark_new_features_as_seen(current_user.id)
|
|
render json: success_json
|
|
end
|
|
end
|