diff --git a/src/controllers/BookingController.js b/src/controllers/BookingController.js index f3e8e33..6c23c5d 100644 --- a/src/controllers/BookingController.js +++ b/src/controllers/BookingController.js @@ -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); } } diff --git a/src/database/models/accommodations.js b/src/database/models/accommodations.js index 5ff001c..55bd209 100644 --- a/src/database/models/accommodations.js +++ b/src/database/models/accommodations.js @@ -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', diff --git a/src/database/models/booking.js b/src/database/models/booking.js index 325a9c3..4e15cfe 100644 --- a/src/database/models/booking.js +++ b/src/database/models/booking.js @@ -15,6 +15,11 @@ module.exports = (sequelize, DataTypes) => { sourceKey: "roomId", targetKey: "id", }); + booking.hasMany(models.likes, { + foreignKey: "accommodationId", + onDelete: 'CASCADE', + onUpdate: 'CASCADE', + }); }; return booking; diff --git a/src/helpers/UserHelper.js b/src/helpers/UserHelper.js index 64bbda1..cb285dc 100644 --- a/src/helpers/UserHelper.js +++ b/src/helpers/UserHelper.js @@ -65,7 +65,7 @@ class UserHelper { userId: id, } }); - console.log('====>', k); + const { password, ...userInfo } = socialUser[0].dataValues; const newToken = AuthenticateToken.signToken(userInfo); diff --git a/src/services/AccommodationService.js b/src/services/AccommodationService.js index ca88bc5..f6b9df3 100644 --- a/src/services/AccommodationService.js +++ b/src/services/AccommodationService.js @@ -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'; @@ -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, @@ -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 + }; } /** diff --git a/src/services/BookingService.js b/src/services/BookingService.js index ed88e1a..d16c212 100644 --- a/src/services/BookingService.js +++ b/src/services/BookingService.js @@ -113,20 +113,6 @@ class BookingService { where: { managerId: req.user.id } }; const findOneBookingOb = { -<<<<<<< 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: [ { @@ -143,7 +129,6 @@ class BookingService { }] } ] ->>>>>>> ch(booking): change user booking response }; const myBookingsresult = await CommonQueries.findAll( booking,