Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

queue.service.js 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { db } from '../utils/db'
  2. import { Profile } from '../entities'
  3. /**
  4. * Get a match queue of profiles
  5. * @param {number} profileId
  6. * @returns {array} profiles
  7. */
  8. const fetchQueueByProfileId = async profileId => {
  9. let queue
  10. try {
  11. queue = await db.get(
  12. `/profile/${profileId}/queue?include_profile=true`,
  13. )
  14. if(!queue?.length) {
  15. throw 'Could not retrieve match queue. Please take the survey and rescore.'
  16. }
  17. } catch (err) {
  18. console.error(err)
  19. }
  20. return queue ? queue.map(profileData => {
  21. return new Profile({ email: 'fixme@gmail.com', ...profileData })
  22. }) : []
  23. }
  24. /**
  25. * Remove or reinsert a profile in match queue
  26. * @param {number} profileId profile viewing the queue
  27. * @param {number} targetId
  28. * @param {boolean} reinsert FALSE if profileId accepted targetId; TRUE to reinsert into match queue
  29. * @returns {array} profiles
  30. */
  31. const updateQueueByProfileId = async (profileId, targetId, reinsert) => {
  32. const updateQueue = await db.patch(
  33. `/profile/${profileId}/queue/${targetId}/delete?include_profile=true&reinsert=${reinsert}`,
  34. [ targetId ],
  35. )
  36. return updateQueue ? updateQueue.map(profileData => {
  37. return new Profile({ email: 'fixme@gmail.com', ...profileData })
  38. }) : []
  39. }
  40. export { fetchQueueByProfileId, updateQueueByProfileId }