From ee11b62654198f92dac9cbaef21f19d1fdefb554 Mon Sep 17 00:00:00 2001
From: c2038058 <gillj8@cardiff.ac.uk>
Date: Fri, 10 Dec 2021 12:43:02 +0000
Subject: [PATCH] UserFavouriteSaver fully logged

---
 .../services/UserFavouriteSaver.java          | 30 +++++++++++++------
 src/main/resources/database/schema.sql        |  3 +-
 2 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/example/clientproject/services/UserFavouriteSaver.java b/src/main/java/com/example/clientproject/services/UserFavouriteSaver.java
index df390f2..da7687d 100644
--- a/src/main/java/com/example/clientproject/services/UserFavouriteSaver.java
+++ b/src/main/java/com/example/clientproject/services/UserFavouriteSaver.java
@@ -1,28 +1,40 @@
 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;
+
 //This can be deleted, class "UserFavouriteTagSaver" is being used
 @Service
 public class UserFavouriteSaver {
 
-    @Autowired
     JdbcTemplate jdbc;
+    LoggingService loggingService;
+
+    public UserFavouriteSaver(JdbcTemplate jdbc, LoggingService loggingService) {
+        this.jdbc = jdbc;
+        this.loggingService = loggingService;
+    }
 
     /**
      * Takes a user dto and saves it to the DB with jdbc
-     * @param urfDTO UserfavouriteDTO
+     * @param urfDTO UserFavouriteDTO
+     * @param session - session
      */
-    public void save(UserFavouriteDTO urfDTO){
-
-        String query = "INSERT INTO User_Shop_Links (Shop_Id, User_Id) VALUES ("+ urfDTO.getShopId() +
+    public void save(UserFavouriteDTO urfDTO, HttpSession session){
+        String query = "INSERT INTO mydb.User_Shop_Links (Shop_Id, User_Id) VALUES ("+ urfDTO.getShopId() +
                 ","+urfDTO.getUserId() + ")";
-
-        //System.out.println(query);
-
         jdbc.execute(query);
-
+        // Log the change
+        loggingService.logEvent(
+                "UserShopLink Inserted",
+                session,
+                "UserShopLink inserted with Shop Id: " + urfDTO.getShopId() +
+                        " and User Id: " + urfDTO.getUserId() +
+                        " in UserFavouriteSaver.save()"
+        );
     }
 }
diff --git a/src/main/resources/database/schema.sql b/src/main/resources/database/schema.sql
index bc85669..f9b43bd 100644
--- a/src/main/resources/database/schema.sql
+++ b/src/main/resources/database/schema.sql
@@ -352,4 +352,5 @@ 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');
-INSERT INTO Events (Event_Name) VALUES ('UserShopLink Deleted');
\ No newline at end of file
+INSERT INTO Events (Event_Name) VALUES ('UserShopLink Deleted');
+INSERT INTO Events (Event_Name) VALUES ('UserShopLink Inserted');
\ No newline at end of file
-- 
GitLab