Skip to content

Commit

Permalink
CH - User Image & Username
Browse files Browse the repository at this point in the history
- User Image & Username are returned in accommodations Ratings

[finishes #170513850]
  • Loading branch information
Cheza-Dzabala committed Jan 3, 2020
1 parent 7afd8f9 commit 7df1b69
Showing 1 changed file with 32 additions and 23 deletions.
55 changes: 32 additions & 23 deletions src/helpers/ratingsHelper.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,41 @@
/* eslint-disable import/prefer-default-export */
/* eslint-disable indent */
/* eslint-disable max-len */
import userServices from '../services/userServices';

export const getRatings = async (accommodation, userId) => {

if (accommodation) {
const ratings = await accommodation.getRatings();
const bookmarks = await accommodation.getBookmarks();
const likes = await accommodation.getLikes({ where: { status: true } });
const unlikes = await accommodation.getLikes({ where: { status: false } });
const Likes = likes.length;
const Unlikes = unlikes.length;
const hasRated = ratings.some(rating => rating.userId === userId);
const hasBookmarked = bookmarks.some(bookmark => bookmark.userId === userId);
const hasLiked = likes.some(like => like.userId === userId);
const hasUnliked = unlikes.some(unlike => unlike.userId === userId);
const summation = await ratings.reduce((averageValue, cuurentValue) => averageValue + cuurentValue.rating, 0);
const averageRating = summation / ratings.length;
accommodation.dataValues.hasRated = hasRated;
accommodation.dataValues.hasBookmarked = hasBookmarked;
accommodation.dataValues.averageRating = (!isNaN(averageRating) ? parseFloat(averageRating.toFixed(1)) : 0);
accommodation.dataValues.ratings = ratings;
if (accommodation) {
const ratings = await accommodation.getRatings();
await ratings.forEach(rating => {
userServices.findOne({
id: userId
}).then(user => {
rating.dataValues.userName = user.dataValues.username;
rating.dataValues.userImage = user.dataValues.image;
});
});
const bookmarks = await accommodation.getBookmarks();
const likes = await accommodation.getLikes({ where: { status: true } });
const unlikes = await accommodation.getLikes({ where: { status: false } });
const Likes = likes.length;
const Unlikes = unlikes.length;
const hasRated = ratings.some(rating => rating.userId === userId);
const hasBookmarked = bookmarks.some(bookmark => bookmark.userId === userId);
const hasLiked = likes.some(like => like.userId === userId);
const hasUnliked = unlikes.some(unlike => unlike.userId === userId);
const summation = await ratings.reduce((averageValue, cuurentValue) => averageValue + cuurentValue.rating, 0);
const averageRating = summation / ratings.length;
accommodation.dataValues.hasRated = hasRated;
accommodation.dataValues.hasBookmarked = hasBookmarked;
accommodation.dataValues.averageRating = (!isNaN(averageRating) ? parseFloat(averageRating.toFixed(1)) : 0);
accommodation.dataValues.ratings = ratings;

accommodation.dataValues.Likes = Likes;
accommodation.dataValues.Unlikes = Unlikes;
accommodation.dataValues.hasLiked = hasLiked;
accommodation.dataValues.hasUnliked = hasUnliked;
}
accommodation.dataValues.Likes = Likes;
accommodation.dataValues.Unlikes = Unlikes;
accommodation.dataValues.hasLiked = hasLiked;
accommodation.dataValues.hasUnliked = hasUnliked;
}

return accommodation;
return accommodation;
};

0 comments on commit 7df1b69

Please sign in to comment.