From 9b5185298e9e721e6103ea8372ca29073913775c Mon Sep 17 00:00:00 2001 From: Janis Date: Tue, 21 Apr 2026 15:38:58 +0200 Subject: [PATCH] feat: NCS-53 changed IO to MicroService for easier scaling (#37) Reviewed-on: https://git.janis-eccarius.de/NowChess/NowChessSystems/pulls/37 Reviewed-by: Shahd Lala --- .idea/scala_compiler.xml | 2 +- CLAUDE.md | 1 + CLAUDE.original.md | 1 + bruno/{ => board}/draw/01 Offer Draw.bru | 0 bruno/{ => board}/draw/02 Accept Draw.bru | 0 bruno/{ => board}/draw/03 Decline Draw.bru | 0 bruno/{ => board}/draw/04 Claim Draw.bru | 0 bruno/{ => board}/draw/folder.bru | 0 bruno/{ => board}/export/01 Export FEN.bru | 0 bruno/{ => board}/export/02 Export PGN.bru | 0 bruno/{ => board}/export/folder.bru | 0 bruno/{ => board}/game/01 Create Game.bru | 0 bruno/{ => board}/game/02 Get Game.bru | 0 bruno/{ => board}/game/03 Stream Game.bru | 0 bruno/{ => board}/game/04 Resign.bru | 0 bruno/{ => board}/game/folder.bru | 0 bruno/{ => board}/import/01 Import FEN.bru | 0 bruno/{ => board}/import/02 Import PGN.bru | 0 bruno/{ => board}/import/folder.bru | 0 bruno/{ => board}/move/01 Make Move.bru | 0 bruno/{ => board}/move/02 Get Legal Moves.bru | 0 bruno/{ => board}/move/03 Undo Move.bru | 0 bruno/{ => board}/move/04 Redo Move.bru | 0 bruno/{ => board}/move/folder.bru | 0 bruno/environments/local.bru | 1 + bruno/io/export/01 Export FEN.bru | 100 ++++++++++++++++++ bruno/io/export/02 Export PGN.bru | 100 ++++++++++++++++++ bruno/io/export/folder.bru | 4 + bruno/io/import/01 Import FEN.bru | 22 ++++ bruno/io/import/02 Import PGN.bru | 22 ++++ bruno/io/import/folder.bru | 4 + build.gradle.kts | 8 +- lint | 3 + modules/core/build.gradle.kts | 1 + .../core/src/main/resources/application.yml | 11 +- .../chess/client/IoServiceClient.scala | 35 ++++++ .../nowchess/chess/config/JacksonConfig.scala | 7 ++ .../chess/config/NativeReflectionConfig.scala | 16 +++ .../chess/resource/GameResource.scala | 36 +++---- .../GameResourceIntegrationTest.scala | 23 +++- modules/io/build.gradle.kts | 44 +++++++- modules/io/src/main/resources/application.yml | 13 +++ .../io/json/SquareKeyDeserializer.scala | 8 ++ .../io/json/SquareKeySerializer.scala | 9 ++ .../io/service/config/JacksonConfig.scala | 24 +++++ .../config/NativeReflectionConfig.scala | 29 +++++ .../io/service/dto/ImportFenRequest.scala | 3 + .../io/service/dto/ImportPgnRequest.scala | 3 + .../nowchess/io/service/dto/IoErrorDto.scala | 3 + .../io/service/resource/IoResource.scala | 77 ++++++++++++++ .../io/json/SquareKeyDeserializerTest.scala | 62 +++++++++++ .../io/json/SquareKeySerializerTest.scala | 50 +++++++++ .../io/service/resource/IoResourceTest.scala | 81 ++++++++++++++ 53 files changed, 772 insertions(+), 31 deletions(-) rename bruno/{ => board}/draw/01 Offer Draw.bru (100%) rename bruno/{ => board}/draw/02 Accept Draw.bru (100%) rename bruno/{ => board}/draw/03 Decline Draw.bru (100%) rename bruno/{ => board}/draw/04 Claim Draw.bru (100%) rename bruno/{ => board}/draw/folder.bru (100%) rename bruno/{ => board}/export/01 Export FEN.bru (100%) rename bruno/{ => board}/export/02 Export PGN.bru (100%) rename bruno/{ => board}/export/folder.bru (100%) rename bruno/{ => board}/game/01 Create Game.bru (100%) rename bruno/{ => board}/game/02 Get Game.bru (100%) rename bruno/{ => board}/game/03 Stream Game.bru (100%) rename bruno/{ => board}/game/04 Resign.bru (100%) rename bruno/{ => board}/game/folder.bru (100%) rename bruno/{ => board}/import/01 Import FEN.bru (100%) rename bruno/{ => board}/import/02 Import PGN.bru (100%) rename bruno/{ => board}/import/folder.bru (100%) rename bruno/{ => board}/move/01 Make Move.bru (100%) rename bruno/{ => board}/move/02 Get Legal Moves.bru (100%) rename bruno/{ => board}/move/03 Undo Move.bru (100%) rename bruno/{ => board}/move/04 Redo Move.bru (100%) rename bruno/{ => board}/move/folder.bru (100%) create mode 100644 bruno/io/export/01 Export FEN.bru create mode 100644 bruno/io/export/02 Export PGN.bru create mode 100644 bruno/io/export/folder.bru create mode 100644 bruno/io/import/01 Import FEN.bru create mode 100644 bruno/io/import/02 Import PGN.bru create mode 100644 bruno/io/import/folder.bru create mode 100755 lint create mode 100644 modules/core/src/main/scala/de/nowchess/chess/client/IoServiceClient.scala create mode 100644 modules/io/src/main/resources/application.yml create mode 100644 modules/io/src/main/scala/de/nowchess/io/json/SquareKeyDeserializer.scala create mode 100644 modules/io/src/main/scala/de/nowchess/io/json/SquareKeySerializer.scala create mode 100644 modules/io/src/main/scala/de/nowchess/io/service/config/JacksonConfig.scala create mode 100644 modules/io/src/main/scala/de/nowchess/io/service/config/NativeReflectionConfig.scala create mode 100644 modules/io/src/main/scala/de/nowchess/io/service/dto/ImportFenRequest.scala create mode 100644 modules/io/src/main/scala/de/nowchess/io/service/dto/ImportPgnRequest.scala create mode 100644 modules/io/src/main/scala/de/nowchess/io/service/dto/IoErrorDto.scala create mode 100644 modules/io/src/main/scala/de/nowchess/io/service/resource/IoResource.scala create mode 100644 modules/io/src/test/scala/de/nowchess/io/json/SquareKeyDeserializerTest.scala create mode 100644 modules/io/src/test/scala/de/nowchess/io/json/SquareKeySerializerTest.scala create mode 100644 modules/io/src/test/scala/de/nowchess/io/service/resource/IoResourceTest.scala diff --git a/.idea/scala_compiler.xml b/.idea/scala_compiler.xml index a99d21e..5c60cfe 100644 --- a/.idea/scala_compiler.xml +++ b/.idea/scala_compiler.xml @@ -5,7 +5,7 @@