discourse/app/assets/javascripts/admin/models/admin-dashboard.js.es6

42 lines
1.0 KiB
JavaScript

import { ajax } from 'discourse/lib/ajax';
const AdminDashboard = Discourse.Model.extend({});
AdminDashboard.reopenClass({
/**
Fetch all dashboard data. This can be an expensive request when the cached data
has expired and the server must collect the data again.
@method find
@return {jqXHR} a jQuery Promise object
**/
find: function() {
return ajax("/admin/dashboard.json").then(function(json) {
var model = AdminDashboard.create(json);
model.set('loaded', true);
return model;
});
},
/**
Only fetch the list of problems that should be rendered on the dashboard.
The model will only have its "problems" attribute set.
@method fetchProblems
@return {jqXHR} a jQuery Promise object
**/
fetchProblems: function() {
return ajax("/admin/dashboard/problems.json", {
type: 'GET',
dataType: 'json'
}).then(function(json) {
var model = AdminDashboard.create(json);
model.set('loaded', true);
return model;
});
}
});
export default AdminDashboard;