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.

functions.web.ts 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import logger from './logger';
  2. /**
  3. * Sends feedback metadata to JaaS endpoints.
  4. *
  5. * @param {string} url - The JaaS metadata endpoint URL.
  6. * @param {Object} feedbackData - The feedback data object.
  7. * @returns {Promise}
  8. */
  9. export async function sendFeedbackToJaaSRequest(url: string, feedbackData: {
  10. jwt?: string; meetingFqn: string; message?: string; score?: number;
  11. sessionId: string; tenant?: string; userId?: string;
  12. }) {
  13. const {
  14. jwt,
  15. sessionId,
  16. meetingFqn,
  17. score,
  18. message,
  19. userId,
  20. tenant
  21. } = feedbackData;
  22. const headers = {
  23. 'Authorization': `Bearer ${jwt}`,
  24. 'Content-Type': 'application/json'
  25. };
  26. const data = {
  27. sessionId,
  28. meetingFqn,
  29. userId,
  30. tenant,
  31. submitted: new Date().getTime(),
  32. rating: score,
  33. comments: message
  34. };
  35. try {
  36. const res = await fetch(url, {
  37. method: 'POST',
  38. headers,
  39. body: JSON.stringify(data)
  40. });
  41. if (!res.ok) {
  42. logger.error('Status error:', res.status);
  43. }
  44. } catch (err) {
  45. logger.error('Could not send request', err);
  46. }
  47. }