hydrateFeedbackRecord.tsx 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import {
  2. HydratedFeedbackItem,
  3. RawFeedbackItemResponse,
  4. } from 'sentry/utils/feedback/item/types';
  5. export default function hydrateFeedbackRecord(
  6. apiResponse: RawFeedbackItemResponse
  7. ): HydratedFeedbackItem {
  8. // const unorderedTags: HydratedFeedbackItem['tags'] = {
  9. // ...apiResponse.tags,
  10. // ...(apiResponse.browser.name ? {'browser.name': apiResponse.browser.name} : {}),
  11. // ...(apiResponse.browser.version
  12. // ? {'browser.version': apiResponse.browser.version}
  13. // : {}),
  14. // ...(apiResponse.device.brand ? {'device.brand': apiResponse.device.brand} : {}),
  15. // ...(apiResponse.device.family ? {'device.family': apiResponse.device.family} : {}),
  16. // ...(apiResponse.device.model ? {'device.model': apiResponse.device.model} : {}),
  17. // ...(apiResponse.device.name ? {'device.name': apiResponse.device.name} : {}),
  18. // ...(apiResponse.locale.lang ? {'locale.lang': apiResponse.locale.lang} : {}),
  19. // ...(apiResponse.locale.timezone
  20. // ? {'locale.timezone': apiResponse.locale.timezone}
  21. // : {}),
  22. // ...(apiResponse.os.name ? {'os.name': apiResponse.os.name} : {}),
  23. // ...(apiResponse.os.version ? {'os.version': apiResponse.os.version} : {}),
  24. // ...(apiResponse.platform ? {platform: apiResponse.platform} : {}),
  25. // ...(apiResponse.sdk.name ? {'sdk.name': apiResponse.sdk.name} : {}),
  26. // ...(apiResponse.sdk.version ? {'sdk.version': apiResponse.sdk.version} : {}),
  27. // };
  28. // // Sort the tags by key
  29. // const tags = Object.keys(unorderedTags)
  30. // .sort()
  31. // .reduce((acc, key) => {
  32. // acc[key] = unorderedTags[key];
  33. // return acc;
  34. // }, {});
  35. return {
  36. ...apiResponse,
  37. replay_id: undefined,
  38. timestamp: new Date(apiResponse.firstSeen ?? ''),
  39. feedback_id: apiResponse.id,
  40. // tags,
  41. };
  42. }