getSolutions.js 845 B

1234567891011121314151617181920212223
  1. export const getSolutionsWithRelations = async (solutionsList, gamesRelations, maxLength=0) => {
  2. const selectedRelations = {};
  3. solutionsList.forEach(solution => {
  4. const { info: { id }, ...solutionRest } = solution;
  5. if (!gamesRelations[id]) {
  6. return;
  7. }
  8. if (!selectedRelations[id]) {
  9. selectedRelations[id] = { ...gamesRelations[id] };
  10. }
  11. if (!selectedRelations[id]['solutions']) {
  12. selectedRelations[id]['solutions'] = [];
  13. }
  14. if (maxLength > 0 && selectedRelations[id]['solutions'].length >= maxLength) {
  15. return;
  16. }
  17. selectedRelations[id]['solutions'].push(solutionRest);
  18. });
  19. const relationsList = Object.values(selectedRelations).sort((a, b) => {
  20. return b.solutions[0].sol.win_profit_rate - a.solutions[0].sol.win_profit_rate;
  21. });
  22. return Promise.resolve(relationsList);
  23. }