refactor(oas): add decorators to PokeapiCommonViewset class

This commit is contained in:
indyandie 2024-05-11 02:28:19 -05:00
parent 43e9fb5d2b
commit 434dadf6e0
No known key found for this signature in database
GPG key ID: FDB83C1AED3933E1
2 changed files with 108 additions and 262 deletions

View file

@ -34,6 +34,12 @@ paths:
description: The initial index from which to return the results. description: The initial index from which to return the results.
schema: schema:
type: integer type: integer
- in: query
name: q
schema:
type: string
description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\
Case-insensitive query applied on the `name` property. "
tags: tags:
- pokemon - pokemon
security: security:
@ -1501,12 +1507,6 @@ paths:
description: The initial index from which to return the results. description: The initial index from which to return the results.
schema: schema:
type: integer type: integer
- in: query
name: q
schema:
type: string
description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\
Case-insensitive query applied on the `name` property. "
tags: tags:
- location - location
security: security:
@ -1530,8 +1530,8 @@ paths:
- in: path - in: path
name: id name: id
schema: schema:
type: string type: integer
description: This parameter can be a string or an integer. description: A unique integer value identifying this location area.
required: true required: true
tags: tags:
- location - location

View file

@ -71,15 +71,12 @@ class NameOrIdRetrieval:
return resp return resp
class PokeapiCommonViewset( q_query_string_parameter = OpenApiParameter(
ListOrDetailSerialRelation, NameOrIdRetrieval, viewsets.ReadOnlyModelViewSet name="q",
): description="> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive query applied on the `name` property. ",
pass location=OpenApiParameter.QUERY,
type=OpenApiTypes.STR,
)
##########
# APIS #
##########
retrieve_path_parameter = OpenApiParameter( retrieve_path_parameter = OpenApiParameter(
name="id", name="id",
@ -89,12 +86,21 @@ retrieve_path_parameter = OpenApiParameter(
required=True, required=True,
) )
q_query_string_parameter = OpenApiParameter(
name="q", @extend_schema_view(list=extend_schema(parameters=[q_query_string_parameter]))
description="> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive query applied on the `name` property. ", class PokeapiCommonViewset(
location=OpenApiParameter.QUERY, ListOrDetailSerialRelation, NameOrIdRetrieval, viewsets.ReadOnlyModelViewSet
type=OpenApiTypes.STR, ):
) @extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
pass
##########
# APIS #
##########
@extend_schema( @extend_schema(
@ -106,10 +112,6 @@ class AbilityResource(PokeapiCommonViewset):
serializer_class = AbilityDetailSerializer serializer_class = AbilityDetailSerializer
list_serializer_class = AbilitySummarySerializer list_serializer_class = AbilitySummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokémon. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater detail.", description="Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokémon. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater detail.",
@ -117,17 +119,15 @@ class AbilityResource(PokeapiCommonViewset):
summary="Get a berry", summary="Get a berry",
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List berries", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List berries",
)
) )
class BerryResource(PokeapiCommonViewset): class BerryResource(PokeapiCommonViewset):
queryset = Berry.objects.all() queryset = Berry.objects.all()
serializer_class = BerryDetailSerializer serializer_class = BerryDetailSerializer
list_serializer_class = BerrySummarySerializer list_serializer_class = BerrySummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) for greater detail.", description="Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) for greater detail.",
@ -136,7 +136,7 @@ class BerryResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List berry firmness", parameters=[q_query_string_parameter] summary="List berry firmness",
) )
) )
class BerryFirmnessResource(PokeapiCommonViewset): class BerryFirmnessResource(PokeapiCommonViewset):
@ -144,10 +144,6 @@ class BerryFirmnessResource(PokeapiCommonViewset):
serializer_class = BerryFirmnessDetailSerializer serializer_class = BerryFirmnessDetailSerializer
list_serializer_class = BerryFirmnessSummarySerializer list_serializer_class = BerryFirmnessSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor) for greater detail.", description="Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor) for greater detail.",
@ -156,7 +152,7 @@ class BerryFirmnessResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List berry flavors", parameters=[q_query_string_parameter] summary="List berry flavors",
) )
) )
class BerryFlavorResource(PokeapiCommonViewset): class BerryFlavorResource(PokeapiCommonViewset):
@ -164,10 +160,6 @@ class BerryFlavorResource(PokeapiCommonViewset):
serializer_class = BerryFlavorDetailSerializer serializer_class = BerryFlavorDetailSerializer
list_serializer_class = BerryFlavorSummarySerializer list_serializer_class = BerryFlavorSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Characteristics indicate which stat contains a Pokémon's highest IV. A Pokémon's Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic) for greater detail.", description="Characteristics indicate which stat contains a Pokémon's highest IV. A Pokémon's Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic) for greater detail.",
@ -176,7 +168,7 @@ class BerryFlavorResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List charecterictics", parameters=[q_query_string_parameter] summary="List charecterictics",
) )
) )
class CharacteristicResource(PokeapiCommonViewset): class CharacteristicResource(PokeapiCommonViewset):
@ -184,10 +176,6 @@ class CharacteristicResource(PokeapiCommonViewset):
serializer_class = CharacteristicDetailSerializer serializer_class = CharacteristicDetailSerializer
list_serializer_class = CharacteristicSummarySerializer list_serializer_class = CharacteristicSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Contest effects refer to the effects of moves when used in contests.", description="Contest effects refer to the effects of moves when used in contests.",
@ -196,7 +184,7 @@ class CharacteristicResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List contest effects", parameters=[q_query_string_parameter] summary="List contest effects",
) )
) )
class ContestEffectResource(PokeapiCommonViewset): class ContestEffectResource(PokeapiCommonViewset):
@ -204,10 +192,6 @@ class ContestEffectResource(PokeapiCommonViewset):
serializer_class = ContestEffectDetailSerializer serializer_class = ContestEffectDetailSerializer
list_serializer_class = ContestEffectSummarySerializer list_serializer_class = ContestEffectSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Contest types are categories judges used to weigh a Pokémon's condition in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition) for greater detail.", description="Contest types are categories judges used to weigh a Pokémon's condition in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition) for greater detail.",
@ -216,7 +200,7 @@ class ContestEffectResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List contest types", parameters=[q_query_string_parameter] summary="List contest types",
) )
) )
class ContestTypeResource(PokeapiCommonViewset): class ContestTypeResource(PokeapiCommonViewset):
@ -224,10 +208,6 @@ class ContestTypeResource(PokeapiCommonViewset):
serializer_class = ContestTypeDetailSerializer serializer_class = ContestTypeDetailSerializer
list_serializer_class = ContestTypeSummarySerializer list_serializer_class = ContestTypeSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Egg Groups are categories which determine which Pokémon are able to interbreed. Pokémon may belong to either one or two Egg Groups. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater detail.", description="Egg Groups are categories which determine which Pokémon are able to interbreed. Pokémon may belong to either one or two Egg Groups. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater detail.",
@ -235,17 +215,15 @@ class ContestTypeResource(PokeapiCommonViewset):
tags=["pokemon"], tags=["pokemon"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List egg groups", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List egg groups",
)
) )
class EggGroupResource(PokeapiCommonViewset): class EggGroupResource(PokeapiCommonViewset):
queryset = EggGroup.objects.all() queryset = EggGroup.objects.all()
serializer_class = EggGroupDetailSerializer serializer_class = EggGroupDetailSerializer
list_serializer_class = EggGroupSummarySerializer list_serializer_class = EggGroupSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Conditions which affect what pokemon might appear in the wild, e.g., day or night.", description="Conditions which affect what pokemon might appear in the wild, e.g., day or night.",
@ -254,7 +232,7 @@ class EggGroupResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List encounter conditions", parameters=[q_query_string_parameter] summary="List encounter conditions",
) )
) )
class EncounterConditionResource(PokeapiCommonViewset): class EncounterConditionResource(PokeapiCommonViewset):
@ -262,10 +240,6 @@ class EncounterConditionResource(PokeapiCommonViewset):
serializer_class = EncounterConditionDetailSerializer serializer_class = EncounterConditionDetailSerializer
list_serializer_class = EncounterConditionSummarySerializer list_serializer_class = EncounterConditionSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night.", description="Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night.",
@ -274,7 +248,7 @@ class EncounterConditionResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List encounter condition values", parameters=[q_query_string_parameter] summary="List encounter condition values",
) )
) )
class EncounterConditionValueResource(PokeapiCommonViewset): class EncounterConditionValueResource(PokeapiCommonViewset):
@ -282,10 +256,6 @@ class EncounterConditionValueResource(PokeapiCommonViewset):
serializer_class = EncounterConditionValueDetailSerializer serializer_class = EncounterConditionValueDetailSerializer
list_serializer_class = EncounterConditionValueSummarySerializer list_serializer_class = EncounterConditionValueSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail.", description="Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail.",
@ -294,7 +264,7 @@ class EncounterConditionValueResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List encounter methods", parameters=[q_query_string_parameter] summary="List encounter methods",
) )
) )
class EncounterMethodResource(PokeapiCommonViewset): class EncounterMethodResource(PokeapiCommonViewset):
@ -302,10 +272,6 @@ class EncounterMethodResource(PokeapiCommonViewset):
serializer_class = EncounterMethodDetailSerializer serializer_class = EncounterMethodDetailSerializer
list_serializer_class = EncounterMethodSummarySerializer list_serializer_class = EncounterMethodSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution conditions for each as well as Pokémon they can evolve into up through the hierarchy.", description="Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution conditions for each as well as Pokémon they can evolve into up through the hierarchy.",
@ -314,7 +280,7 @@ class EncounterMethodResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List evolution chains", parameters=[q_query_string_parameter] summary="List evolution chains",
) )
) )
class EvolutionChainResource(PokeapiCommonViewset): class EvolutionChainResource(PokeapiCommonViewset):
@ -322,10 +288,6 @@ class EvolutionChainResource(PokeapiCommonViewset):
serializer_class = EvolutionChainDetailSerializer serializer_class = EvolutionChainDetailSerializer
list_serializer_class = EvolutionChainSummarySerializer list_serializer_class = EvolutionChainSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Evolution triggers are the events and conditions that cause a Pokémon to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) for greater detail.", description="Evolution triggers are the events and conditions that cause a Pokémon to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) for greater detail.",
@ -334,7 +296,7 @@ class EvolutionChainResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List evolution triggers", parameters=[q_query_string_parameter] summary="List evolution triggers",
) )
) )
class EvolutionTriggerResource(PokeapiCommonViewset): class EvolutionTriggerResource(PokeapiCommonViewset):
@ -342,10 +304,6 @@ class EvolutionTriggerResource(PokeapiCommonViewset):
serializer_class = EvolutionTriggerDetailSerializer serializer_class = EvolutionTriggerDetailSerializer
list_serializer_class = EvolutionTriggerSummarySerializer list_serializer_class = EvolutionTriggerSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each generation, a new set of Pokémon, Moves, Abilities and Types that did not exist in the previous generation are released.", description="A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each generation, a new set of Pokémon, Moves, Abilities and Types that did not exist in the previous generation are released.",
@ -353,17 +311,15 @@ class EvolutionTriggerResource(PokeapiCommonViewset):
tags=["games"], tags=["games"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List genrations", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List genrations",
)
) )
class GenerationResource(PokeapiCommonViewset): class GenerationResource(PokeapiCommonViewset):
queryset = Generation.objects.all() queryset = Generation.objects.all()
serializer_class = GenerationDetailSerializer serializer_class = GenerationDetailSerializer
list_serializer_class = GenerationSummarySerializer list_serializer_class = GenerationSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Genders were introduced in Generation II for the purposes of breeding Pokémon but can also result in visual differences or even different evolutionary lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender) for greater detail.", description="Genders were introduced in Generation II for the purposes of breeding Pokémon but can also result in visual differences or even different evolutionary lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender) for greater detail.",
@ -371,17 +327,15 @@ class GenerationResource(PokeapiCommonViewset):
tags=["pokemon"], tags=["pokemon"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List genders", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List genders",
)
) )
class GenderResource(PokeapiCommonViewset): class GenderResource(PokeapiCommonViewset):
queryset = Gender.objects.all() queryset = Gender.objects.all()
serializer_class = GenderDetailSerializer serializer_class = GenderDetailSerializer
list_serializer_class = GenderSummarySerializer list_serializer_class = GenderSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Growth rates are the speed with which Pokémon gain levels through experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience) for greater detail.", description="Growth rates are the speed with which Pokémon gain levels through experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience) for greater detail.",
@ -390,7 +344,7 @@ class GenderResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List growth rates", parameters=[q_query_string_parameter] summary="List growth rates",
) )
) )
class GrowthRateResource(PokeapiCommonViewset): class GrowthRateResource(PokeapiCommonViewset):
@ -398,10 +352,6 @@ class GrowthRateResource(PokeapiCommonViewset):
serializer_class = GrowthRateDetailSerializer serializer_class = GrowthRateDetailSerializer
list_serializer_class = GrowthRateSummarySerializer list_serializer_class = GrowthRateSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokémon, or to access a new area.", description="An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokémon, or to access a new area.",
@ -409,17 +359,15 @@ class GrowthRateResource(PokeapiCommonViewset):
tags=["items"], tags=["items"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List items", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List items",
)
) )
class ItemResource(PokeapiCommonViewset): class ItemResource(PokeapiCommonViewset):
queryset = Item.objects.all() queryset = Item.objects.all()
serializer_class = ItemDetailSerializer serializer_class = ItemDetailSerializer
list_serializer_class = ItemSummarySerializer list_serializer_class = ItemSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Item categories determine where items will be placed in the players bag.", description="Item categories determine where items will be placed in the players bag.",
@ -428,7 +376,7 @@ class ItemResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List item categories", parameters=[q_query_string_parameter] summary="List item categories",
) )
) )
class ItemCategoryResource(PokeapiCommonViewset): class ItemCategoryResource(PokeapiCommonViewset):
@ -436,10 +384,6 @@ class ItemCategoryResource(PokeapiCommonViewset):
serializer_class = ItemCategoryDetailSerializer serializer_class = ItemCategoryDetailSerializer
list_serializer_class = ItemCategorySummarySerializer list_serializer_class = ItemCategorySummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description='Item attributes define particular aspects of items, e.g."usable in battle" or "consumable".', description='Item attributes define particular aspects of items, e.g."usable in battle" or "consumable".',
@ -448,7 +392,7 @@ class ItemCategoryResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List item attributes", parameters=[q_query_string_parameter] summary="List item attributes",
) )
) )
class ItemAttributeResource(PokeapiCommonViewset): class ItemAttributeResource(PokeapiCommonViewset):
@ -456,10 +400,6 @@ class ItemAttributeResource(PokeapiCommonViewset):
serializer_class = ItemAttributeDetailSerializer serializer_class = ItemAttributeDetailSerializer
list_serializer_class = ItemAttributeSummarySerializer list_serializer_class = ItemAttributeSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description='The various effects of the move"Fling" when used with different items.', description='The various effects of the move"Fling" when used with different items.',
@ -468,7 +408,7 @@ class ItemAttributeResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List item fling effects", parameters=[q_query_string_parameter] summary="List item fling effects",
) )
) )
class ItemFlingEffectResource(PokeapiCommonViewset): class ItemFlingEffectResource(PokeapiCommonViewset):
@ -476,10 +416,6 @@ class ItemFlingEffectResource(PokeapiCommonViewset):
serializer_class = ItemFlingEffectDetailSerializer serializer_class = ItemFlingEffectDetailSerializer
list_serializer_class = ItemFlingEffectSummarySerializer list_serializer_class = ItemFlingEffectSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Pockets within the players bag used for storing items by category.", description="Pockets within the players bag used for storing items by category.",
@ -488,7 +424,7 @@ class ItemFlingEffectResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List item pockets", parameters=[q_query_string_parameter] summary="List item pockets",
) )
) )
class ItemPocketResource(PokeapiCommonViewset): class ItemPocketResource(PokeapiCommonViewset):
@ -496,10 +432,6 @@ class ItemPocketResource(PokeapiCommonViewset):
serializer_class = ItemPocketDetailSerializer serializer_class = ItemPocketDetailSerializer
list_serializer_class = ItemPocketSummarySerializer list_serializer_class = ItemPocketSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Languages for translations of API resource information.", description="Languages for translations of API resource information.",
@ -507,17 +439,15 @@ class ItemPocketResource(PokeapiCommonViewset):
tags=["utility"], tags=["utility"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List languages", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List languages",
)
) )
class LanguageResource(PokeapiCommonViewset): class LanguageResource(PokeapiCommonViewset):
queryset = Language.objects.all() queryset = Language.objects.all()
serializer_class = LanguageDetailSerializer serializer_class = LanguageDetailSerializer
list_serializer_class = LanguageSummarySerializer list_serializer_class = LanguageSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes.", description="Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes.",
@ -525,17 +455,15 @@ class LanguageResource(PokeapiCommonViewset):
tags=["location"], tags=["location"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List locations", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List locations",
)
) )
class LocationResource(PokeapiCommonViewset): class LocationResource(PokeapiCommonViewset):
queryset = Location.objects.all() queryset = Location.objects.all()
serializer_class = LocationDetailSerializer serializer_class = LocationDetailSerializer
list_serializer_class = LocationSummarySerializer list_serializer_class = LocationSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokémon encounters.", description="Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokémon encounters.",
@ -544,7 +472,7 @@ class LocationResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List location areas", parameters=[q_query_string_parameter] summary="List location areas",
) )
) )
class LocationAreaResource(ListOrDetailSerialRelation, viewsets.ReadOnlyModelViewSet): class LocationAreaResource(ListOrDetailSerialRelation, viewsets.ReadOnlyModelViewSet):
@ -552,10 +480,6 @@ class LocationAreaResource(ListOrDetailSerialRelation, viewsets.ReadOnlyModelVie
serializer_class = LocationAreaDetailSerializer serializer_class = LocationAreaDetailSerializer
list_serializer_class = LocationAreaSummarySerializer list_serializer_class = LocationAreaSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine.", description="Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine.",
@ -563,17 +487,15 @@ class LocationAreaResource(ListOrDetailSerialRelation, viewsets.ReadOnlyModelVie
tags=["machines"], tags=["machines"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List machines", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List machines",
)
) )
class MachineResource(PokeapiCommonViewset): class MachineResource(PokeapiCommonViewset):
queryset = Machine.objects.all() queryset = Machine.objects.all()
serializer_class = MachineDetailSerializer serializer_class = MachineDetailSerializer
list_serializer_class = MachineSummarySerializer list_serializer_class = MachineSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including those learned by Hidden Machine) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas.", description="Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including those learned by Hidden Machine) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas.",
@ -581,17 +503,15 @@ class MachineResource(PokeapiCommonViewset):
tags=["moves"], tags=["moves"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List moves", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List moves",
)
) )
class MoveResource(PokeapiCommonViewset): class MoveResource(PokeapiCommonViewset):
queryset = Move.objects.all() queryset = Move.objects.all()
serializer_class = MoveDetailSerializer serializer_class = MoveDetailSerializer
list_serializer_class = MoveSummarySerializer list_serializer_class = MoveSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Damage classes moves can have, e.g. physical, special, or non-damaging.", description="Damage classes moves can have, e.g. physical, special, or non-damaging.",
@ -600,7 +520,7 @@ class MoveResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List move damage classes", parameters=[q_query_string_parameter] summary="List move damage classes",
) )
) )
class MoveDamageClassResource(PokeapiCommonViewset): class MoveDamageClassResource(PokeapiCommonViewset):
@ -608,10 +528,6 @@ class MoveDamageClassResource(PokeapiCommonViewset):
serializer_class = MoveDamageClassDetailSerializer serializer_class = MoveDamageClassDetailSerializer
list_serializer_class = MoveDamageClassSummarySerializer list_serializer_class = MoveDamageClassSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Move Ailments are status conditions caused by moves used during battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) for greater detail.", description="Move Ailments are status conditions caused by moves used during battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) for greater detail.",
@ -620,7 +536,7 @@ class MoveDamageClassResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List move meta ailments", parameters=[q_query_string_parameter] summary="List move meta ailments",
) )
) )
class MoveMetaAilmentResource(PokeapiCommonViewset): class MoveMetaAilmentResource(PokeapiCommonViewset):
@ -628,10 +544,6 @@ class MoveMetaAilmentResource(PokeapiCommonViewset):
serializer_class = MoveMetaAilmentDetailSerializer serializer_class = MoveMetaAilmentDetailSerializer
list_serializer_class = MoveMetaAilmentSummarySerializer list_serializer_class = MoveMetaAilmentSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) for greater detail.", description="Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) for greater detail.",
@ -640,7 +552,7 @@ class MoveMetaAilmentResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List move battle styles", parameters=[q_query_string_parameter] summary="List move battle styles",
) )
) )
class MoveBattleStyleResource(PokeapiCommonViewset): class MoveBattleStyleResource(PokeapiCommonViewset):
@ -648,10 +560,6 @@ class MoveBattleStyleResource(PokeapiCommonViewset):
serializer_class = MoveBattleStyleDetailSerializer serializer_class = MoveBattleStyleDetailSerializer
list_serializer_class = MoveBattleStyleSummarySerializer list_serializer_class = MoveBattleStyleSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Very general categories that loosely group move effects.", description="Very general categories that loosely group move effects.",
@ -660,7 +568,7 @@ class MoveBattleStyleResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List move meta categories", parameters=[q_query_string_parameter] summary="List move meta categories",
) )
) )
class MoveMetaCategoryResource(PokeapiCommonViewset): class MoveMetaCategoryResource(PokeapiCommonViewset):
@ -668,10 +576,6 @@ class MoveMetaCategoryResource(PokeapiCommonViewset):
serializer_class = MoveMetaCategoryDetailSerializer serializer_class = MoveMetaCategoryDetailSerializer
list_serializer_class = MoveMetaCategorySummarySerializer list_serializer_class = MoveMetaCategorySummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Methods by which Pokémon can learn moves.", description="Methods by which Pokémon can learn moves.",
@ -680,7 +584,7 @@ class MoveMetaCategoryResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List move learn methods", parameters=[q_query_string_parameter] summary="List move learn methods",
) )
) )
class MoveLearnMethodResource(PokeapiCommonViewset): class MoveLearnMethodResource(PokeapiCommonViewset):
@ -688,10 +592,6 @@ class MoveLearnMethodResource(PokeapiCommonViewset):
serializer_class = MoveLearnMethodDetailSerializer serializer_class = MoveLearnMethodDetailSerializer
list_serializer_class = MoveLearnMethodSummarySerializer list_serializer_class = MoveLearnMethodSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves.", description="Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves.",
@ -700,7 +600,7 @@ class MoveLearnMethodResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List move targets", parameters=[q_query_string_parameter] summary="List move targets",
) )
) )
class MoveTargetResource(PokeapiCommonViewset): class MoveTargetResource(PokeapiCommonViewset):
@ -708,10 +608,6 @@ class MoveTargetResource(PokeapiCommonViewset):
serializer_class = MoveTargetDetailSerializer serializer_class = MoveTargetDetailSerializer
list_serializer_class = MoveTargetSummarySerializer list_serializer_class = MoveTargetSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Natures influence how a Pokémon's stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature) for greater detail.", description="Natures influence how a Pokémon's stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature) for greater detail.",
@ -719,17 +615,15 @@ class MoveTargetResource(PokeapiCommonViewset):
tags=["pokemon"], tags=["pokemon"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List natures", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List natures",
)
) )
class NatureResource(PokeapiCommonViewset): class NatureResource(PokeapiCommonViewset):
queryset = Nature.objects.all() queryset = Nature.objects.all()
serializer_class = NatureDetailSerializer serializer_class = NatureDetailSerializer
list_serializer_class = NatureSummarySerializer list_serializer_class = NatureSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Areas used for grouping Pokémon encounters in Pal Park. They're like habitats that are specific to Pal Park.", description="Areas used for grouping Pokémon encounters in Pal Park. They're like habitats that are specific to Pal Park.",
@ -738,7 +632,7 @@ class NatureResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List pal park areas", parameters=[q_query_string_parameter] summary="List pal park areas",
) )
) )
class PalParkAreaResource(PokeapiCommonViewset): class PalParkAreaResource(PokeapiCommonViewset):
@ -746,10 +640,6 @@ class PalParkAreaResource(PokeapiCommonViewset):
serializer_class = PalParkAreaDetailSerializer serializer_class = PalParkAreaDetailSerializer
list_serializer_class = PalParkAreaSummarySerializer list_serializer_class = PalParkAreaSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Pokeathlon Stats are different attributes of a Pokémon's performance in Pokéathlons. In Pokéathlons, competitions happen on different courses; one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) for greater detail.", description="Pokeathlon Stats are different attributes of a Pokémon's performance in Pokéathlons. In Pokéathlons, competitions happen on different courses; one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) for greater detail.",
@ -758,7 +648,7 @@ class PalParkAreaResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List pokeathlon stats", parameters=[q_query_string_parameter] summary="List pokeathlon stats",
) )
) )
class PokeathlonStatResource(PokeapiCommonViewset): class PokeathlonStatResource(PokeapiCommonViewset):
@ -766,10 +656,6 @@ class PokeathlonStatResource(PokeapiCommonViewset):
serializer_class = PokeathlonStatDetailSerializer serializer_class = PokeathlonStatDetailSerializer
list_serializer_class = PokeathlonStatSummarySerializer list_serializer_class = PokeathlonStatSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="A Pokédex is a handheld electronic encyclopedia device; one which is capable of recording and retaining information of the various Pokémon in a given region with the exception of the national dex and some smaller dexes related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex) for greater detail.", description="A Pokédex is a handheld electronic encyclopedia device; one which is capable of recording and retaining information of the various Pokémon in a given region with the exception of the national dex and some smaller dexes related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex) for greater detail.",
@ -777,17 +663,15 @@ class PokeathlonStatResource(PokeapiCommonViewset):
tags=["games"], tags=["games"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List pokedex", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List pokedex",
)
) )
class PokedexResource(PokeapiCommonViewset): class PokedexResource(PokeapiCommonViewset):
queryset = Pokedex.objects.all() queryset = Pokedex.objects.all()
serializer_class = PokedexDetailSerializer serializer_class = PokedexDetailSerializer
list_serializer_class = PokedexSummarySerializer list_serializer_class = PokedexSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Colors used for sorting Pokémon in a Pokédex. The color listed in the Pokédex is usually the color most apparent or covering each Pokémon's body. No orange category exists; Pokémon that are primarily orange are listed as red or brown.", description="Colors used for sorting Pokémon in a Pokédex. The color listed in the Pokédex is usually the color most apparent or covering each Pokémon's body. No orange category exists; Pokémon that are primarily orange are listed as red or brown.",
@ -796,7 +680,7 @@ class PokedexResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List pokemon colors", parameters=[q_query_string_parameter] summary="List pokemon colors",
) )
) )
class PokemonColorResource(PokeapiCommonViewset): class PokemonColorResource(PokeapiCommonViewset):
@ -804,10 +688,6 @@ class PokemonColorResource(PokeapiCommonViewset):
serializer_class = PokemonColorDetailSerializer serializer_class = PokemonColorDetailSerializer
list_serializer_class = PokemonColorSummarySerializer list_serializer_class = PokemonColorSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Some Pokémon may appear in one of multiple, visually different forms. These differences are purely cosmetic. For variations within a Pokémon species, which do differ in more than just visuals, the 'Pokémon' entity is used to represent such a variety.", description="Some Pokémon may appear in one of multiple, visually different forms. These differences are purely cosmetic. For variations within a Pokémon species, which do differ in more than just visuals, the 'Pokémon' entity is used to represent such a variety.",
@ -816,7 +696,7 @@ class PokemonColorResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List pokemon forms", parameters=[q_query_string_parameter] summary="List pokemon forms",
) )
) )
class PokemonFormResource(PokeapiCommonViewset): class PokemonFormResource(PokeapiCommonViewset):
@ -824,10 +704,6 @@ class PokemonFormResource(PokeapiCommonViewset):
serializer_class = PokemonFormDetailSerializer serializer_class = PokemonFormDetailSerializer
list_serializer_class = PokemonFormSummarySerializer list_serializer_class = PokemonFormSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Habitats are generally different terrain Pokémon can be found in but can also be areas designated for rare or legendary Pokémon.", description="Habitats are generally different terrain Pokémon can be found in but can also be areas designated for rare or legendary Pokémon.",
@ -836,7 +712,7 @@ class PokemonFormResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List pokemom habitas", parameters=[q_query_string_parameter] summary="List pokemom habitas",
) )
) )
class PokemonHabitatResource(PokeapiCommonViewset): class PokemonHabitatResource(PokeapiCommonViewset):
@ -844,10 +720,6 @@ class PokemonHabitatResource(PokeapiCommonViewset):
serializer_class = PokemonHabitatDetailSerializer serializer_class = PokemonHabitatDetailSerializer
list_serializer_class = PokemonHabitatSummarySerializer list_serializer_class = PokemonHabitatSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Shapes used for sorting Pokémon in a Pokédex.", description="Shapes used for sorting Pokémon in a Pokédex.",
@ -856,7 +728,7 @@ class PokemonHabitatResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List pokemon shapes", parameters=[q_query_string_parameter] summary="List pokemon shapes",
) )
) )
class PokemonShapeResource(PokeapiCommonViewset): class PokemonShapeResource(PokeapiCommonViewset):
@ -864,10 +736,6 @@ class PokemonShapeResource(PokeapiCommonViewset):
serializer_class = PokemonShapeDetailSerializer serializer_class = PokemonShapeDetailSerializer
list_serializer_class = PokemonShapeSummarySerializer list_serializer_class = PokemonShapeSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and trained by battling with other Pokémon. Each Pokémon belongs to a specific species but may take on a variant which makes it differ from other Pokémon of the same species, such as base stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) for greater detail.", description="Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and trained by battling with other Pokémon. Each Pokémon belongs to a specific species but may take on a variant which makes it differ from other Pokémon of the same species, such as base stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) for greater detail.",
@ -875,17 +743,15 @@ class PokemonShapeResource(PokeapiCommonViewset):
tags=["pokemon"], tags=["pokemon"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List pokemon", parameters=[q_query_string_parameter]), list=extend_schema(
summary="List pokemon",
),
) )
class PokemonResource(PokeapiCommonViewset): class PokemonResource(PokeapiCommonViewset):
queryset = Pokemon.objects.all() queryset = Pokemon.objects.all()
serializer_class = PokemonDetailSerializer serializer_class = PokemonDetailSerializer
list_serializer_class = PokemonSummarySerializer list_serializer_class = PokemonSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="A Pokémon Species forms the basis for at least one Pokémon. Attributes of a Pokémon species are shared across all varieties of Pokémon within the species. A good example is Wormadam; Wormadam is the species which can be found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant.", description="A Pokémon Species forms the basis for at least one Pokémon. Attributes of a Pokémon species are shared across all varieties of Pokémon within the species. A good example is Wormadam; Wormadam is the species which can be found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant.",
@ -894,7 +760,7 @@ class PokemonResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List pokemon species", parameters=[q_query_string_parameter] summary="List pokemon species",
) )
) )
class PokemonSpeciesResource(PokeapiCommonViewset): class PokemonSpeciesResource(PokeapiCommonViewset):
@ -902,10 +768,6 @@ class PokemonSpeciesResource(PokeapiCommonViewset):
serializer_class = PokemonSpeciesDetailSerializer serializer_class = PokemonSpeciesDetailSerializer
list_serializer_class = PokemonSpeciesSummarySerializer list_serializer_class = PokemonSpeciesSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="A region is an organized area of the Pokémon world. Most often, the main difference between regions is the species of Pokémon that can be encountered within them.", description="A region is an organized area of the Pokémon world. Most often, the main difference between regions is the species of Pokémon that can be encountered within them.",
@ -913,17 +775,15 @@ class PokemonSpeciesResource(PokeapiCommonViewset):
tags=["location"], tags=["location"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List regions", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List regions",
)
) )
class RegionResource(PokeapiCommonViewset): class RegionResource(PokeapiCommonViewset):
queryset = Region.objects.all() queryset = Region.objects.all()
serializer_class = RegionDetailSerializer serializer_class = RegionDetailSerializer
list_serializer_class = RegionSummarySerializer list_serializer_class = RegionSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Stats determine certain aspects of battles. Each Pokémon has a value for each stat which grows as they gain levels and can be altered momentarily by effects in battles.", description="Stats determine certain aspects of battles. Each Pokémon has a value for each stat which grows as they gain levels and can be altered momentarily by effects in battles.",
@ -931,17 +791,15 @@ class RegionResource(PokeapiCommonViewset):
tags=["pokemon"], tags=["pokemon"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List stats", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List stats",
)
) )
class StatResource(PokeapiCommonViewset): class StatResource(PokeapiCommonViewset):
queryset = Stat.objects.all() queryset = Stat.objects.all()
serializer_class = StatDetailSerializer serializer_class = StatDetailSerializer
list_serializer_class = StatSummarySerializer list_serializer_class = StatSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Super contest effects refer to the effects of moves when used in super contests.", description="Super contest effects refer to the effects of moves when used in super contests.",
@ -950,7 +808,7 @@ class StatResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List super contest effects", parameters=[q_query_string_parameter] summary="List super contest effects",
) )
) )
class SuperContestEffectResource(PokeapiCommonViewset): class SuperContestEffectResource(PokeapiCommonViewset):
@ -958,10 +816,6 @@ class SuperContestEffectResource(PokeapiCommonViewset):
serializer_class = SuperContestEffectDetailSerializer serializer_class = SuperContestEffectDetailSerializer
list_serializer_class = SuperContestEffectSummarySerializer list_serializer_class = SuperContestEffectSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is super effective against, which types of Pokémon it is not very effective against, and which types of Pokémon it is completely ineffective against.", description="Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is super effective against, which types of Pokémon it is not very effective against, and which types of Pokémon it is completely ineffective against.",
@ -969,17 +823,15 @@ class SuperContestEffectResource(PokeapiCommonViewset):
tags=["pokemon"], tags=["pokemon"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List types", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List types",
)
) )
class TypeResource(PokeapiCommonViewset): class TypeResource(PokeapiCommonViewset):
queryset = Type.objects.all() queryset = Type.objects.all()
serializer_class = TypeDetailSerializer serializer_class = TypeDetailSerializer
list_serializer_class = TypeSummarySerializer list_serializer_class = TypeSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Versions of the games, e.g., Red, Blue or Yellow.", description="Versions of the games, e.g., Red, Blue or Yellow.",
@ -987,17 +839,15 @@ class TypeResource(PokeapiCommonViewset):
tags=["games"], tags=["games"],
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema(summary="List versions", parameters=[q_query_string_parameter]) list=extend_schema(
summary="List versions",
)
) )
class VersionResource(PokeapiCommonViewset): class VersionResource(PokeapiCommonViewset):
queryset = Version.objects.all() queryset = Version.objects.all()
serializer_class = VersionDetailSerializer serializer_class = VersionDetailSerializer
list_serializer_class = VersionSummarySerializer list_serializer_class = VersionSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Version groups categorize highly similar versions of the games.", description="Version groups categorize highly similar versions of the games.",
@ -1006,7 +856,7 @@ class VersionResource(PokeapiCommonViewset):
) )
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
summary="List version groups", parameters=[q_query_string_parameter] summary="List version groups",
) )
) )
class VersionGroupResource(PokeapiCommonViewset): class VersionGroupResource(PokeapiCommonViewset):
@ -1014,10 +864,6 @@ class VersionGroupResource(PokeapiCommonViewset):
serializer_class = VersionGroupDetailSerializer serializer_class = VersionGroupDetailSerializer
list_serializer_class = VersionGroupSummarySerializer list_serializer_class = VersionGroupSummarySerializer
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
@extend_schema( @extend_schema(
description="Handles Pokemon Encounters as a sub-resource.", description="Handles Pokemon Encounters as a sub-resource.",