Source

vendors/Firebase/logs.js

  1. // NPM module imports
  2. import firebase from "./firebase.js";
  3. /**
  4. * Pre-built logs for Firebase Analytics
  5. * @module firebaseLogs
  6. * @category Firebase
  7. * @author Dan Levy <danlevy124@gmail.com>
  8. */
  9. /**
  10. * Logs an authentication error
  11. * @function
  12. * @param {string} code - The error code
  13. * @param {string} message - The error message
  14. * @param {string} location - The error location
  15. */
  16. export const authError = (code, message, location) =>
  17. logEvent("auth_error", code, message, location);
  18. /**
  19. * Logs a choir selection error
  20. * @function
  21. * @param {string} code - The error code
  22. * @param {string} message - The error message
  23. * @param {string} location - The error location
  24. */
  25. export const choirSelectionError = (code, message, location) =>
  26. logEvent("choir_selection_error", code, message, location);
  27. /**
  28. * Logs a music selection error
  29. * @function
  30. * @param {string} code - The error code
  31. * @param {string} message - The error message
  32. * @param {string} location - The error location
  33. */
  34. export const musicSelectionError = (code, message, location) =>
  35. logEvent("music_selection_error", code, message, location);
  36. /**
  37. * Logs a sheet music error
  38. * @function
  39. * @param {string} code - The error code
  40. * @param {string} message - The error message
  41. * @param {string} location - The error location
  42. */
  43. export const sheetMusicError = (code, message, location) =>
  44. logEvent("sheet_music_error", code, message, location);
  45. /**
  46. * Logs a choir members error
  47. * @function
  48. * @param {string} code - The error code
  49. * @param {string} message - The error message
  50. * @param {string} location - The error location
  51. */
  52. export const choirMembersError = (code, message, location) =>
  53. logEvent("choir_members_error", code, message, location);
  54. /**
  55. * Logs an event
  56. * @function
  57. * @param {string} eventType - The event type
  58. * @param {string} code - The error code
  59. * @param {string} message - The error message
  60. * @param {string} location - The error location
  61. */
  62. const logEvent = (eventType, code, message, location) => {
  63. // Logs the event to Firebase Analytics
  64. firebase.analytics().logEvent(eventType, {
  65. errorCode: code,
  66. errorMessage: message,
  67. errorLocation: location,
  68. });
  69. };