The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/app/federation/server/functions/dashboard.js

44 lines
1.0 KiB

import { Meteor } from 'meteor/meteor';
import { FederationServers, FederationRoomEvents, Users } from '../../../models/server';
export function getStatistics() {
const numberOfEvents = FederationRoomEvents.find().count();
const numberOfFederatedUsers = Users.findRemote().count();
const numberOfServers = FederationServers.find().count();
return { numberOfEvents, numberOfFederatedUsers, numberOfServers };
}
export function federationGetOverviewData() {
if (!Meteor.userId()) {
throw new Meteor.Error('not-authorized');
}
const { numberOfEvents, numberOfFederatedUsers, numberOfServers } = getStatistics();
return {
data: [{
title: 'Number_of_events',
value: numberOfEvents,
}, {
title: 'Number_of_federated_users',
value: numberOfFederatedUsers,
}, {
title: 'Number_of_federated_servers',
value: numberOfServers,
}],
};
}
export function federationGetServers() {
if (!Meteor.userId()) {
throw new Meteor.Error('not-authorized');
}
const servers = FederationServers.find().fetch();
return {
data: servers,
};
}