reports.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. class Group {
  2. constructor (children) {
  3. for (let [ key, value ] of Object.entries(children)) {
  4. this[key] = value
  5. }
  6. }
  7. }
  8. module.exports.types = {
  9. // Global utilities.
  10. backups: new Group({
  11. list: require('./reports/backups/list')
  12. }),
  13. // Per-backup utilities
  14. backup: new Group({
  15. status: require('./reports/backup/status'),
  16. manifest: require('./reports/backup/manifest'),
  17. info: require('./reports/backup/info'),
  18. files: require('./reports/backup/files')
  19. }),
  20. // Phone Data
  21. phone: new Group({
  22. calls: require('./reports/phone/calls'),
  23. calls_statistics: require('./reports/phone/calls_statistics'),
  24. address_book: require('./reports/phone/address_book'),
  25. speed_dial: require('./reports/phone/speed_dial'),
  26. voicemail: require('./reports/phone/voicemail')
  27. }),
  28. // Notes report
  29. notes: require('./reports/notes/notes'),
  30. // Camera report
  31. photos: new Group({
  32. locations: require('./reports/photos/locations')
  33. }),
  34. // Calendar
  35. calendar: new Group({
  36. events: require('./reports/calendar/events')
  37. }),
  38. // Reports related to messaging.
  39. messages: new Group({
  40. all: require('./reports/messages/all'),
  41. conversations: require('./reports/messages/conversations'),
  42. messages: require('./reports/messages/messages'),
  43. conversations_full: require('./reports/messages/conversations_full')
  44. }),
  45. // Safari Data
  46. safari: new Group({
  47. history: require('./reports/safari/webhistory'),
  48. bookmarks: require('./reports/safari/bookmarks'),
  49. open_tabs: require('./reports/safari/open_tabs'),
  50. recent_searches: require('./reports/safari/recent_searches'),
  51. cookies: require('./reports/safari/cookies')
  52. }),
  53. // System level reports, such as wifi
  54. system: new Group({
  55. wifi: require('./reports/system/wifi'),
  56. bluetooth_devices: require('./reports/system/bluetooth_devices'),
  57. pushstore: require('./reports/system/pushstore'),
  58. apps: require('./reports/system/apps'),
  59. geofences: require('./reports/system/geofences')
  60. }),
  61. // Facebook Data
  62. facebook: new Group({
  63. profile: require('./reports/thirdparty/facebook/profile'),
  64. messenger: new Group({
  65. friends: require('./reports/thirdparty/facebook/messenger')
  66. })
  67. }),
  68. // Instagram data
  69. instagram: new Group({
  70. profile: require('./reports/thirdparty/instagram/profile'),
  71. recent_searches: require('./reports/thirdparty/instagram/recent_searches'),
  72. following_users_coded: require('./reports/thirdparty/instagram/following_users_coded'),
  73. fb_friends: require('./reports/thirdparty/instagram/fb_friends')
  74. }),
  75. // Gmail
  76. gmail: new Group({
  77. accounts: require('./reports/thirdparty/gmail/accounts'),
  78. shared_contacts: require('./reports/thirdparty/gmail/shared_contacts')
  79. }),
  80. // Spotify
  81. spotify: new Group({
  82. searches: require('./reports/thirdparty/spotify/searches')
  83. }),
  84. // Waze
  85. waze: new Group({
  86. favorites: require('./reports/thirdparty/waze/favorites'),
  87. places: require('./reports/thirdparty/waze/places'),
  88. recents: require('./reports/thirdparty/waze/recents')
  89. }),
  90. // Skype
  91. skype: new Group({
  92. accounts: require('./reports/thirdparty/skype/accounts'),
  93. calls: require('./reports/thirdparty/skype/calls')
  94. }),
  95. // Viber
  96. viber: new Group({
  97. contacts: require('./reports/thirdparty/viber/contacts'),
  98. calls: require('./reports/thirdparty/viber/calls'),
  99. messages: require('./reports/thirdparty/viber/messages')
  100. })
  101. }
  102. module.exports.Group = Group