diff --git a/pom.xml b/pom.xml
index b95f6e6..4f06294 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,7 @@
org.springframework.boot
spring-boot-starter-tomcat
- provided
+
org.springframework.boot
diff --git a/src/main/java/com/educare/unitylend/UnitylendApplication.java b/src/main/java/com/educare/unitylend/UnitylendApplication.java
index 3090971..0964285 100644
--- a/src/main/java/com/educare/unitylend/UnitylendApplication.java
+++ b/src/main/java/com/educare/unitylend/UnitylendApplication.java
@@ -2,11 +2,11 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-
@SpringBootApplication
public class UnitylendApplication {
public static void main(String[] args) {
+
SpringApplication.run(UnitylendApplication.class, args);
}
diff --git a/src/main/java/com/educare/unitylend/controller/CommunityController.java b/src/main/java/com/educare/unitylend/controller/CommunityController.java
new file mode 100644
index 0000000..0061980
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/controller/CommunityController.java
@@ -0,0 +1,77 @@
+package com.educare.unitylend.controller;
+
+import com.educare.unitylend.Exception.ControllerException;
+import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.model.Community;
+import com.educare.unitylend.service.CommunityService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Slf4j
+@AllArgsConstructor
+@RestController
+@RequestMapping("/community")
+
+public class CommunityController extends BaseController {
+ CommunityService communityService;
+
+ @GetMapping("all-communities")
+ public ResponseEntity> getAllCommunities() throws ControllerException {
+ //Getting all the existing communities
+ try {
+ List communityList = communityService.getCommunities();
+
+ if (communityList == null || communityList.isEmpty()) {
+ return ResponseEntity.status(HttpStatus.NOT_FOUND).body("No data found");
+ }
+
+ return ResponseEntity.ok(communityList);
+ } catch (ServiceException e) {
+ log.error("Error encountered in getting the communities", e);
+ throw new ControllerException("Error encountered in getting the communities", e);
+ }
+ }
+
+ @GetMapping("get-community-by-tag")
+ public ResponseEntity> getCommunityWithTag(@RequestParam(required = false) String commonTag) throws ControllerException {
+ //Getting all communities with the given common tag
+ try {
+ if (commonTag == null || commonTag.isEmpty()) {
+ return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("commonTag parameter is missing or empty");
+ }
+
+ String communityName = communityService.getCommunityName(commonTag);
+
+ if (communityName == null || communityName.isEmpty()) {
+ return ResponseEntity.status(HttpStatus.NOT_FOUND).body("No data found");
+ }
+
+ return ResponseEntity.ok(communityName);
+ } catch (ServiceException e) {
+ log.error("Error encountered in getting the community by tag", e);
+ throw new ControllerException("Error encountered in getting the community by tag", e);
+ }
+ }
+
+ @PostMapping("/create-community")
+ public ResponseEntity createNewCommunity(@RequestBody Community community) throws ControllerException {
+ //Creating a new community with community object
+ try {
+ if (community == null) {
+ return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Request body is null");
+ }
+
+ communityService.createCommunity(community);
+ return ResponseEntity.ok("success!!!");
+ } catch (ServiceException e) {
+ log.error("Error encountered in creating the community", e);
+ throw new ControllerException("Error encountered in creating the community", e);
+ }
+ }
+
+}
diff --git a/src/main/java/com/educare/unitylend/controller/UserCommunityController.java b/src/main/java/com/educare/unitylend/controller/UserCommunityController.java
new file mode 100644
index 0000000..eb6fe51
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/controller/UserCommunityController.java
@@ -0,0 +1,43 @@
+package com.educare.unitylend.controller;
+
+import com.educare.unitylend.Exception.ControllerException;
+import com.educare.unitylend.service.UserCommunityService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Slf4j
+@AllArgsConstructor
+@RestController
+@RequestMapping("/usercommunity")
+public class UserCommunityController {
+
+ private UserCommunityService usercommunityService;
+
+ @GetMapping("/{userId}")
+ public ResponseEntity> getAllCommunities(@PathVariable String userId) throws ControllerException {
+ //Getting all communities for a given user
+ try {
+ if (userId == null || userId.isEmpty()) {
+ return ResponseEntity.badRequest().body(List.of("User ID cannot be null or empty"));
+ }
+
+ List communityList = usercommunityService.getCommunitiesByUserId(userId);
+
+ if (communityList == null || communityList.isEmpty()) {
+ return ResponseEntity.notFound().build();
+ }
+
+ return ResponseEntity.ok(communityList);
+ } catch (Exception e) {
+ log.error("Error encountered in getting the communities for user with ID: {}", userId, e);
+ throw new ControllerException("Error encountered in getting the communities", e);
+ }
+ }
+}
diff --git a/src/main/java/com/educare/unitylend/controller/UserController.java b/src/main/java/com/educare/unitylend/controller/UserController.java
index b0406b4..eea82da 100644
--- a/src/main/java/com/educare/unitylend/controller/UserController.java
+++ b/src/main/java/com/educare/unitylend/controller/UserController.java
@@ -2,37 +2,119 @@
import com.educare.unitylend.Exception.ControllerException;
import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.dao.UserCommunityRepository;
+import com.educare.unitylend.dao.UserRepository;
import com.educare.unitylend.model.User;
+import com.educare.unitylend.service.UserCommunityService;
import com.educare.unitylend.service.UserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
+
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/user")
-public class UserController extends BaseController {
+public class UserController extends BaseController{
UserService userService;
-
- /**
- *
- * @return List of all the available {@link User}
- * @throws ControllerException : Exception to be thrown from controller in case of any exception
- */
+ private UserCommunityService usercommunityService;
+ private UserRepository userRepository;
+ private UserCommunityRepository userCommunityRepository;
@GetMapping("all-users")
- public List getAllUsers() throws ControllerException {
+ public ResponseEntity> getAllUsers() throws ControllerException {
+ //Getting all the users
try {
List userList = userService.getUsers();
- return userList;
+ if (userList.isEmpty()) {
+ return ResponseEntity.status(HttpStatus.NOT_FOUND).body("No data found");
+ }
+ return ResponseEntity.ok(userList);
} catch (ServiceException e) {
- log.error("Error encountered in getting the users");
+ log.error("Error encountered in getting the users", e);
throw new ControllerException("Error encountered in getting the users", e);
}
}
+ @PostMapping("/create-user")
+ public ResponseEntity createUser(@RequestBody User user) throws ControllerException {
+ //Creating a new user with the user object
+ try {
+ userService.createUser(user);
+ return ResponseEntity.ok("success!!!");
+ } catch (ServiceException e) {
+ log.error("Error encountered in creating the user", e);
+ throw new ControllerException("Error encountered in creating the user", e);
+ }
+ }
+
+ @PutMapping("/{userId}")
+ public ResponseEntity updateUser(@PathVariable String userId, @RequestBody User updatedUser) throws ControllerException {
+ //List prevCommunities;
+
+ //Updating the user
+
+ try {
+ if (userId == null || userId.isEmpty() || updatedUser == null) {
+ return ResponseEntity.badRequest().body("User ID and updated user cannot be null or empty");
+ }
+ updatedUser.setUserid(userId);
+ // System.out.println(updatedUser);
+ userService.updateUser(updatedUser, userId);
+ return ResponseEntity.ok("User updated successfully");
+ }
+ catch (ServiceException e) {
+ log.error("Error encountered in updating the user", e);
+ throw new ControllerException("Error encountered in updating the user", e);
+ } catch (Exception e) {
+ log.error("Error encountered in getting the communities for user with ID: {}", userId, e);
+ throw new ControllerException("Error encountered in getting the communities", e);
+ }
+ }
+ @GetMapping("/{userId}/get-info")
+ public ResponseEntity getUserByUserId(@PathVariable String userId) throws ControllerException {
+ //Getting user information for a given user by its userId
+ try {
+ if (userId == null || userId.isEmpty()) {
+ return ResponseEntity.badRequest().build();
+ }
+
+ User user = userService.getUserByUserId(userId);
+
+ if (user != null) {
+ return ResponseEntity.ok(user);
+ } else {
+ return ResponseEntity.notFound().build();
+ }
+ } catch (ServiceException e) {
+ log.error("Error encountered in getting user information by ID: {}", userId, e);
+ throw new ControllerException("Error encountered in getting user information", e);
+ }
+ }
+
+ @PutMapping("/{userId}/inactive")
+ public ResponseEntity deactivateUser(@PathVariable String userId) throws ControllerException{
+ //Deactivating the user
+ try {
+ if (userId == null || userId.isEmpty()) {
+ return ResponseEntity.badRequest().body("User ID cannot be null or empty");
+ }
+
+ boolean updated = userService.markUserAsInactive(userId);
+
+ if (updated) {
+ return ResponseEntity.ok("User marked as inactive successfully");
+ } else {
+ return ResponseEntity.notFound().build();
+ }
+ } catch (ServiceException e) {
+ log.error("Error encountered in deactivating user with ID: {}", userId, e);
+ throw new ControllerException("Error encountered in deactivating user", e);
+ }
+ }
+
}
diff --git a/src/main/java/com/educare/unitylend/controller/WalletController.java b/src/main/java/com/educare/unitylend/controller/WalletController.java
new file mode 100644
index 0000000..66c4e97
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/controller/WalletController.java
@@ -0,0 +1,56 @@
+package com.educare.unitylend.controller;
+
+import com.educare.unitylend.Exception.ControllerException;
+import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.model.User;
+import com.educare.unitylend.model.Wallet;
+import com.educare.unitylend.service.UserService;
+import com.educare.unitylend.service.WalletService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Slf4j
+@AllArgsConstructor
+@RestController
+@RequestMapping("/wallet")
+public class WalletController extends BaseController {
+
+ WalletService walletService;
+
+ @GetMapping("/get-user-info/{userId}")
+
+ public Wallet getWalletInfo(@PathVariable String userId) throws ControllerException{
+ //Getting wallet information
+ try {
+ return walletService.getWalletInfo(userId);
+ } catch (Exception e) {
+ log.error("Error encountered in getting the wallet info for the given user");
+ throw new ControllerException("Error encountered in getting the wallet info for the given user", e);
+ }
+ }
+
+ @PostMapping("/generate-wallet")
+
+ public ResponseEntity generateWallet(@RequestBody Wallet wallet) throws ControllerException {
+ // Generating the wallet
+ try {
+ walletService.generateWallet(wallet);
+ return ResponseEntity.ok("succcessfully created wallet!!!");
+ } catch (Exception e) {
+ log.error("Error encountered in generating the wallet");
+ throw new ControllerException("Error encountered in generating the wallet", e);
+ }
+
+ }
+
+
+
+
+
+}
+
+
diff --git a/src/main/java/com/educare/unitylend/dao/CommunityRepository.java b/src/main/java/com/educare/unitylend/dao/CommunityRepository.java
new file mode 100644
index 0000000..0ef5423
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/dao/CommunityRepository.java
@@ -0,0 +1,46 @@
+package com.educare.unitylend.dao;
+
+import com.educare.unitylend.model.Community;
+import org.apache.ibatis.annotations.*;
+import org.springframework.stereotype.Repository;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+@Repository
+
+public interface CommunityRepository {
+ @Select("select * from community")
+ List getAllCommunities();
+
+ @Select("select communityname from community where commontag = #{commontag}")
+ String getCommunity(String commontag);
+
+ @Insert("INSERT INTO community (communityid, communityname, commontag) VALUES (uuid_generate_v4(), #{communityname}, #{commontag})")
+ void createCommunity(Community community);
+
+ @Insert("INSERT INTO community (communityid, communityname, commontag) VALUES (uuid_generate_v4(), #{name}, #{tag})")
+ void createCommunityUsingStrings(String name, String tag);
+
+ @Select("SELECT COUNT(*) > 0 FROM community WHERE commontag = #{commontag}")
+ boolean existsByCommontag(String commontag);
+
+
+ @Select({
+ ""
+ })
+ @MapKey("commontag")
+ Map findCommontagsByNames(@Param("names") List names);
+
+
+ @Select("SELECT communityid FROM community WHERE communityname = #{name}")
+ String getCommunityIdByName(String name);
+}
diff --git a/src/main/java/com/educare/unitylend/dao/UserCommunityRepository.java b/src/main/java/com/educare/unitylend/dao/UserCommunityRepository.java
new file mode 100644
index 0000000..99f757e
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/dao/UserCommunityRepository.java
@@ -0,0 +1,22 @@
+package com.educare.unitylend.dao;
+
+
+import org.apache.ibatis.annotations.*;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface UserCommunityRepository {
+ @Insert("INSERT INTO usercommunity (userid, communityid) VALUES (#{userid}, #{communityid})")
+ void createUserCommunityMapping(@Param("userid") String userId, @Param("communityid") String communityId);
+
+
+ @Select("SELECT c.CommunityName FROM Community c JOIN UserCommunity uc ON c.CommunityId = uc.CommunityId WHERE uc.UserId = #{userId}")
+ List findCommunityNamesByUserId(@Param("userId") String userId);
+
+ @Delete("DELETE FROM usercommunity WHERE userid = #{userId}")
+ void deletePrevData(@Param("userId") String userId);
+
+}
diff --git a/src/main/java/com/educare/unitylend/dao/UserRepository.java b/src/main/java/com/educare/unitylend/dao/UserRepository.java
index 4c57b4b..e65a30a 100644
--- a/src/main/java/com/educare/unitylend/dao/UserRepository.java
+++ b/src/main/java/com/educare/unitylend/dao/UserRepository.java
@@ -1,10 +1,7 @@
package com.educare.unitylend.dao;
import com.educare.unitylend.model.User;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -13,22 +10,28 @@
@Repository
public interface UserRepository {
- @Select(SELECT_USERS)
+ @Select("select * from tempuser")
List getAllUsers();
- @SelectProvider(type = UserRepository.class, method = "getUserForUserIdQuery")
- User getUserForUserId(@Param("userId") String userId);
+ @Insert("INSERT INTO tempuser (userid, password, name,email,dob,income,officename,collegeuniversity,locality) VALUES (CAST(uuid_generate_v4() AS VARCHAR), #{password}, #{name}, #{email},#{dob},#{income},#{officename},#{collegeuniversity},#{locality})")
+ void createUser(User user);
- static final String SELECT_USERS = "select user_id as userID, password, name from user_table";
+ @Select("SELECT * FROM tempuser WHERE userid = #{userid}")
+ User getUserForUserId(String userId);
- static String getUserForUserIdQuery(String userId){
- StringBuilder sqlQueryBuilder = new StringBuilder();
+ @Select("SELECT userid FROM tempuser WHERE email = #{email}")
+ String settingID(@Param("email") String email);
+
+
+ @Update("UPDATE tempuser SET name = #{name}, password = #{password}, email = #{email}, locality = #{locality}, officename = #{officename}, collegeuniversity = #{collegeuniversity}, income = #{income}, isActive = #{isActive} WHERE userid = #{userid}")
+ void updateUser(User user);
+
+ @Update("UPDATE tempuser SET isActive = #{isActive} WHERE userid = #{userid}")
+ void inactivatingUser(User user);
+
+
+ @Select("SELECT CONCAT(officename, ', ', collegeuniversity, ', ', locality) AS community FROM tempuser WHERE userid = #{userId}")
+ List findCommunitiesByUserId(String userId);
- sqlQueryBuilder.append("select user_id as userID, password, name from user_table where 1=1 ");
- if(userId != null){
- sqlQueryBuilder.append(" and userId = %s".formatted(userId));
- }
- return sqlQueryBuilder.toString();
- }
}
diff --git a/src/main/java/com/educare/unitylend/dao/WalletRepository.java b/src/main/java/com/educare/unitylend/dao/WalletRepository.java
new file mode 100644
index 0000000..e6e196a
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/dao/WalletRepository.java
@@ -0,0 +1,22 @@
+package com.educare.unitylend.dao;
+
+import com.educare.unitylend.model.User;
+import com.educare.unitylend.model.Wallet;
+import org.apache.ibatis.annotations.*;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface WalletRepository {
+
+
+
+ @Select("SELECT * FROM wallet WHERE userid = #{userId}")
+ Wallet getWalletInfo(@Param("userId") String userId);
+
+ @Insert("INSERT INTO wallet (walletid, balance, userid) VALUES (uuid_generate_v4(), #{balance}, #{user.getUserid()})")
+ void generateWallet(Wallet wallet);
+
+}
diff --git a/src/main/java/com/educare/unitylend/model/BorrowRequest.java b/src/main/java/com/educare/unitylend/model/BorrowRequest.java
index 634e6a3..3aeabd6 100644
--- a/src/main/java/com/educare/unitylend/model/BorrowRequest.java
+++ b/src/main/java/com/educare/unitylend/model/BorrowRequest.java
@@ -12,7 +12,7 @@
@NoArgsConstructor
@AllArgsConstructor
public class BorrowRequest {
- private UUID requestId;
+ private String requestId;
private User borrower;
private Community community;
private String returnPeriod;
diff --git a/src/main/java/com/educare/unitylend/model/Community.java b/src/main/java/com/educare/unitylend/model/Community.java
index d65f997..931d813 100644
--- a/src/main/java/com/educare/unitylend/model/Community.java
+++ b/src/main/java/com/educare/unitylend/model/Community.java
@@ -4,14 +4,27 @@
import lombok.Data;
import lombok.NoArgsConstructor;
-import java.util.UUID;
-
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Community {
- private UUID communityId;
+ private String communityId;
private String communityName;
+ private String commonTag;
+
+ public String getCommunityName() {
+ return communityName;
+ }
+
+ public void setCommunityName(String communityName) {
+ this.communityName = communityName;
+ }
+ public String getCommonTag() {
+ return commonTag;
+ }
+ public void setCommonTag(String commonTag) {
+ this.commonTag = commonTag;
+ }
}
diff --git a/src/main/java/com/educare/unitylend/model/LendingHistory.java b/src/main/java/com/educare/unitylend/model/LendingHistory.java
index 6c1b230..c937d02 100644
--- a/src/main/java/com/educare/unitylend/model/LendingHistory.java
+++ b/src/main/java/com/educare/unitylend/model/LendingHistory.java
@@ -12,7 +12,7 @@
@NoArgsConstructor
@AllArgsConstructor
public class LendingHistory {
- private UUID lendTransactionId;
+ private String lendTransactionId;
private User lender;
private User borrower;
private BorrowRequest borrowRequest;
diff --git a/src/main/java/com/educare/unitylend/model/Repayment_Transaction.java b/src/main/java/com/educare/unitylend/model/Repayment_Transaction.java
index 6c2e2ec..64f1466 100644
--- a/src/main/java/com/educare/unitylend/model/Repayment_Transaction.java
+++ b/src/main/java/com/educare/unitylend/model/Repayment_Transaction.java
@@ -11,10 +11,10 @@
@NoArgsConstructor
@AllArgsConstructor
public class Repayment_Transaction {
- private UUID RepayTransactionId;
- private UUID PayerId;
- private UUID PayeeId;
- private UUID RequestId;
+ private String RepayTransactionId;
+ private String PayerId;
+ private String PayeeId;
+ private String RequestId;
private Float Amount;
private Date Timestamp;
}
diff --git a/src/main/java/com/educare/unitylend/model/User.java b/src/main/java/com/educare/unitylend/model/User.java
index 73bebc7..b191a6b 100644
--- a/src/main/java/com/educare/unitylend/model/User.java
+++ b/src/main/java/com/educare/unitylend/model/User.java
@@ -4,22 +4,114 @@
import lombok.Data;
import lombok.NoArgsConstructor;
-import java.util.Date;
-import java.util.UUID;
+import java.time.LocalDate;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
- private UUID userID;
+ private String userid;
private String password;
private String name;
-// private String email;
-// private Date dob;
-// private Integer income;
-// private String locality;
-// private String college;
-// private String company;
-// private UUID walletID;
+ private String email;
+ private LocalDate dob;
+ private Integer income;
+ private Integer borrowingLimit;
+ private String officename;
+ private String collegeuniversity;
+ private String locality;
+ private boolean isActive;
+
+ public boolean isActive() {
+ return isActive;
+ }
+
+ public void setActive(boolean active) {
+ isActive = active;
+ }
+
+ public Integer getIncome() {
+ return income;
+ }
+
+ public String getOfficename() {
+ return officename;
+ }
+
+ public void setOfficename(String officename) {
+ this.officename = officename;
+ }
+
+ public String getCollegeuniversity() {
+ return collegeuniversity;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public LocalDate getDob() {
+ return dob;
+ }
+
+ public void setCollegeuniversity(String collegeuniversity) {
+ this.collegeuniversity = collegeuniversity;
+ }
+
+ public String getUserid() {
+ return userid;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public void setDob(LocalDate dob) {
+ this.dob = dob;
+ }
+
+ public void setUserid(String userid) {
+ this.userid = userid;
+ }
+
+ public String getLocality() {
+ return locality;
+ }
+
+ public void setLocality(String locality) {
+ this.locality = locality;
+ }
+
+ public void setIncome(Integer income) {
+ // System.out.println(income);
+ this.income = income;
+ }
+
+ public Integer getBorrowingLimit() {
+ return borrowingLimit;
+ }
+
+ public void setBorrowingLimit(Integer borrowingLimit) {
+ this.borrowingLimit = borrowingLimit;
+ // System.out.println(borrowingLimit);
+ }
+
+
}
diff --git a/src/main/java/com/educare/unitylend/model/Wallet.java b/src/main/java/com/educare/unitylend/model/Wallet.java
index da231a0..6bfbb8c 100644
--- a/src/main/java/com/educare/unitylend/model/Wallet.java
+++ b/src/main/java/com/educare/unitylend/model/Wallet.java
@@ -10,7 +10,7 @@
@NoArgsConstructor
@AllArgsConstructor
public class Wallet {
- private UUID Wallet;
- private UUID userId;
+ private String Walletid;
+
private Float Balance;
}
diff --git a/src/main/java/com/educare/unitylend/service/CommunityService.java b/src/main/java/com/educare/unitylend/service/CommunityService.java
new file mode 100644
index 0000000..291f6c9
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/service/CommunityService.java
@@ -0,0 +1,14 @@
+package com.educare.unitylend.service;
+
+import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.model.Community;
+import com.educare.unitylend.model.User;
+
+import java.util.List;
+
+public interface CommunityService {
+ List getCommunities() throws ServiceException;
+ String getCommunityName(String communityTag) throws ServiceException;
+ void createCommunity(Community community) throws ServiceException;
+
+}
diff --git a/src/main/java/com/educare/unitylend/service/UserCommunityService.java b/src/main/java/com/educare/unitylend/service/UserCommunityService.java
new file mode 100644
index 0000000..67fc9d3
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/service/UserCommunityService.java
@@ -0,0 +1,10 @@
+package com.educare.unitylend.service;
+
+import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.model.User;
+
+import java.util.List;
+
+public interface UserCommunityService {
+ List getCommunitiesByUserId(String userId) throws ServiceException;
+}
diff --git a/src/main/java/com/educare/unitylend/service/UserService.java b/src/main/java/com/educare/unitylend/service/UserService.java
index 627e07b..00cd9e9 100644
--- a/src/main/java/com/educare/unitylend/service/UserService.java
+++ b/src/main/java/com/educare/unitylend/service/UserService.java
@@ -13,6 +13,9 @@ public interface UserService {
*/
List getUsers() throws ServiceException;
+ void updateUser(User user,String userId) throws ServiceException;
+ boolean markUserAsInactive(String userId) throws ServiceException;
+ void createUser(User user) throws ServiceException;
/**
* @param userId : Uniquely identifies a user
* @return Object of {@link User} for the given parameter
diff --git a/src/main/java/com/educare/unitylend/service/WalletService.java b/src/main/java/com/educare/unitylend/service/WalletService.java
new file mode 100644
index 0000000..cd51193
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/service/WalletService.java
@@ -0,0 +1,15 @@
+package com.educare.unitylend.service;
+
+import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.model.User;
+import com.educare.unitylend.model.Wallet;
+
+import java.util.List;
+
+public interface WalletService {
+
+ Wallet getWalletInfo(String userId) throws ServiceException;
+
+ void generateWallet(Wallet wallet) throws ServiceException;
+
+}
diff --git a/src/main/java/com/educare/unitylend/service/impl/CommunityServiceImpl.java b/src/main/java/com/educare/unitylend/service/impl/CommunityServiceImpl.java
new file mode 100644
index 0000000..5879c8a
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/service/impl/CommunityServiceImpl.java
@@ -0,0 +1,59 @@
+package com.educare.unitylend.service.impl;
+
+import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.dao.CommunityRepository;
+import com.educare.unitylend.model.Community;
+import com.educare.unitylend.service.CommunityService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@AllArgsConstructor
+@Service
+public class CommunityServiceImpl implements CommunityService {
+ private CommunityRepository communityRepository;
+
+ public List getCommunities() throws ServiceException {
+ try {
+ List communityList = communityRepository.getAllCommunities();
+ // log.info("userList ",userList);
+ return communityList;
+ } catch (Exception e) {
+ log.error("Error encountered during user fetching operation");
+ throw new ServiceException("Error encountered during user fetch operation", e);
+ }
+ }
+
+ @Override
+ public String getCommunityName(String communityTag) throws ServiceException {
+ try {
+ String communityName= communityRepository.getCommunity(communityTag);
+ // log.info("userList ",userList);
+ return communityName;
+ } catch (Exception e) {
+ log.error("Error encountered during user fetching operation");
+ throw new ServiceException("Error encountered during user fetch operation", e);
+ }
+ }
+
+ public void createCommunity(Community newCommunity) throws ServiceException {
+
+ try {
+ if (!communityRepository.existsByCommontag(newCommunity.getCommonTag())) {
+
+ communityRepository.createCommunity(newCommunity);
+ }
+
+
+ } catch (Exception e) {
+ log.error("Error encountered during user creation operation");
+ throw new ServiceException("Error encountered during user creation operation", e);
+ }
+ }
+
+
+
+}
diff --git a/src/main/java/com/educare/unitylend/service/impl/UserCommunityServiceImpl.java b/src/main/java/com/educare/unitylend/service/impl/UserCommunityServiceImpl.java
new file mode 100644
index 0000000..dce7f45
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/service/impl/UserCommunityServiceImpl.java
@@ -0,0 +1,29 @@
+package com.educare.unitylend.service.impl;
+
+import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.dao.UserCommunityRepository;
+import com.educare.unitylend.model.User;
+import com.educare.unitylend.service.UserCommunityService;
+import com.educare.unitylend.service.UserService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@AllArgsConstructor
+@Service
+public class UserCommunityServiceImpl implements UserCommunityService {
+ private UserCommunityRepository userCommunityRepository;
+ public List getCommunitiesByUserId(String userId) throws ServiceException{
+ try {
+ List communityNames = userCommunityRepository.findCommunityNamesByUserId(userId);
+ // log.info("communityNames: ", communityNames);
+ return communityNames;
+ } catch (Exception e) {
+ log.error("Error encountered during community fetching operation for user with ID: {}", userId, e);
+ throw new ServiceException("Error encountered during community fetch operation", e);
+ }
+ }
+}
diff --git a/src/main/java/com/educare/unitylend/service/impl/UserServiceImpl.java b/src/main/java/com/educare/unitylend/service/impl/UserServiceImpl.java
index 288147c..710423e 100644
--- a/src/main/java/com/educare/unitylend/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/educare/unitylend/service/impl/UserServiceImpl.java
@@ -1,14 +1,20 @@
package com.educare.unitylend.service.impl;
import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.controller.UserCommunityController;
+import com.educare.unitylend.dao.CommunityRepository;
+import com.educare.unitylend.dao.UserCommunityRepository;
import com.educare.unitylend.dao.UserRepository;
import com.educare.unitylend.model.User;
+import com.educare.unitylend.service.UserCommunityService;
import com.educare.unitylend.service.UserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
@Slf4j
@AllArgsConstructor
@@ -16,15 +22,19 @@
public class UserServiceImpl implements UserService {
private UserRepository userRepository;
-
+ private CommunityRepository communityRepository;
+ private UserCommunityController userCommunityController;
+ private UserCommunityRepository userCommunityRepository;
+ private UserCommunityService userCommunityService;
@Override
public List getUsers() throws ServiceException {
try {
List userList = userRepository.getAllUsers();
+ log.info("userList ", userList);
return userList;
} catch (Exception e) {
- log.error("Error encountered during user fetch operation");
+ log.error("Error encountered during user fetching operation");
throw new ServiceException("Error encountered during user fetch operation", e);
}
}
@@ -40,4 +50,125 @@ public User getUserByUserId(String userId) throws ServiceException {
throw new ServiceException("Error encountered during user fetch operation", e);
}
}
+
+
+ public void createUser(User newUser) throws ServiceException {
+ System.out.println(newUser);
+ List matchingCommontags = findMatchingCommontags(newUser);
+ System.out.println(newUser);
+ System.out.println(matchingCommontags);
+
+ try {
+ // Add any validation logic if needed before saving to the database
+
+ for (String tag : matchingCommontags) {
+ if (!communityRepository.existsByCommontag(tag)) {
+
+ communityRepository.createCommunityUsingStrings(tag, tag);
+ }
+
+ }
+
+ userRepository.createUser(newUser);
+ newUser.setUserid(userRepository.settingID(newUser.getEmail()));
+ newUser.setBorrowingLimit(newUser.getIncome() / 2);
+ settingUserRepoMapping(newUser);
+ } catch (Exception e) {
+ log.error("Error encountered during user creation operation");
+ throw new ServiceException("Error encountered during user creation operation", e);
+ }
+ }
+ private void settingUserRepoMapping(User newUser){
+
+ String collegeUni = newUser.getCollegeuniversity();
+ String office = newUser.getOfficename();
+ String locality = newUser.getLocality();
+ if (collegeUni != null) {
+ userCommunityRepository.createUserCommunityMapping(newUser.getUserid(), communityRepository.getCommunityIdByName(collegeUni));
+ }
+ if (office != null) {
+ userCommunityRepository.createUserCommunityMapping(newUser.getUserid(), communityRepository.getCommunityIdByName(office));
+ }
+ if (locality != null) {
+ userCommunityRepository.createUserCommunityMapping(newUser.getUserid(), communityRepository.getCommunityIdByName(locality));
+ }
+
+ }
+ private List findMatchingCommontags(User user) {
+ List matchingCommontags = new ArrayList<>();
+ String officenameCommontag = null;
+ String collegeuniversityCommontag = null;
+ String localityCommontag = null;
+ List names=new ArrayList<>();
+ if (user.getOfficename() != null) names.add(user.getOfficename());
+
+ if(user.getCollegeuniversity() != null) names.add(user.getCollegeuniversity());
+
+ if(user.getLocality() != null) names.add(user.getLocality());
+
+
+
+
+ Map commontags = communityRepository.findCommontagsByNames(names);
+
+ officenameCommontag = commontags.get(user.getOfficename());
+ collegeuniversityCommontag = commontags.get(user.getCollegeuniversity());
+ localityCommontag = commontags.get(user.getLocality());
+
+ System.out.println(officenameCommontag);
+ if (officenameCommontag == null && user.getOfficename() != null) {
+ matchingCommontags.add(user.getOfficename());
+ }
+ if (collegeuniversityCommontag == null && user.getCollegeuniversity() != null) {
+ matchingCommontags.add(user.getCollegeuniversity());
+ }
+ if (localityCommontag == null && user.getLocality() != null) {
+ matchingCommontags.add(user.getLocality());
+ }
+
+
+ return matchingCommontags;
+ }
+
+ public void updateUser(User user, String userId) throws ServiceException {
+ List updatedCommunities;
+ String[] communityy=new String[3];
+ try {
+ userCommunityRepository.deletePrevData(userId);
+ userRepository.updateUser(user);
+ updatedCommunities = userRepository.findCommunitiesByUserId(userId);
+ for(String community:updatedCommunities){
+ communityy=community.split(", ");
+ }
+ for(int i=0;i<3;i++){
+ if (!communityRepository.existsByCommontag(communityy[i])) {
+ communityRepository.createCommunityUsingStrings(communityy[i],communityy[i]);
+ }
+ }
+ user.setBorrowingLimit(user.getIncome() / 2);
+ settingUserRepoMapping(user);
+
+
+
+ } catch (Exception e) {
+ log.error("Error encountered during user fetching operation");
+ throw new ServiceException("Error encountered during user fetch operation", e);
+ }
+ }
+
+ public boolean markUserAsInactive(String userId) throws ServiceException {
+ try {
+ User user = userRepository.getUserForUserId(userId);
+ if (user != null) {
+ user.setActive(false);
+ userRepository.inactivatingUser(user);
+ return true;
+ } else {
+ return false;
+ }
+ } catch (Exception e) {
+ throw new ServiceException("Error marking user as inactive", e);
+ }
+ }
+
}
diff --git a/src/main/java/com/educare/unitylend/service/impl/WalletServiceImpl.java b/src/main/java/com/educare/unitylend/service/impl/WalletServiceImpl.java
new file mode 100644
index 0000000..4a1eec4
--- /dev/null
+++ b/src/main/java/com/educare/unitylend/service/impl/WalletServiceImpl.java
@@ -0,0 +1,38 @@
+package com.educare.unitylend.service.impl;
+
+import com.educare.unitylend.Exception.ServiceException;
+import com.educare.unitylend.controller.UserCommunityController;
+import com.educare.unitylend.dao.CommunityRepository;
+import com.educare.unitylend.dao.UserCommunityRepository;
+import com.educare.unitylend.dao.UserRepository;
+import com.educare.unitylend.dao.WalletRepository;
+import com.educare.unitylend.model.User;
+import com.educare.unitylend.model.Wallet;
+import com.educare.unitylend.service.UserService;
+import com.educare.unitylend.service.WalletService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@AllArgsConstructor
+@Service
+public class WalletServiceImpl implements WalletService{
+
+ WalletRepository walletRepository;
+
+ @Override
+ public Wallet getWalletInfo(String userId) throws ServiceException {
+ return walletRepository.getWalletInfo(userId);
+ }
+
+ @Override
+ public void generateWallet(Wallet wallet) throws ServiceException {
+ walletRepository.generateWallet(wallet);
+ }
+
+
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index af09fad..e75b156 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,7 +1,7 @@
-
server.port=8085
spring.datasource.url=jdbc:postgresql://localhost:5432/unity-lend
-spring.datasource.username=user
-spring.datasource.password=password
+spring.datasource.username=postgres
+spring.datasource.password=postgres
spring.datasource.driver-class-name=org.postgresql.Driver
+
diff --git a/src/main/resources/scratch.sql b/src/main/resources/scratch.sql
new file mode 100644
index 0000000..e4ce229
--- /dev/null
+++ b/src/main/resources/scratch.sql
@@ -0,0 +1,1358 @@
+
+CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
+
+-- Create "User" table
+
+CREATE TABLE "User" (
+ UserId VARCHAR(36),
+ Password VARCHAR(255) NOT NULL,
+ Name VARCHAR(255) NOT NULL,
+ Email VARCHAR(255) NOT NULL UNIQUE,
+ DOB DATE,
+ Income INTEGER NOT NULL,
+ OfficeName VARCHAR(255),
+ CollegeUniversity VARCHAR(255),
+ Locality VARCHAR(255),
+ PRIMARY KEY (UserId) -- Adding primary key constraint
+);
+
+CREATE OR REPLACE FUNCTION check_age()
+RETURNS TRIGGER AS $$
+BEGIN
+ IF NEW.DOB > CURRENT_DATE - INTERVAL '18 years' THEN
+ RAISE EXCEPTION 'Age must be at least 18 years.';
+END IF;
+RETURN NEW;
+END;
+$$ LANGUAGE plpgsql;
+
+CREATE TRIGGER check_age_trigger
+ BEFORE INSERT ON "User"
+ FOR EACH ROW
+ EXECUTE FUNCTION check_age();
+
+
+-- Create Community table
+
+CREATE TABLE Community (
+ CommunityId CHAR(36) PRIMARY KEY,
+ CommunityName VARCHAR(255) NOT NULL,
+ CommonTag VARCHAR(255) NOT NULL
+);
+
+-- Junction table to represent the many-to-many relationship between "User"s and communities
+
+CREATE TABLE UserCommunity (
+ UserId CHAR(36),
+ CommunityId CHAR(36),
+ PRIMARY KEY (UserId, CommunityId),
+ FOREIGN KEY (UserId) REFERENCES "User"(UserId),
+ FOREIGN KEY (CommunityId) REFERENCES Community(CommunityId)
+);
+
+-- Create Borrow_Request table
+CREATE TABLE Borrow_Request (
+ RequestID CHAR(36) PRIMARY KEY,
+ BorrowerID CHAR(36),
+ CommunityID CHAR(36),
+ ReturnPeriod INT NOT NULL,
+ Status VARCHAR(20) DEFAULT 'Pending' ,
+ Timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
+ CollectedAmount DECIMAL(10, 2) DEFAULT 0.00 ,
+ TargetAmount DECIMAL(10, 2) NOT NULL,
+ FOREIGN KEY (BorrowerID) REFERENCES "User"(UserId),
+ FOREIGN KEY (CommunityID) REFERENCES Community(CommunityId)
+);
+
+-- Create Lending_Transaction table
+CREATE TABLE Lending_Transaction (
+ LendTransactionId CHAR(36) PRIMARY KEY,
+ LenderId CHAR(36),
+ BorrowerId CHAR(36),
+ RequestId CHAR(36),
+ Amount DECIMAL(10, 2) NOT NULL,
+ Timestamp TIMESTAMP NOT NULL,
+ FOREIGN KEY (LenderId) REFERENCES "User"(UserId),
+ FOREIGN KEY (BorrowerId) REFERENCES "User"(UserId),
+ FOREIGN KEY (RequestId) REFERENCES Borrow_Request(RequestID)
+);
+
+-- Create Repayment_Transaction table
+CREATE TABLE Repayment_Transaction (
+ RepayTransactionId CHAR(36) PRIMARY KEY,
+ PayerId CHAR(36),
+ PayeeId CHAR(36),
+ RequestId CHAR(36),
+ Amount DECIMAL(10, 2) NOT NULL,
+ Timestamp TIMESTAMP NOT NULL,
+ FOREIGN KEY (PayerId) REFERENCES "User"(UserId),
+ FOREIGN KEY (PayeeId) REFERENCES "User"(UserId),
+ FOREIGN KEY (RequestId) REFERENCES Borrow_Request(RequestID)
+);
+
+-- Create Wallet table
+CREATE TABLE Wallet (
+ WalletId CHAR(36) PRIMARY KEY,
+ UserId CHAR(36),
+ Balance DECIMAL(10, 2) NOT NULL,
+ FOREIGN KEY (UserId) REFERENCES "User"(UserId)
+);
+
+Queries to populate the dummy data into tables
+
+-- Inserting dummy data into the "User" table
+
+INSERT INTO "User" (UserId, Password, Name, Email, DOB, Income)
+VALUES
+(uuid_generate_v4(), 'pass123', 'Aarav Patel', 'aarav@example.com', '1990-01-01', 50000.00),
+(uuid_generate_v4(), 'pass456', 'Aaradhya Sharma', 'aaradhya@example.com', '1985-05-15', 60000.00),
+(uuid_generate_v4(), 'pass789', 'Aarav Singh', 'aaravsingh@example.com', '1993-08-20', 45000.00),
+(uuid_generate_v4(), 'passabc', 'Abhinav Gupta', 'abhinavgupta@example.com', '1980-03-10', 70000.00),
+(uuid_generate_v4(), 'pass123', 'Aditi Mishra', 'aditi@example.com', '1988-09-25', 55000.00),
+(uuid_generate_v4(), 'pass456', 'Advait Tiwari', 'advait@example.com', '1995-06-12', 62000.00),
+(uuid_generate_v4(), 'pass789', 'Akshay Joshi', 'akshayjoshi@example.com', '1991-11-08', 48000.00),
+(uuid_generate_v4(), 'passabc', 'Ananya Singh', 'ananya@example.com', '1975-04-17', 72000.00),
+(uuid_generate_v4(), 'pass123', 'Arya Dubey', 'arya@example.com', '1983-02-20', 51000.00),
+(uuid_generate_v4(), 'pass456', 'Avani Patel', 'avani@example.com', '1987-07-30', 63000.00),
+(uuid_generate_v4(), 'pass789', 'Ayaan Kumar', 'ayaan@example.com', '1990-05-05', 46000.00),
+(uuid_generate_v4(), 'passabc', 'Bhavna Shah', 'bhavna@example.com', '1982-10-12', 71000.00),
+(uuid_generate_v4(), 'pass123', 'Charvi Sharma', 'charvi@example.com', '1989-12-04', 52000.00),
+(uuid_generate_v4(), 'pass456', 'Darsh Jain', 'darsh@example.com', '1984-08-18', 64000.00),
+(uuid_generate_v4(), 'pass789', 'Dev Singh', 'devsingh@example.com', '1986-03-22', 47000.00),
+(uuid_generate_v4(), 'passabc', 'Dhruv Gupta', 'dhruv@example.com', '1992-01-15', 69000.00),
+(uuid_generate_v4(), 'pass123', 'Eshaan Gupta', 'eshaan@example.com', '1978-06-28', 53000.00),
+(uuid_generate_v4(), 'pass456', 'Garima Mishra', 'garima@example.com', '1994-04-03', 65000.00);
+
+
+
+-- Inserting dummy data into the Community table for 5 rows
+
+INSERT INTO Community (CommunityId, CommunityName, CommonTag)
+VALUES
+ (uuid_generate_v4(), 'Community A','D.E.Shaw'),
+ (uuid_generate_v4(), 'Community B','Delhi Public School'),
+ (uuid_generate_v4(), 'Community C','Sri Chaitanya School'),
+ (uuid_generate_v4(), 'Community D','IIM Ahmedabad'),
+ (uuid_generate_v4(), 'Community E','ISB Hyderabad');
+
+
+
+
+-- Inserting dummy data into the UserCommunity table
+
+INSERT INTO UserCommunity (UserId, CommunityId)
+VALUES
+ ((SELECT UserId FROM "User" WHERE Name = 'Aarav Patel'), (SELECT CommunityId from Community where CommunityName='Community A')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Aaradhya Sharma'), (SELECT CommunityId from Community where CommunityName='Community B')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Aarav Singh'), (SELECT CommunityId from Community where CommunityName='Community C')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Abhinav Gupta'), (SELECT CommunityId from Community where CommunityName='Community D')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Aditi Mishra'), (SELECT CommunityId from Community where CommunityName='Community E')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Advait Tiwari'), (SELECT CommunityId from Community where CommunityName='Community A')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Akshay Joshi'), (SELECT CommunityId from Community where CommunityName='Community B')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Ananya Singh'), (SELECT CommunityId from Community where CommunityName='Community C')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Arya Dubey'), (SELECT CommunityId from Community where CommunityName='Community D')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Avani Patel'), (SELECT CommunityId from Community where CommunityName='Community E')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Ayaan Kumar'), (SELECT CommunityId from Community where CommunityName='Community A')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Bhavna Shah'), (SELECT CommunityId from Community where CommunityName='Community B')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Charvi Sharma'), (SELECT CommunityId from Community where CommunityName='Community C')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Darsh Jain'), (SELECT CommunityId from Community where CommunityName='Community D')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Dev Singh'), (SELECT CommunityId from Community where CommunityName='Community E')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Dhruv Gupta'), (SELECT CommunityId from Community where CommunityName='Community A')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Eshaan Gupta'), (SELECT CommunityId from Community where CommunityName='Community B')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Garima Mishra'), (SELECT CommunityId from Community where CommunityName='Community C')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Aarav Patel'), (SELECT CommunityId from Community where CommunityName='Community D')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Aaradhya Sharma'), (SELECT CommunityId from Community where CommunityName='Community E')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Aarav Singh'), (SELECT CommunityId from Community where CommunityName='Community A')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Abhinav Gupta'), (SELECT CommunityId from Community where CommunityName='Community B')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Aditi Mishra'), (SELECT CommunityId from Community where CommunityName='Community C')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Advait Tiwari'), (SELECT CommunityId from Community where CommunityName='Community D')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Akshay Joshi'), (SELECT CommunityId from Community where CommunityName='Community E')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Ananya Singh'), (SELECT CommunityId from Community where CommunityName='Community A')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Arya Dubey'), (SELECT CommunityId from Community where CommunityName='Community B')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Avani Patel'), (SELECT CommunityId from Community where CommunityName='Community C')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Ayaan Kumar'), (SELECT CommunityId from Community where CommunityName='Community D')),
+ ((SELECT UserId FROM "User" WHERE Name = 'Bhavna Shah'), (SELECT CommunityId from Community where CommunityName='Community E'));
+
+-- Inserting dummy data into the Borrow_Request table
+
+INSERT INTO Borrow_Request (RequestID, BorrowerID, CommunityID, ReturnPeriod, Status, Timestamp, CollectedAmount, TargetAmount)
+VALUES
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Aarav Patel'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community A'), 60, 'Pending', NOW(), 0.00, 2500.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Aaradhya Sharma'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community B'), 35, 'Fulfilled', NOW(), 2200.00, 2200.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Ananya Singh'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community C'), 45, 'Pending', NOW(), 0.00, 2700.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Dev Singh'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community E'), 55, 'Fulfilled', NOW(), 2800.00, 2800.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Aarav Singh'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community C'), 40, 'Pending', NOW(), 0.00, 2000.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Garima Mishra'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community C'), 25, 'Pending', NOW(), 1500.00, 2300.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Ayaan Kumar'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community D'), 50, 'Fulfilled', NOW(), 2500.00, 2500.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Avani Patel'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community C'), 30, 'Pending', NOW(), 0.00, 2200.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Charvi Sharma'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community C'), 40, 'Pending', NOW(), 0.00, 2700.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Darsh Jain'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community D'), 55, 'Fulfilled', NOW(), 2800.00, 2800.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Dhruv Gupta'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community A'), 35, 'Pending', NOW(), 0.00, 2000.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Ayaan Kumar'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community A'), 45, 'Fulfilled', NOW(), 2700.00, 2700.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Avani Patel'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community E'), 30, 'Pending', NOW(), 0.00, 2200.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Arya Dubey'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community D'), 50, 'Pending', NOW(), 0.00, 2800.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Ananya Singh'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community A'), 40, 'Fulfilled', NOW(), 3000.00, 3000.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Akshay Joshi'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community B'), 35, 'Pending', NOW(), 0.00, 2000.00),
+ (uuid_generate_v4(), (SELECT UserId FROM "User" WHERE Name = 'Advait Tiwari'), (SELECT CommunityId FROM Community WHERE CommunityName = 'Community A'), 55, 'Pending', NOW(), 0.00, 2500.00);
+
+
+-- Inserting dummy data into the Lending_Transaction table
+
+INSERT INTO Lending_Transaction (LenderId, BorrowerId, LendTransactionId, RequestId,
+Amount, Timestamp)
+VALUES
+((SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Eshaan Gupta' AND c.CommunityName = 'Community B'
+ ), (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+), uuid_generate_v4(), (SELECT RequestId
+FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+)), 1000.00, NOW()),
+
+((SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Abhinav Gupta' AND c.CommunityName = 'Community B'
+ ), (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+), uuid_generate_v4(), (SELECT RequestId
+FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+)), 500.00, NOW()),
+
+((SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Arya Dubey' AND c.CommunityName = 'Community B'
+ ), (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+), uuid_generate_v4(), (SELECT RequestId
+FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+)), 600.00, NOW()),
+
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aarav Singh' AND c.CommunityName = 'Community C'
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Garima Mishra' AND c.CommunityName = 'Community C'
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Garima Mishra' AND c.CommunityName = 'Community C'
+ )
+ ),
+ 300.00,
+ NOW()
+),
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Charvi Sharma' AND c.CommunityName = 'Community C'
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Garima Mishra' AND c.CommunityName = 'Community C'
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Garima Mishra' AND c.CommunityName = 'Community C'
+ )
+ ),
+ 1100.00,
+ NOW()
+),
+
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Charvi Sharma' AND c.CommunityName = 'Community C'
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Garima Mishra' AND c.CommunityName = 'Community C'
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Garima Mishra' AND c.CommunityName = 'Community C'
+ )
+ ),
+ 900.00,
+ NOW()
+),
+
+
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aditi Mishra' AND c.CommunityName = 'Community E'
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ )
+ ),
+ 1100.00,
+ NOW()
+),
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Bhavna Shah' AND c.CommunityName = 'Community E'
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ )
+ ),
+ 500.00,
+ NOW()
+),
+
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Akshay Joshi' AND c.CommunityName = 'Community E'
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ )
+ ),
+ 1200.00,
+ NOW()
+),
+
+(
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Akshay Joshi' AND c.CommunityName = 'Community E'
+ LIMIT 1
+ ),
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT MAX(RequestId)
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1200.00,
+ NOW()
+),
+
+
+
+(
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aarav Patel' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT MAX(RequestId)
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 500.00,
+ NOW()
+),
+
+
+(
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Arya Dubey' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT MAX(RequestId)
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1000.00,
+ NOW()
+),
+(
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Advait Tiwari' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT MAX(RequestId)
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1000.00,
+ NOW()
+),
+
+(
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aarav Patel' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT MAX(RequestId)
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 600.00,
+ NOW()
+),
+
+(
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Advait Tiwari' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT MAX(RequestId)
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 300.00,
+ NOW()
+),
+
+
+
+(
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aarav Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT MAX(RequestId)
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 700.00,
+ NOW()
+),
+
+(
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dhruv Gupta' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT MAX(RequestId)
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT MAX(u.UserId)
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1100.00,
+ NOW()
+),
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aarav Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1500.00,
+ NOW()
+),
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1000.00,
+ NOW()
+),
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dhruv Gupta' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 500.00,
+ NOW()
+);
+
+
+-- Inserting dummy data into the Repayment_Transaction table
+
+INSERT INTO Repayment_Transaction (PayerId, PayeeId, RepayTransactionId, RequestId,
+ Amount, Timestamp)
+VALUES
+ ((SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+ ), (SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Eshaan Gupta' AND c.CommunityName = 'Community B'
+ ) , uuid_generate_v4(),(SELECT RequestId
+ FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+ )), 1047.00 ,NOW()),
+
+
+
+ ((SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+ ), (SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Abhinav Gupta' AND c.CommunityName = 'Community B'
+ ) , uuid_generate_v4(),(SELECT RequestId
+ FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+ )), 523.00 ,NOW()),
+
+ ((SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+ ), (SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Arya Dubey' AND c.CommunityName = 'Community B'
+ ) , uuid_generate_v4(),(SELECT RequestId
+ FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aaradhya Sharma' AND c.CommunityName = 'Community B'
+ )), 628.00 ,NOW()),
+
+ (
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aarav Patel' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 523.00,
+ NOW()
+ ),
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Arya Dubey' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1068.00,
+ NOW()
+),
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Advait Tiwari' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community D'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1068.00,
+ NOW()
+),
+
+((SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ ), (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Bhavna Shah' AND c.CommunityName = 'Community E'
+ ) , uuid_generate_v4(),(SELECT RequestId
+FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+)), 537.00 ,NOW()),
+
+((SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ ), (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Aditi Mishra' AND c.CommunityName = 'Community E'
+ ) , uuid_generate_v4(),(SELECT RequestId
+FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+)), 1182.00 ,NOW()),
+
+((SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+ ), (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Akshay Joshi' AND c.CommunityName = 'Community E'
+ ) , uuid_generate_v4(),(SELECT RequestId
+FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Dev Singh' AND c.CommunityName = 'Community E'
+)), 1290.00 ,NOW()),
+((SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Darsh Jain' AND c.CommunityName = 'Community B'
+ ), (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Abhinav Gupta' AND c.CommunityName = 'Community B'
+ ) , uuid_generate_v4(),(SELECT RequestId
+FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Darsh Jain' AND c.CommunityName = 'Community B'
+)), 1505.00 ,NOW()),
+
+((SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Darsh Jain' AND c.CommunityName = 'Community B'
+ ), (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Arya Dubey' AND c.CommunityName = 'Community B'
+ ) , uuid_generate_v4(),(SELECT RequestId
+FROM Borrow_Request WHERE BorrowerId = (SELECT u.UserId
+FROM "User" u
+JOIN UserCommunity uc ON u.UserId = uc.UserId
+JOIN Community c ON uc.CommunityId = c.CommunityId
+WHERE u.Name = 'Darsh Jain' AND c.CommunityName = 'Community B'
+)), 1505.00 ,NOW()),
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aarav Patel' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 636.00,
+ NOW()
+),
+
+
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Advait Tiwari' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 318.00,
+ NOW()
+),
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dhruv Gupta' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 743.00,
+ NOW()
+),
+
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aarav Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1167.00,
+ NOW()
+),
+
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Aarav Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1582.00,
+ NOW()
+),
+
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ayaan Kumar' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1054.00,
+ NOW()
+),
+
+
+(
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Dhruv Gupta' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ ),
+ uuid_generate_v4(),
+ (
+ SELECT RequestId
+ FROM Borrow_Request
+ WHERE BorrowerId = (
+ SELECT u.UserId
+ FROM "User" u
+ JOIN UserCommunity uc ON u.UserId = uc.UserId
+ JOIN Community c ON uc.CommunityId = c.CommunityId
+ WHERE u.Name = 'Ananya Singh' AND c.CommunityName = 'Community A'
+ LIMIT 1
+ )
+ LIMIT 1
+ ),
+ 1582.00,
+ NOW()
+);
+
+
+
+-- Generate and insert dummy data into the Wallet table for each "User"
+INSERT INTO Wallet (WalletId, UserId, Balance)
+SELECT
+ uuid_generate_v4() AS WalletId,
+ u.UserId,
+ ROUND(CAST(RANDOM() * 100000 AS numeric), 2) AS Balance
+FROM
+ "User" u;
+
+alter table "TempUser" rename to "tempuser";
+
+