From 17efe60614b2a039c53ff6a6c92b9938f50db878 Mon Sep 17 00:00:00 2001 From: rucha Date: Wed, 4 Feb 2026 19:04:52 +0530 Subject: [PATCH 1/3] Removed duration compulsion in event --- .../src/main/java/com/divinespark/entity/Event.java | 2 +- .../src/main/java/com/divinespark/security/SecurityConfig.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/divinespark-backend/src/main/java/com/divinespark/entity/Event.java b/divinespark-backend/src/main/java/com/divinespark/entity/Event.java index 334707c..bd790a4 100644 --- a/divinespark-backend/src/main/java/com/divinespark/entity/Event.java +++ b/divinespark-backend/src/main/java/com/divinespark/entity/Event.java @@ -22,7 +22,7 @@ public class Event { @Column(nullable = false) private OffsetDateTime startTime; - @Column(nullable = false) + @Column private Integer durationMinutes; // auto-expiry logic uses this diff --git a/divinespark-backend/src/main/java/com/divinespark/security/SecurityConfig.java b/divinespark-backend/src/main/java/com/divinespark/security/SecurityConfig.java index fd7162a..ffa94bc 100644 --- a/divinespark-backend/src/main/java/com/divinespark/security/SecurityConfig.java +++ b/divinespark-backend/src/main/java/com/divinespark/security/SecurityConfig.java @@ -6,8 +6,6 @@ import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.cors.CorsConfiguration; From 4ab74eec8154fe39e3ca1bbda4212a5447fa15a0 Mon Sep 17 00:00:00 2001 From: rucha Date: Sat, 7 Feb 2026 09:42:50 +0530 Subject: [PATCH 2/3] allow public access to get review and blog --- .../controller/user/ReviewController.java | 1 - .../com/divinespark/security/SecurityConfig.java | 14 ++++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/divinespark-backend/src/main/java/com/divinespark/controller/user/ReviewController.java b/divinespark-backend/src/main/java/com/divinespark/controller/user/ReviewController.java index db2733e..1f30f15 100644 --- a/divinespark-backend/src/main/java/com/divinespark/controller/user/ReviewController.java +++ b/divinespark-backend/src/main/java/com/divinespark/controller/user/ReviewController.java @@ -31,7 +31,6 @@ public ResponseEntity submitReview( return ResponseEntity.ok().build(); } - @PreAuthorize("hasRole('USER')") @GetMapping public ResponseEntity getMyReview( @AuthenticationPrincipal CustomUserDetails userDetails diff --git a/divinespark-backend/src/main/java/com/divinespark/security/SecurityConfig.java b/divinespark-backend/src/main/java/com/divinespark/security/SecurityConfig.java index ffa94bc..d625157 100644 --- a/divinespark-backend/src/main/java/com/divinespark/security/SecurityConfig.java +++ b/divinespark-backend/src/main/java/com/divinespark/security/SecurityConfig.java @@ -51,22 +51,28 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti "/api/v1/public/**" ).permitAll() - // User APIs + // PUBLIC: session browsing & reviews (NO LOGIN) + .requestMatchers( + HttpMethod.GET, + "/api/v1/sessions/**", + "/api/v1/user/review/**", + "/api/v1/blogs/**" + ).permitAll() + + // User APIs (LOGIN REQUIRED) .requestMatchers( "/api/v1/user/**", "/api/v1/installments/**", "/api/v1/payments/**" ).hasRole("USER") - // Public session browsing - .requestMatchers(HttpMethod.GET, "/api/v1/sessions/**").permitAll() - // Admin APIs .requestMatchers("/api/v1/admin/**").hasRole("ADMIN") .anyRequest().authenticated() ) + // THIS PREVENTS GOOGLE REDIRECTS // .exceptionHandling(ex -> ex // .authenticationEntryPoint((request, response, authException) -> { From 597adeb98cb29ef117d0c7b7480ecd415b9f591c Mon Sep 17 00:00:00 2001 From: rucha Date: Thu, 19 Mar 2026 15:35:50 +0530 Subject: [PATCH 3/3] fixed contact --- .../com/divinespark/dto/SessionCreateRequest.java | 2 +- .../java/com/divinespark/service/AuthService.java | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/divinespark-backend/src/main/java/com/divinespark/dto/SessionCreateRequest.java b/divinespark-backend/src/main/java/com/divinespark/dto/SessionCreateRequest.java index 436d70b..8bc8684 100644 --- a/divinespark-backend/src/main/java/com/divinespark/dto/SessionCreateRequest.java +++ b/divinespark-backend/src/main/java/com/divinespark/dto/SessionCreateRequest.java @@ -13,7 +13,7 @@ public class SessionCreateRequest { private double price; private String whatsappGroupLink; - // ✅ Frontend sends OffsetDateTime with +05:30 + // Frontend sends OffsetDateTime with +05:30 private OffsetDateTime startTime; private OffsetDateTime endTime; diff --git a/divinespark-backend/src/main/java/com/divinespark/service/AuthService.java b/divinespark-backend/src/main/java/com/divinespark/service/AuthService.java index 74e644f..d1c1d08 100644 --- a/divinespark-backend/src/main/java/com/divinespark/service/AuthService.java +++ b/divinespark-backend/src/main/java/com/divinespark/service/AuthService.java @@ -19,11 +19,10 @@ public class AuthService { private final UserRepository userRepository; - private final OtpRepository otpRepository; // ✅ ADD THIS + private final OtpRepository otpRepository; private final PasswordEncoder passwordEncoder; private final JwtUtil jwtUtil; - // ✅ UPDATE CONSTRUCTOR public AuthService( UserRepository userRepository, OtpRepository otpRepository, @@ -43,7 +42,13 @@ public void register(RegisterRequest request) { throw new RuntimeException("Email is already in use"); } - if (!request.getContactNumber().matches("^[6-9]\\d{9}$")) { + String phone = request.getContactNumber().replaceAll("\\D", ""); + + if (phone.startsWith("91") && phone.length() == 12) { + phone = phone.substring(2); + } + + if (!phone.matches("^[6-9]\\d{9}$")) { throw new RuntimeException("Invalid contact number"); } @@ -51,14 +56,13 @@ public void register(RegisterRequest request) { .username(request.getUsername()) .email(request.getEmail()) .password(passwordEncoder.encode(request.getPassword())) - .contactNumber(request.getContactNumber()) + .contactNumber(phone) .role(Role.USER) .isActive(true) .build(); userRepository.save(user); } - // ================= LOGIN ================= public String login(LoginRequest request) {