From b87ac7ef2bcd110d55f44231a95a1b40df288952 Mon Sep 17 00:00:00 2001 From: Alexis Drai Date: Tue, 13 Jun 2023 11:52:41 +0200 Subject: [PATCH] :ambulance: Allow Pokemong with no moves (#6) Co-authored-by: alexis.drai@etu.uca.fr Reviewed-on: https://codefirst.iut.uca.fr/git/alexis.drai/pokemong_api/pulls/6 --- README.md | 85 +++++++++++++++++- docs/DB.md | 2 +- docs/mcd.png | Bin 34422 -> 34515 bytes .../fr/uca/iut/services/PokemongService.java | 4 +- src/main/resources/META-INF/openapi.yaml | 1 - 5 files changed, 86 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c5eb299..deb2939 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,19 @@ # PoKeMoNg + * [About](#about) + + [🗂️ DCM](#-dcm) + + [🧬 UML Class diagram](#-uml-class-diagram) + + [🗺 NoSQL Schema Versioning Strategy](#-nosql-schema-versioning-strategy) + - [Schema Versioning Pattern](#schema-versioning-pattern) + - [Incremental Document Migration](#incremental-document-migration) + * [Prep steps](#prep-steps) + + [♨️ Java version](#-java-version) + + [🔐 Database connection](#-database-connection) + * [Running the application in dev mode](#running-the-application-in-dev-mode) + + [🏴‍☠️ SwaggerUI](#-swaggerui) + + [🩺 API testing tools](#-api-testing-tools) + + [📱 Front end (later)](#-front-end-later) + This is a [Quarkus](https://quarkus.io/) / [MongoDB](https://mongodb.com/) app for educational purposes. Instructions are [here](https://clientserveur-courses.clubinfo-clermont.fr/Notation.html) for reference. @@ -20,9 +34,76 @@ CRUD operations on `Pokemongs`, `Trainers`, `Moves`, and `Types`. ### 🧬 UML Class diagram -UML Class Diagram +```mermaid +classDiagram + +class Trainer { + + id: ObjectId + + name: string + + dob: date + + wins: int + + losses: int +} + +class Pokemong { + + id: ObjectId + + nickname: string? + + dob: date + + level: int + + pokedexId: int + + evoStage: int + + evoTrack: PokemongName[] +} + +class Move { + + id: ObjectId + + name: string + + category: MoveCategoryName + + power: int + + accuracy: int +} + +class Type { + + id: ObjectId + + name: TypeName + + weakAgainst: TypeName[] + + effectiveAgainst: TypeName[] +} + +class TypeName { + <> + + FIRE + + WATER + + ... +} + +class PokemongName { + <> + + BULBASAUR + + IVYSAUR + + ... +} + +class MoveCategoryName { + <> + + PHYSICAL + + SPECIAL + + STATUS +} + +Trainer --> "0..*" Trainer: pastOpponents +Trainer --> "0..*" Pokemong: pokemongs +Pokemong --> "0..1" Trainer: trainer +Pokemong --> "0..4" Move: moveSet +Pokemong --> "1..2" Type: types +Move --> Type: type + +Type ..> TypeName +Pokemong ..> PokemongName +Move ..> MoveCategoryName +``` -### NoSQL Schema Versioning Strategy +### 🗺 NoSQL Schema Versioning Strategy This application uses MongoDB, a NoSQL database, which provides flexibility in our data model. While this flexibility has diff --git a/docs/DB.md b/docs/DB.md index f7dfcb2..6ced79a 100644 --- a/docs/DB.md +++ b/docs/DB.md @@ -64,7 +64,7 @@ * => referencing - [x] pokemongs.types: one-to-few [1;2] * => embedding - - [x] pokemongs.moveSet: one-to-few [1;4] but will also need to be queried independently + - [x] pokemongs.moveSet: one-to-few [0;4] but will also need to be queried independently * => referencing + denormalizing on "name" - Move - [x] moves.type: one-to-one [1;1] diff --git a/docs/mcd.png b/docs/mcd.png index 20e353232df8ca3fbf271cb166e0cae893932c8b..5c35faf5d3d9c3f5ccd6f7c89b49d6f2e84c44b6 100644 GIT binary patch delta 30930 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 BjvD{~ diff --git a/src/main/java/fr/uca/iut/services/PokemongService.java b/src/main/java/fr/uca/iut/services/PokemongService.java index a3c0743..085d300 100644 --- a/src/main/java/fr/uca/iut/services/PokemongService.java +++ b/src/main/java/fr/uca/iut/services/PokemongService.java @@ -93,8 +93,8 @@ public class PokemongService extends GenericService { if (moveSet == null) { errors.add("pokemong move set was null"); } else { - if (moveSet.size() == 0 || moveSet.size() > 4) { - errors.add("pokemong move set was empty or had more than 4 moves"); + if (moveSet.size() > 4) { + errors.add("pokemong move set had more than 4 moves"); } for (PokemongMove move : moveSet) { String moveId = move.getId(); diff --git a/src/main/resources/META-INF/openapi.yaml b/src/main/resources/META-INF/openapi.yaml index ab5d825..ba0cc4b 100644 --- a/src/main/resources/META-INF/openapi.yaml +++ b/src/main/resources/META-INF/openapi.yaml @@ -344,7 +344,6 @@ components: $ref: '#/components/schemas/Type' moveSet: type: array - minItems: 1 maxItems: 4 items: $ref: '#/components/schemas/PokemongMove'