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/ee/app/engagement-dashboard/server/api/messages.js

41 lines
1.2 KiB

import { check } from 'meteor/check';
import { API } from '../../../../../app/api/server';
import { findWeeklyMessagesSentData, findMessagesSentOrigin, findTopFivePopularChannelsByMessageSentQuantity } from '../lib/messages';
import { transformDatesForAPI } from './helpers/date';
API.v1.addRoute('engagement-dashboard/messages/messages-sent', { authRequired: true }, {
get() {
const { start, end } = this.requestParams();
check(start, String);
check(end, String);
const data = Promise.await(findWeeklyMessagesSentData(transformDatesForAPI(start, end)));
return API.v1.success(data);
},
});
API.v1.addRoute('engagement-dashboard/messages/origin', { authRequired: true }, {
get() {
const { start, end } = this.requestParams();
check(start, String);
check(end, String);
const data = Promise.await(findMessagesSentOrigin(transformDatesForAPI(start, end)));
return API.v1.success(data);
},
});
API.v1.addRoute('engagement-dashboard/messages/top-five-popular-channels', { authRequired: true }, {
get() {
const { start, end } = this.requestParams();
check(start, String);
check(end, String);
const data = Promise.await(findTopFivePopularChannelsByMessageSentQuantity(transformDatesForAPI(start, end)));
return API.v1.success(data);
},
});