report.js 1023 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. const internalProxyHost = require('./proxy-host');
  2. const internalRedirectionHost = require('./redirection-host');
  3. const internalDeadHost = require('./dead-host');
  4. const internalStream = require('./stream');
  5. const internalReport = {
  6. /**
  7. * @param {Access} access
  8. * @return {Promise}
  9. */
  10. getHostsReport: (access) => {
  11. return access.can('reports:hosts', 1)
  12. .then((access_data) => {
  13. let user_id = access.token.getUserId(1);
  14. let promises = [
  15. internalProxyHost.getCount(user_id, access_data.visibility),
  16. internalRedirectionHost.getCount(user_id, access_data.visibility),
  17. internalStream.getCount(user_id, access_data.visibility),
  18. internalDeadHost.getCount(user_id, access_data.visibility)
  19. ];
  20. return Promise.all(promises);
  21. })
  22. .then((counts) => {
  23. return {
  24. proxy: counts.shift(),
  25. redirection: counts.shift(),
  26. stream: counts.shift(),
  27. dead: counts.shift()
  28. };
  29. });
  30. }
  31. };
  32. module.exports = internalReport;