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

32 lines
851 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 },
{
async get() {
if (!hasPermission(this.userId, 'view-statistics')) {
return API.v1.unauthorized();
}
const instances = 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,
};
}),
});
},
},
);