diff --git a/build.gradle b/build.gradle
index 2251581..51def51 100644
--- a/build.gradle
+++ b/build.gradle
@@ -44,6 +44,9 @@ dependencies {
implementation 'io.jsonwebtoken:jjwt-impl:0.12.6'
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.6'
+ // cache
+ implementation 'com.github.ben-manes.caffeine:caffeine:3.1.8'
+
// test
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.testcontainers:junit-jupiter:1.20.1'
@@ -51,6 +54,8 @@ dependencies {
testImplementation 'org.wiremock.integrations.testcontainers:wiremock-testcontainers-module:1.0-alpha-14'
testImplementation 'org.testcontainers:postgresql:1.20.3'
testImplementation 'org.liquibase:liquibase-core:4.29.2'
+ testImplementation 'org.projectlombok:lombok'
+ testAnnotationProcessor 'org.projectlombok:lombok'
}
tasks.named('test') {
diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml
index b690f74..13c7990 100644
--- a/config/checkstyle/checkstyle.xml
+++ b/config/checkstyle/checkstyle.xml
@@ -56,12 +56,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -277,12 +277,12 @@
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/main/java/com/cf/cfteam/advicers/codeforces/CodeforcesExceptionHandler.java b/src/main/java/com/cf/cfteam/advicers/codeforces/CodeforcesExceptionHandler.java
new file mode 100644
index 0000000..07a59de
--- /dev/null
+++ b/src/main/java/com/cf/cfteam/advicers/codeforces/CodeforcesExceptionHandler.java
@@ -0,0 +1,57 @@
+package com.cf.cfteam.advicers.codeforces;
+
+import com.cf.cfteam.exceptions.codeforces.*;
+import com.cf.cfteam.utils.ErrorResponseBuilder;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@ControllerAdvice
+public class CodeforcesExceptionHandler {
+ private static final String ID = "id";
+ private static final String LOGIN = "login";
+ private static final String TEAM_ID = "teamId";
+ private static final String PLAYER_ID = "playerId";
+
+ @ExceptionHandler(GroupNotFoundException.class)
+ public ResponseEntity