From c56c53ecdd5e0b89a07d3dd61a13ed083de12aea Mon Sep 17 00:00:00 2001 From: Triyan Mukherjee Date: Wed, 10 Jun 2026 00:44:50 +0530 Subject: [PATCH] docs: Regenerate openapi.yml spec --- openapi.yml | 61 ++++++++++++++++++++++++++++++++++++++- pokemon_v2/serializers.py | 59 +++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+), 1 deletion(-) diff --git a/openapi.yml b/openapi.yml index adfa39ceb..7bf8df9bb 100644 --- a/openapi.yml +++ b/openapi.yml @@ -4077,6 +4077,7 @@ components: - min_level - min_move_count - min_steps + - near_special_rock - needs_multiplayer - needs_overworld_rain - party_species @@ -4184,6 +4185,9 @@ components: type: integer format: int32 nullable: true + near_special_rock: + type: boolean + nullable: true needs_multiplayer: type: boolean nullable: true @@ -8152,7 +8156,62 @@ components: $ref: '#/components/schemas/PokemonStat' readOnly: true past_stats: - type: string + type: array + items: + type: object + required: + - generation + - stats + properties: + generation: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - generation-vi + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/generation/6/ + stats: + type: array + items: + type: object + required: + - base_stat + - effort + - stat + properties: + base_stat: + type: integer + format: int32 + examples: + - 45 + effort: + type: integer + format: int32 + examples: + - 0 + stat: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - speed + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/stat/6/ readOnly: true types: type: array diff --git a/pokemon_v2/serializers.py b/pokemon_v2/serializers.py index 288a46906..bb4de78a3 100644 --- a/pokemon_v2/serializers.py +++ b/pokemon_v2/serializers.py @@ -5092,6 +5092,65 @@ def get_past_pokemon_abilities(self, obj): return final_data + @extend_schema_field( + field={ + "type": "array", + "items": { + "type": "object", + "required": ["generation", "stats"], + "properties": { + "generation": { + "type": "object", + "required": ["name", "url"], + "properties": { + "name": {"type": "string", "examples": ["generation-vi"]}, + "url": { + "type": "string", + "format": "uri", + "examples": ["https://pokeapi.co/api/v2/generation/6/"], + }, + }, + }, + "stats": { + "type": "array", + "items": { + "type": "object", + "required": ["base_stat", "effort", "stat"], + "properties": { + "base_stat": { + "type": "integer", + "format": "int32", + "examples": [45], + }, + "effort": { + "type": "integer", + "format": "int32", + "examples": [0], + }, + "stat": { + "type": "object", + "required": ["name", "url"], + "properties": { + "name": { + "type": "string", + "examples": ["speed"], + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://pokeapi.co/api/v2/stat/6/" + ], + }, + }, + }, + }, + }, + }, + }, + }, + } + ) def get_past_pokemon_stats(self, obj): pokemon_past_stat_objects = PokemonStatPast.objects.filter(pokemon=obj) pokemon_past_stats = PokemonStatPastSerializer(