Bug fix: favourites route

This commit is contained in:
2025-08-11 11:36:23 +03:00
parent cd60dec5b8
commit 3cfa75cc00

View File

@@ -5,6 +5,7 @@ import (
"strconv"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"neomovies-api/pkg/models"
@@ -57,24 +58,32 @@ func (s *MovieService) GetSimilar(id, page int, language string) (*models.TMDBRe
func (s *MovieService) AddToFavorites(userID string, movieID string) error {
collection := s.db.Collection("users")
filter := bson.M{"_id": userID}
objID, err := primitive.ObjectIDFromHex(userID)
if err != nil {
return err
}
filter := bson.M{"_id": objID}
update := bson.M{
"$addToSet": bson.M{"favorites": movieID},
}
_, err := collection.UpdateOne(context.Background(), filter, update)
_, err = collection.UpdateOne(context.Background(), filter, update)
return err
}
func (s *MovieService) RemoveFromFavorites(userID string, movieID string) error {
collection := s.db.Collection("users")
filter := bson.M{"_id": userID}
objID, err := primitive.ObjectIDFromHex(userID)
if err != nil {
return err
}
filter := bson.M{"_id": objID}
update := bson.M{
"$pull": bson.M{"favorites": movieID},
}
_, err := collection.UpdateOne(context.Background(), filter, update)
_, err = collection.UpdateOne(context.Background(), filter, update)
return err
}
@@ -82,7 +91,11 @@ func (s *MovieService) GetFavorites(userID string, language string) ([]models.Mo
collection := s.db.Collection("users")
var user models.User
err := collection.FindOne(context.Background(), bson.M{"_id": userID}).Decode(&user)
objID, err := primitive.ObjectIDFromHex(userID)
if err != nil {
return nil, err
}
err = collection.FindOne(context.Background(), bson.M{"_id": objID}).Decode(&user)
if err != nil {
return nil, err
}