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/api/server/v1/instances.ts

28 lines
829 B

import { getInstanceConnection } from '../../../../server/stream/streamBroadcast';
import { hasPermission } from '../../../authorization/server';
import { API } from '../api';
import { InstanceStatus } from '../../../models/server/raw';
import { IInstanceStatus } from '../../../../definition/IInstanceStatus';
API.v1.addRoute('instances.get', { authRequired: true }, {
get() {
if (!hasPermission(this.userId, 'view-statistics')) {
return API.v1.unauthorized();
}
const instances = Promise.await(InstanceStatus.find().toArray());
return API.v1.success({
instances: instances.map((instance: IInstanceStatus) => {
const connection = getInstanceConnection(instance);
if (connection) {
delete connection.instanceRecord;
}
return {
...instance,
connection,
};
}),
});
},
});