diff --git a/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java b/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java index 0cb597991df9ceee9164597dc317859516e2fd28..27e6caed5aba966e3bed53a84a3c5b4d5e3fdb0c 100644 --- a/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java +++ b/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java @@ -123,7 +123,7 @@ public class BusinessRegisterSaver { System.out.println(tagsLowerList); business.getBusinessTags().forEach(x-> System.out.println(x)); - linkShop.linkUserShop(shop.getShopId(), userId, 2L); + linkShop.linkUserShop(shop.getShopId(), userId, 2L, session); for(String t: business.getBusinessTags()){ Tags tag; diff --git a/src/main/java/com/example/clientproject/services/DashboardStampLoader.java b/src/main/java/com/example/clientproject/services/DashboardStampLoader.java index c2c264cbcd21d53a6a90a48e4e6da0d4fa609f11..9cb3e528fa8c3b2f8e807146e90dff1a7d2b2b23 100644 --- a/src/main/java/com/example/clientproject/services/DashboardStampLoader.java +++ b/src/main/java/com/example/clientproject/services/DashboardStampLoader.java @@ -14,13 +14,16 @@ import java.util.*; @Service public class DashboardStampLoader { - @Autowired UsersRepo userRepo; - @Autowired ShopsRepo shopsRepo; - @Autowired UserFavouriteToggle toggleFavourite; + public DashboardStampLoader(UsersRepo userRepo, ShopsRepo shopsRepo, UserFavouriteToggle toggleFavourite) { + this.userRepo = userRepo; + this.shopsRepo = shopsRepo; + this.toggleFavourite = toggleFavourite; + } + public Map<String, Object> getData(int userId) throws Exception { List<Map<String, Object>> combinedInfo = new ArrayList<>(); diff --git a/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java b/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java index ec93834e30a2164233f9f6c89ad9e7f95c3ff08c..0221bbef63f55121413340ace37d0cedec062322 100644 --- a/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java +++ b/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java @@ -9,14 +9,17 @@ import java.util.Map; @Service public class GetStampBoardIdFromRewardId { - @Autowired JdbcTemplate jdbc; + public GetStampBoardIdFromRewardId(JdbcTemplate jdbc) { + this.jdbc = jdbc; + } + /** * @param rewardId the rewardId of the stampBoardId you want to retrieve */ public int getStampBoardId(Integer rewardId){ - String query = "SELECT Stamp_Board_Id FROM rewards WHERE Reward_Id = " + rewardId + ";"; + String query = "SELECT Stamp_Board_Id FROM mydb.rewards WHERE Reward_Id = " + rewardId + ";"; try{ List<Map<String, Object>> rs = jdbc.queryForList(query); diff --git a/src/main/java/com/example/clientproject/services/LinkUserShop.java b/src/main/java/com/example/clientproject/services/LinkUserShop.java index 66c3eee2ec61ee42351f89b4f5955fff4c1958fe..c458d7d0d6766888ee059246417e30ec13a8ae8b 100644 --- a/src/main/java/com/example/clientproject/services/LinkUserShop.java +++ b/src/main/java/com/example/clientproject/services/LinkUserShop.java @@ -8,8 +8,11 @@ import com.example.clientproject.data.userPermissions.UserPermissions; import com.example.clientproject.data.userPermissions.UserPermissionsRepo; import com.example.clientproject.data.users.Users; import com.example.clientproject.data.users.UsersRepo; +import com.example.clientproject.service.LoggingService; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpSession; + @Service public class LinkUserShop { @@ -17,18 +20,21 @@ public class LinkUserShop { ShopsRepo shopsRepo; AdminTypesRepo adminTypesRepo; UserPermissionsRepo userPermissionsRepo; + LoggingService loggingService; public LinkUserShop(UsersRepo aUsersRepo, ShopsRepo aShopsRepo, AdminTypesRepo anAdminTypesRepo, - UserPermissionsRepo aUserPermissionsRepo){ + UserPermissionsRepo aUserPermissionsRepo, + LoggingService aLoggingService){ userRepo = aUsersRepo; shopsRepo = aShopsRepo; adminTypesRepo = anAdminTypesRepo; userPermissionsRepo = aUserPermissionsRepo; + loggingService = aLoggingService; } - public void linkUserShop(long shopId, long userID, long adminTypeId){ + public void linkUserShop(long shopId, long userID, long adminTypeId, HttpSession session){ try { Users user = userRepo.findById(userID).get(); Shops shop = shopsRepo.getById(shopId); @@ -37,6 +43,15 @@ public class LinkUserShop { UserPermissions link = new UserPermissions(user, shop, adminType); userPermissionsRepo.save(link); + // Log the change + loggingService.logEvent( + "New User Permission", + session, + "New User Permission added for User: " + user.getUserId() + + " with Shop: " + shop.getShopId() + + " with Admin Type: " + adminType.getAdminTypeId() + + " in LinkUserShop.linkUserShop()" + ); }catch(Exception e){ e.printStackTrace(); } diff --git a/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java b/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java index 943c7b272c448699f58d0605e084b5258e6f82f4..aa6226c72c411294711d3dc26fa867da1ef60e04 100644 --- a/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java +++ b/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java @@ -63,7 +63,7 @@ public class UpdateStaff { userPermRepo.delete(userPerm); return "USER REMOVED"; }else{ - linkUser.linkUserShop(usf.getShopId(),userId, 1L); + linkUser.linkUserShop(usf.getShopId(),userId, 1L, session); return "OK"; } } diff --git a/src/main/resources/database/schema.sql b/src/main/resources/database/schema.sql index cca3a74e1f44297b34fcf796f3e8a3432946d6c9..88040647853f4df93665480bdcb088cff9b8fe4c 100644 --- a/src/main/resources/database/schema.sql +++ b/src/main/resources/database/schema.sql @@ -348,3 +348,4 @@ INSERT INTO Events (Event_Name) VALUES ('New Reward'); INSERT INTO Events (Event_Name) VALUES ('New Tag'); INSERT INTO Events (Event_Name) VALUES ('New Shop Tag Link'); INSERT INTO Events (Event_Name) VALUES ('New Social'); +INSERT INTO Events (Event_Name) VALUES ('New User Permission');