From fad46df96cd6eea504ff21c49386eb3e4660e9ae Mon Sep 17 00:00:00 2001 From: Benedikt Galbavy Date: Tue, 2 Jan 2024 00:23:42 +0100 Subject: [PATCH] prepared all services ~0.5h work --- .../application/service/CardsService.java | 34 +++++++++++++++++++ .../mtcg/application/service/GameService.java | 31 +++++++++++++++++ .../application/service/PackagesService.java | 30 ++++++++++++++++ .../application/service/TradingService.java | 28 +++++++++++++++ .../mtcg/application/service/UserService.java | 22 +++++++----- 5 files changed, 137 insertions(+), 8 deletions(-) create mode 100644 src/at/nanopenguin/mtcg/application/service/CardsService.java create mode 100644 src/at/nanopenguin/mtcg/application/service/GameService.java create mode 100644 src/at/nanopenguin/mtcg/application/service/PackagesService.java create mode 100644 src/at/nanopenguin/mtcg/application/service/TradingService.java diff --git a/src/at/nanopenguin/mtcg/application/service/CardsService.java b/src/at/nanopenguin/mtcg/application/service/CardsService.java new file mode 100644 index 0000000..22c0e92 --- /dev/null +++ b/src/at/nanopenguin/mtcg/application/service/CardsService.java @@ -0,0 +1,34 @@ +package at.nanopenguin.mtcg.application.service; + +import at.nanopenguin.mtcg.http.HttpMethod; +import at.nanopenguin.mtcg.http.HttpRequest; +import at.nanopenguin.mtcg.http.HttpStatus; +import at.nanopenguin.mtcg.http.Response; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.util.Arrays; + +public class CardsService implements Service { + + @Override + public Response handleRequest(HttpRequest request) throws JsonProcessingException { + try { + if (request.getPath().split("/")[1].equals("cards") && request.getMethod() == HttpMethod.GET) { + return new Response(HttpStatus.NOT_IMPLEMENTED); + } + + if (request.getPath().split("/")[1].equals("deck")) { + return switch (request.getMethod()) { + case GET -> new Response(HttpStatus.NOT_IMPLEMENTED); + case PUT -> new Response(HttpStatus.NOT_IMPLEMENTED); // String[] array = new ObjectMapper().readValue(request.getBody(), String[].class) + default -> new Response(HttpStatus.NOT_FOUND); + }; + } + + return new Response(HttpStatus.NOT_FOUND); + } catch (ArrayIndexOutOfBoundsException e) { + return new Response(HttpStatus.BAD_REQUEST); + } + } +} diff --git a/src/at/nanopenguin/mtcg/application/service/GameService.java b/src/at/nanopenguin/mtcg/application/service/GameService.java new file mode 100644 index 0000000..9d94411 --- /dev/null +++ b/src/at/nanopenguin/mtcg/application/service/GameService.java @@ -0,0 +1,31 @@ +package at.nanopenguin.mtcg.application.service; + +import at.nanopenguin.mtcg.http.HttpMethod; +import at.nanopenguin.mtcg.http.HttpRequest; +import at.nanopenguin.mtcg.http.HttpStatus; +import at.nanopenguin.mtcg.http.Response; +import com.fasterxml.jackson.core.JsonProcessingException; + +public class GameService implements Service { + + @Override + public Response handleRequest(HttpRequest request) throws JsonProcessingException { + try { + if (request.getPath().split("/")[1].equals("stats") && request.getMethod() == HttpMethod.GET) { + return new Response(HttpStatus.NOT_IMPLEMENTED); + } + + if (request.getPath().split("/")[1].equals("scoreboard") && request.getMethod() == HttpMethod.GET) { + return new Response(HttpStatus.NOT_IMPLEMENTED); + } + + if (request.getPath().split("/")[1].equals("battles") && request.getMethod() == HttpMethod.POST) { + return new Response(HttpStatus.NOT_IMPLEMENTED); + } + + return new Response(HttpStatus.NOT_FOUND); + } catch (ArrayIndexOutOfBoundsException e) { + return new Response(HttpStatus.BAD_REQUEST); + } + } +} diff --git a/src/at/nanopenguin/mtcg/application/service/PackagesService.java b/src/at/nanopenguin/mtcg/application/service/PackagesService.java new file mode 100644 index 0000000..b053c18 --- /dev/null +++ b/src/at/nanopenguin/mtcg/application/service/PackagesService.java @@ -0,0 +1,30 @@ +package at.nanopenguin.mtcg.application.service; + +import at.nanopenguin.mtcg.http.HttpMethod; +import at.nanopenguin.mtcg.http.HttpRequest; +import at.nanopenguin.mtcg.http.HttpStatus; +import at.nanopenguin.mtcg.http.Response; +import com.fasterxml.jackson.core.JsonProcessingException; + +import java.util.Arrays; + +public class PackagesService implements Service { + + @Override + public Response handleRequest(HttpRequest request) throws JsonProcessingException { + try { + if (request.getPath().split("/")[1].equals("packages") && request.getMethod() == HttpMethod.POST) { + return new Response(HttpStatus.NOT_IMPLEMENTED); // new ObjectMapper().readValue(request.getBody(), Card.class); + } + + if (String.join("/", Arrays.copyOfRange(request.getPath().split("/"), 1, 2)).equals("transactions/packages") && request.getMethod() == HttpMethod.POST) { + return new Response(HttpStatus.NOT_IMPLEMENTED); + } + + return new Response(HttpStatus.NOT_FOUND); + } + catch (ArrayIndexOutOfBoundsException e) { + return new Response(HttpStatus.BAD_REQUEST); + } + } +} diff --git a/src/at/nanopenguin/mtcg/application/service/TradingService.java b/src/at/nanopenguin/mtcg/application/service/TradingService.java new file mode 100644 index 0000000..20f6f60 --- /dev/null +++ b/src/at/nanopenguin/mtcg/application/service/TradingService.java @@ -0,0 +1,28 @@ +package at.nanopenguin.mtcg.application.service; + +import at.nanopenguin.mtcg.http.HttpMethod; +import at.nanopenguin.mtcg.http.HttpRequest; +import at.nanopenguin.mtcg.http.HttpStatus; +import at.nanopenguin.mtcg.http.Response; +import com.fasterxml.jackson.core.JsonProcessingException; + +public class TradingService implements Service { + + @Override + public Response handleRequest(HttpRequest request) throws JsonProcessingException { + try { + if (request.getPath().split("/")[1].equals("tradings")) { + return switch (request.getMethod()) { + case GET -> new Response(HttpStatus.NOT_IMPLEMENTED); + case POST -> new Response(HttpStatus.NOT_IMPLEMENTED); // request.getPath().split("/").length > 2 => path variable + case DELETE -> new Response(HttpStatus.NOT_IMPLEMENTED); + default -> new Response(HttpStatus.NOT_FOUND); + }; + } + + return new Response(HttpStatus.NOT_FOUND); + } catch (ArrayIndexOutOfBoundsException e) { + return new Response(HttpStatus.BAD_REQUEST); + } + } +} \ No newline at end of file diff --git a/src/at/nanopenguin/mtcg/application/service/UserService.java b/src/at/nanopenguin/mtcg/application/service/UserService.java index d306ef5..e145b7a 100644 --- a/src/at/nanopenguin/mtcg/application/service/UserService.java +++ b/src/at/nanopenguin/mtcg/application/service/UserService.java @@ -1,6 +1,7 @@ package at.nanopenguin.mtcg.application.service; import at.nanopenguin.mtcg.application.service.schemas.UserCredentials; +import at.nanopenguin.mtcg.http.HttpMethod; import at.nanopenguin.mtcg.http.HttpRequest; import at.nanopenguin.mtcg.http.HttpStatus; import at.nanopenguin.mtcg.http.Response; @@ -14,16 +15,21 @@ public class UserService implements Service { @Override public Response handleRequest(HttpRequest request) throws JsonProcessingException { try { - if (request.getPath().split("/")[1].equals("sessions")) { + if (request.getPath().split("/")[1].equals("sessions") && request.getMethod() == HttpMethod.POST) { // response = login() - return new Response(HttpStatus.NOT_IMPLEMENTED); + return new Response(HttpStatus.NOT_IMPLEMENTED); // new ObjectMapper().readValue(request.getBody(), UserCredentials.class); } - return switch (request.getMethod()) { - case GET -> new Response(HttpStatus.NO_CONTENT); - case POST -> new Response(HttpStatus.NOT_IMPLEMENTED); - case PUT -> new Response(HttpStatus.NOT_IMPLEMENTED); - default -> new Response(HttpStatus.INTERNAL); - }; + + if (request.getPath().split("/")[1].equals("users")) { + return switch (request.getMethod()) { + case GET -> new Response(HttpStatus.NOT_IMPLEMENTED); + case POST -> new Response(HttpStatus.NOT_IMPLEMENTED); // new ObjectMapper().readValue(request.getBody(), UserCredentials.class); + case PUT -> new Response(HttpStatus.NOT_IMPLEMENTED); // new ObjectMapper().readValue(request.getBody(), UserData.class); + default -> new Response(HttpStatus.NOT_FOUND); + }; + } + + return new Response(HttpStatus.NOT_FOUND); } catch (ArrayIndexOutOfBoundsException e) { return new Response(HttpStatus.BAD_REQUEST);