From 8173d5829a36354fe3bca2018b03a08d8a9d6c1c Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Date: Wed, 2 Aug 2023 00:09:59 -0300 Subject: [PATCH 1/4] Changes Api Delete EndPoints --- .../base/session/api/SessionController.java | 7 ++----- .../backendportfolio/base/user/api/UserController.java | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java b/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java index b451417..580c864 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java @@ -6,10 +6,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpSession; @@ -26,7 +23,7 @@ public class SessionController { return ResponseEntity.ok(this.sessionManagerService.validateSession(session)); } - @PostMapping(path="/destroy") + @DeleteMapping(path="/destroy") public ResponseEntity destroyCurrentSession(HttpSession session) { this.sessionManagerService.destroySession(session); return new ResponseEntity<>(HttpStatus.NO_CONTENT); diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java b/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java index f94bb5e..ef5f90c 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java @@ -69,7 +69,7 @@ public class UserController { response.sendRedirect("http://localhost:4200"); } - @PostMapping("/delete/{id}") + @DeleteMapping("/delete/{id}") @UserResourceGuard(accessType = UserResourceGuardEnum.SAME_USER) public ResponseEntity deleteUser(@PathVariable("id") Long id) { this.userService.deleteUser(id); From 04b167d77ac32e6d496d9c9f75aeefebf0c249f5 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Date: Wed, 2 Aug 2023 00:10:15 -0300 Subject: [PATCH 2/4] Hotfix - Changes Email REGEX --- .../util/validator/email/valid/EmailValidator.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/EmailValidator.java b/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/EmailValidator.java index 5881814..65beae4 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/EmailValidator.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/valid/EmailValidator.java @@ -4,15 +4,14 @@ import lombok.RequiredArgsConstructor; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; +import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; @RequiredArgsConstructor public class EmailValidator implements ConstraintValidator { - private Pattern pattern; - private Matcher matcher; - private static final String EMAIL_PATTERN = "^[_A-Za-z\\d-+]+(.[_A-Za-z\\d-]+)*@+[A-Za-z\\d-]+(.[A-Za-z\\d]+)*(.[A-Za-z]{2,})$"; + private static final String EMAIL_PATTERN = "^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$"; @Override public void initialize(ValidEmail constraintAnnotation) { @@ -24,8 +23,12 @@ public class EmailValidator implements ConstraintValidator { } private boolean validateEmail(String email) { - pattern = Pattern.compile(EMAIL_PATTERN); - matcher = pattern.matcher(email); + if (Objects.isNull(email)) { + return false; + } + + Pattern pattern = Pattern.compile(EMAIL_PATTERN); + Matcher matcher = pattern.matcher(email); return matcher.matches(); } From 1cf2862654efa0f2cf7200a631a21d0e6f3ad926 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Date: Wed, 2 Aug 2023 00:18:14 -0300 Subject: [PATCH 3/4] Updates Dependencies and Removes Fixes Minor Buts --- pom.xml | 2 +- .../base/security/oauth/mapper/OAuthMapEnum.java | 4 ++-- .../base/security/oauth/repo/OAuthRequestRepository.java | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 6285b0f..af74d5a 100644 --- a/pom.xml +++ b/pom.xml @@ -55,7 +55,7 @@ org.postgresql postgresql - 42.5.0 + 42.5.1 runtime diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapEnum.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapEnum.java index aad4182..6e63b00 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapEnum.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapEnum.java @@ -8,9 +8,9 @@ public enum OAuthMapEnum { GITHUB(GithubOAuthMap.class, Provider.GITHUB); - private Class oAuthMap; + private final Class oAuthMap; - private Provider provider; + private final Provider provider; private OAuthMapEnum(Class oAuthMap, Provider provider) { this.oAuthMap = oAuthMap; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java index 7be079c..233eda9 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java @@ -27,7 +27,6 @@ public class OAuthRequestRepository implements AuthorizationRequestRepository Date: Wed, 2 Aug 2023 00:22:27 -0300 Subject: [PATCH 4/4] Adds Tests to Github Actions --- .github/workflows/docker-image.yml | 39 ++---------------------------- .github/workflows/run-tests.yml | 20 +++++++++++++++ 2 files changed, 22 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/run-tests.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 68f0695..b5a5a88 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -6,46 +6,11 @@ on: - 'main' jobs: - - build: - - runs-on: ubuntu-latest - - services: - postgres: - image: postgres:11 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - POSTGRES_DB: portfolio - ports: - - 5432:5432 - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - - steps: - - - uses: actions/checkout@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: '11' - distribution: 'temurin' - cache: maven - - - name: Build with Maven - env: - FRONT_END_PATH: 'localhost:5000' - FRONT_END_CONNECTION_TYPE: 'unsecure' - PORT: 8070 - DATABASE_URL: 'postgresql://localhost:5432/portfolio' - DATABASE_USER: 'postgres' - DATABASE_PASSWORD: 'postgres' - run: ./mvnw -B package --file pom.xml docker: - - needs: [build] + needs: run-tests + runs-on: ubuntu-latest steps: diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml new file mode 100644 index 0000000..14dc576 --- /dev/null +++ b/.github/workflows/run-tests.yml @@ -0,0 +1,20 @@ +name: ci +on: + push + +jobs: + run-tests: + runs-on: ubuntu-latest + + steps: + + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + + - name: Running Tests with Maven + run: ./mvnw test \ No newline at end of file