Skip to content

Commit

Permalink
ch(likeAndDislike) Return fully info about who liked or disliked
Browse files Browse the repository at this point in the history
  • Loading branch information
william000000 committed Feb 20, 2020
1 parent f3def80 commit 6cc6daf
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 38 deletions.
2 changes: 0 additions & 2 deletions src/controllers/BookingController.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ class BookingController {
await NotificationService.newBookingNotification(req);
return Response.successMessage(req, res, 'You have booked an accommodation facility successfully', result, 201);
} catch (error) {
console.log(error);

return Response.errorMessage(req, res, 'Server error', 500);
}
}
Expand Down
4 changes: 4 additions & 0 deletions src/database/models/accommodations.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ module.exports = (sequelize, DataTypes) => {
sourceKey: "id",
as: "ratings"
});
accommodations.hasMany(models.likes, {
targetKey: "accommodationId",
sourceKey: "id"
});
accommodations.belongsTo(models.users,
{
targetKey: 'id',
Expand Down
5 changes: 5 additions & 0 deletions src/database/models/booking.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ module.exports = (sequelize, DataTypes) => {
sourceKey: "roomId",
targetKey: "id",
});
booking.hasMany(models.likes, {
foreignKey: "accommodationId",
onDelete: 'CASCADE',
onUpdate: 'CASCADE',
});

};
return booking;
Expand Down
19 changes: 17 additions & 2 deletions src/services/AccommodationService.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Sequelize from 'sequelize';
import {
accommodations, rooms, accommodationImages, ratings, likes, sequelize, cities, users, userProfile
accommodations, rooms, accommodationImages, ratings, likes, sequelize, cities, users, userProfile,
} from '../database/models';
import CommonQueries from './CommonQueries';

Expand Down Expand Up @@ -160,6 +160,8 @@ class AccommodationService {
*/
static async getAccommodationLikes(req) {
const { accommodationId } = req.params;
const { id } = req.user;

const likeCounter = await CommonQueries.count(likes, {
where: {
accommodationId,
Expand All @@ -172,7 +174,20 @@ class AccommodationService {
disliked: true
}
});
return { likeCounter, dislikeCounter };

const joinedTable = await CommonQueries.findAll(likes, {
where: { accommodationId, userId: id },
include: [{
model: accommodations,
where: { id: accommodationId }
}],
});

const [allAboutWhoReacted] = joinedTable;

return {
likeCounter, dislikeCounter, allAboutWhoReacted
};
}

/**
Expand Down
34 changes: 0 additions & 34 deletions src/services/BookingService.js
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,6 @@ class BookingService {
where: { managerId: req.user.id }
};
const findOneBookingOb = {
<<<<<<< HEAD
where: id ? { id, userId: req.user.id } : { userId: req.user.id },
order: [['updatedAt', 'DESC']],
include: [
Expand All @@ -135,39 +134,6 @@ class BookingService {
]
}
]
=======
<<<<<<< HEAD
where: id ? { id } : {},
order: [
['updatedAt', 'DESC'],
],
include: [{
model: trips,
include: [{
model: tripRequests,
where: { userId: req.user.id }
}],
}],
raw: true
=======
where: id ? { id, userId: req.user.id } : { userId: req.user.id },
include: [
{
model: rooms,
include: [{
model: accommodations,
include: [{
model: accommodationImages,
as: 'imagesAccommodation'
},
{
model: cities,
}]
}]
}
]
>>>>>>> ch(booking): change user booking response
>>>>>>> ch(booking): change user booking response
};
const myBookingsresult = await CommonQueries.findAll(
booking,
Expand Down

0 comments on commit 6cc6daf

Please sign in to comment.