From d5d16711af3eeee545dd5f6ecc0bd460b21a465b Mon Sep 17 00:00:00 2001 From: c2038058 <gillj8@cardiff.ac.uk> Date: Fri, 10 Dec 2021 12:36:31 +0000 Subject: [PATCH] UserFavouriteDeleter fully logged --- .../services/UserFavouriteDeleter.java | 29 ++++++++++++++----- .../restControllers/BusinessFavouriter.java | 7 +---- src/main/resources/database/schema.sql | 3 +- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/example/clientproject/services/UserFavouriteDeleter.java b/src/main/java/com/example/clientproject/services/UserFavouriteDeleter.java index 5743db7..d587616 100644 --- a/src/main/java/com/example/clientproject/services/UserFavouriteDeleter.java +++ b/src/main/java/com/example/clientproject/services/UserFavouriteDeleter.java @@ -1,28 +1,41 @@ package com.example.clientproject.services; +import com.example.clientproject.service.LoggingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpSession; + @Service public class UserFavouriteDeleter { - @Autowired JdbcTemplate jdbc; + LoggingService loggingService; + + public UserFavouriteDeleter(JdbcTemplate jdbc, LoggingService loggingService) { + this.jdbc = jdbc; + this.loggingService = loggingService; + } /** * Takes a userfavourite DTO and removes it from the database. - * @param usfDTO + * @param usfDTO - usfDTO + * @param session - session */ - public void delete(UserFavouriteDTO usfDTO){ + public void delete(UserFavouriteDTO usfDTO, HttpSession session){ - String query = "DELETE FROM User_Shop_Links WHERE (Shop_Id = " + + String query = "DELETE FROM mydb.User_Shop_Links WHERE (Shop_Id = " + usfDTO.getShopId() +" AND User_Id = " + usfDTO.getUserId() +")"; - - //System.out.println(query); - jdbc.execute(query); - + // Log the change + loggingService.logEvent( + "UserShopLink Deleted", + session, + "UserShopLink deleted with Shop Id: " + usfDTO.getShopId() + + " and User Id: " + usfDTO.getUserId() + + " in UserFavouriteDeleter.delete()" + ); } } diff --git a/src/main/java/com/example/clientproject/web/restControllers/BusinessFavouriter.java b/src/main/java/com/example/clientproject/web/restControllers/BusinessFavouriter.java index 9841b2c..ba7207c 100644 --- a/src/main/java/com/example/clientproject/web/restControllers/BusinessFavouriter.java +++ b/src/main/java/com/example/clientproject/web/restControllers/BusinessFavouriter.java @@ -25,11 +25,6 @@ public class BusinessFavouriter { } - /** - * - * @param submitted form, contains a UserID and ShopID - * @return ERROR or OK depending on whether it any errors are thrown. - */ @PostMapping("/favouriteBusiness") public String favouriteBusiness(UserFavouriteForm uff, HttpSession session){ UserFavouriteDTO ufDTO; @@ -40,7 +35,7 @@ public class BusinessFavouriter { } try{ if(toggleFavourite.alreadyInDb(ufDTO)){ - deleteFavourite.delete(ufDTO); + deleteFavourite.delete(ufDTO, session); }else{ saveFavourite.save(ufDTO); } diff --git a/src/main/resources/database/schema.sql b/src/main/resources/database/schema.sql index 6cdf1a5..bc85669 100644 --- a/src/main/resources/database/schema.sql +++ b/src/main/resources/database/schema.sql @@ -351,4 +351,5 @@ INSERT INTO Events (Event_Name) VALUES ('New Social'); INSERT INTO Events (Event_Name) VALUES ('New User Permission'); INSERT INTO Events (Event_Name) VALUES ('Stamp Board Updated'); INSERT INTO Events (Event_Name) VALUES ('Reward Deleted'); -INSERT INTO Events (Event_Name) VALUES ('Shop Updated'); \ No newline at end of file +INSERT INTO Events (Event_Name) VALUES ('Shop Updated'); +INSERT INTO Events (Event_Name) VALUES ('UserShopLink Deleted'); \ No newline at end of file -- GitLab