diff --git a/src/main/java/com/example/clientproject/services/UserSocialSave.java b/src/main/java/com/example/clientproject/services/UserSocialSave.java index 29c82b26748575f063151e7af84b1a1e638a561e..b9813831e66e50606b14e8715207c08e2c4979e4 100644 --- a/src/main/java/com/example/clientproject/services/UserSocialSave.java +++ b/src/main/java/com/example/clientproject/services/UserSocialSave.java @@ -1,18 +1,25 @@ package com.example.clientproject.services; import com.example.clientproject.data.socials.SocialsRepo; +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 UserSocialSave { - @Autowired JdbcTemplate jdbc; - - @Autowired SocialsRepo socialRepo; + LoggingService loggingService; + + public UserSocialSave(JdbcTemplate jdbc, SocialsRepo socialRepo, LoggingService loggingService) { + this.jdbc = jdbc; + this.socialRepo = socialRepo; + this.loggingService = loggingService; + } private String queryGenerator(int shopId, String socialPlatform, String socialName){ String query; @@ -23,23 +30,59 @@ public class UserSocialSave { return query; } - public void updateSocials(UserSocialDTO usDTO){ + public void updateSocials(UserSocialDTO usDTO, HttpSession session){ int shopId = usDTO.getShopId(); String query; query = queryGenerator(shopId, "Instagram", usDTO.getInstagram()); jdbc.execute(query); + // Log the changes + loggingService.logEvent( + "Social Updated", + session, + "Social updated for Shop Id: " + shopId + + " in UserSocialSave.updateSocials()" + ); + query = queryGenerator(shopId, "Facebook", usDTO.getFacebook()); jdbc.execute(query); + // Log the changes + loggingService.logEvent( + "Social Updated", + session, + "Social updated for Shop Id: " + shopId + + " in UserSocialSave.updateSocials()" + ); + query = queryGenerator(shopId, "Twitter", usDTO.getTwitter()); jdbc.execute(query); + // Log the changes + loggingService.logEvent( + "Social Updated", + session, + "Social updated for Shop Id: " + shopId + + " in UserSocialSave.updateSocials()" + ); + query = queryGenerator(shopId, "TikTok", usDTO.getTiktok()); jdbc.execute(query); - query = "UPDATE Shops SET Shop_Website = '" + + // Log the changes + loggingService.logEvent( + "Social Updated", + session, + "Social updated for Shop Id: " + shopId + + " in UserSocialSave.updateSocials()" + ); + + query = "UPDATE mydb.Shops SET Shop_Website = '" + usDTO.getShopUrl() + "' WHERE Shop_Id = " + shopId; - jdbc.execute(query); - + // Log the changes + loggingService.logEvent( + "ShopWebsite Updated", + session, + "Shop Website updated for Shop Id: " + shopId + + " in UserSocialSave.updateSocials()" + ); } - } diff --git a/src/main/java/com/example/clientproject/web/restControllers/UpdateSocials.java b/src/main/java/com/example/clientproject/web/restControllers/UpdateSocials.java index 21d09d0a97766772da9917d84a6ffadefd23537c..b934bff59fc9f04b1cb29c30b45c065f082a77cd 100644 --- a/src/main/java/com/example/clientproject/web/restControllers/UpdateSocials.java +++ b/src/main/java/com/example/clientproject/web/restControllers/UpdateSocials.java @@ -46,7 +46,7 @@ public class UpdateSocials { if(!isLinked){ throw new ForbiddenErrorException("User not authenticated"); } - save.updateSocials(userSocialDTO); + save.updateSocials(userSocialDTO, session); return "OK"; } } diff --git a/src/main/resources/database/schema.sql b/src/main/resources/database/schema.sql index f9b43bd32b0fb74b72c0a929a7ee6b8ab80f060e..eed3db25a280e04416099114ed066c11e6a8b855 100644 --- a/src/main/resources/database/schema.sql +++ b/src/main/resources/database/schema.sql @@ -353,4 +353,5 @@ 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'); -INSERT INTO Events (Event_Name) VALUES ('UserShopLink Inserted'); \ No newline at end of file +INSERT INTO Events (Event_Name) VALUES ('UserShopLink Inserted'); +INSERT INTO Events (Event_Name) VALUES ('ShopWebsite Updated'); \ No newline at end of file