diff --git a/yota-api/src/main/java/com/yash/yotaapi/controllers/LoginSignUpController.java b/yota-api/src/main/java/com/yash/yotaapi/controllers/LoginSignUpController.java index 48b28cc..23246eb 100644 --- a/yota-api/src/main/java/com/yash/yotaapi/controllers/LoginSignUpController.java +++ b/yota-api/src/main/java/com/yash/yotaapi/controllers/LoginSignUpController.java @@ -2,10 +2,12 @@ import com.yash.yotaapi.dto.PasswordDto; import com.yash.yotaapi.dto.YotaUserDto; +import com.yash.yotaapi.exceptions.ApplicationException; import com.yash.yotaapi.security.jwt.JwtAuthRequest; import com.yash.yotaapi.security.jwt.JwtAuthResponse; import com.yash.yotaapi.services.IServices.IAuthService; import com.yash.yotaapi.services.IServices.IYOTAUserService; +import com.yash.yotaapi.util.ValidationUtility; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -28,8 +30,16 @@ public class LoginSignUpController { @Autowired private IYOTAUserService userService; + @Autowired + private ValidationUtility validationUtility; + @PostMapping("/login") public ResponseEntity login(@RequestBody JwtAuthRequest authRequest) { + + if(!validationUtility.validateEmail(authRequest.getEmail())) { + throw new ApplicationException("Email must contain @ and end with @yash.com."); + } + JwtAuthResponse authResponse = this .authService .login(authRequest); diff --git a/yota-api/src/main/java/com/yash/yotaapi/util/ValidationUtility.java b/yota-api/src/main/java/com/yash/yotaapi/util/ValidationUtility.java index 5811bd8..5f08255 100644 --- a/yota-api/src/main/java/com/yash/yotaapi/util/ValidationUtility.java +++ b/yota-api/src/main/java/com/yash/yotaapi/util/ValidationUtility.java @@ -1,7 +1,12 @@ package com.yash.yotaapi.util; +import org.springframework.stereotype.Component; + import java.util.Date; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +@Component public class ValidationUtility { private static final String ALPHABETIC_PATTERN = "^[a-zA-Z]+$"; @@ -31,4 +36,13 @@ public static boolean isEndDateGreater(Date startDate, Date endDate) { } return true; } + + public boolean validateEmail(String email) { + if (email == null || email.isEmpty()) { + return false; + } + Pattern regexPattern = Pattern.compile("^[^@\\s]+@yash\\.com$"); + Matcher regMatcher = regexPattern.matcher(email); + return regMatcher.matches(); + } }