2019-05-02 01:57:12 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2022-10-31 07:02:26 -05:00
|
|
|
class Admin::DashboardController < Admin::StaffController
|
2013-03-14 17:26:12 -05:00
|
|
|
def index
|
2019-04-01 05:39:49 -05:00
|
|
|
data = AdminDashboardIndexData.fetch_cached_stats
|
|
|
|
|
|
|
|
if SiteSetting.version_checks?
|
|
|
|
data.merge!(version_check: DiscourseUpdates.check_version.as_json)
|
|
|
|
end
|
2023-11-26 16:32:28 -06:00
|
|
|
data.merge!(has_unseen_features: DiscourseUpdates.has_unseen_features?(current_user.id))
|
2019-04-01 05:39:49 -05:00
|
|
|
|
|
|
|
render json: data
|
|
|
|
end
|
|
|
|
|
2023-01-09 06:20:10 -06:00
|
|
|
def moderation
|
|
|
|
end
|
2023-12-15 09:46:04 -06:00
|
|
|
|
2023-01-09 06:20:10 -06:00
|
|
|
def security
|
|
|
|
end
|
2023-12-15 09:46:04 -06:00
|
|
|
|
2023-01-09 06:20:10 -06:00
|
|
|
def reports
|
|
|
|
end
|
2019-04-01 05:39:49 -05:00
|
|
|
|
|
|
|
def general
|
|
|
|
render json: AdminDashboardGeneralData.fetch_cached_stats
|
2013-03-14 17:26:12 -05:00
|
|
|
end
|
|
|
|
|
2013-03-29 14:48:26 -05:00
|
|
|
def problems
|
2018-01-11 00:46:10 -06:00
|
|
|
render_json_dump(problems: AdminDashboardData.fetch_problems(check_force_https: request.ssl?))
|
2013-03-29 14:48:26 -05:00
|
|
|
end
|
2021-01-22 09:09:02 -06:00
|
|
|
|
|
|
|
def new_features
|
2022-12-15 11:12:53 -06:00
|
|
|
new_features = DiscourseUpdates.new_features
|
|
|
|
|
|
|
|
if current_user.admin? && most_recent = new_features&.first
|
|
|
|
DiscourseUpdates.bump_last_viewed_feature_date(current_user.id, most_recent["created_at"])
|
|
|
|
end
|
|
|
|
|
2021-02-10 12:12:04 -06:00
|
|
|
data = {
|
2022-12-15 11:12:53 -06:00
|
|
|
new_features: new_features,
|
2021-02-10 12:12:04 -06:00
|
|
|
has_unseen_features: DiscourseUpdates.has_unseen_features?(current_user.id),
|
2023-01-09 06:20:10 -06:00
|
|
|
release_notes_link: AdminDashboardGeneralData.fetch_cached_stats["release_notes_link"],
|
2021-02-10 12:12:04 -06:00
|
|
|
}
|
2023-11-26 16:32:28 -06:00
|
|
|
|
|
|
|
mark_new_features_as_seen
|
|
|
|
|
2021-01-22 09:09:02 -06:00
|
|
|
render json: data
|
|
|
|
end
|
|
|
|
|
2023-11-26 16:32:28 -06:00
|
|
|
private
|
|
|
|
|
2021-01-22 09:09:02 -06:00
|
|
|
def mark_new_features_as_seen
|
|
|
|
DiscourseUpdates.mark_new_features_as_seen(current_user.id)
|
|
|
|
end
|
2013-07-07 21:25:38 -05:00
|
|
|
end
|