Serializer for the Type resource
| 2347 | |
| 2348 | |
| 2349 | class TypeDetailSerializer(serializers.ModelSerializer): |
| 2350 | """ |
| 2351 | Serializer for the Type resource |
| 2352 | """ |
| 2353 | |
| 2354 | generation = GenerationSummarySerializer() |
| 2355 | names = AbilityNameSerializer(many=True, read_only=True, source="typename") |
| 2356 | game_indices = TypeGameIndexSerializer( |
| 2357 | many=True, read_only=True, source="typegameindex" |
| 2358 | ) |
| 2359 | move_damage_class = MoveDamageClassSummarySerializer() |
| 2360 | damage_relations = serializers.SerializerMethodField("get_type_relationships") |
| 2361 | past_damage_relations = serializers.SerializerMethodField( |
| 2362 | "get_type_past_relationships" |
| 2363 | ) |
| 2364 | pokemon = serializers.SerializerMethodField("get_type_pokemon") |
| 2365 | moves = MoveSummarySerializer(many=True, read_only=True, source="move") |
| 2366 | sprites = serializers.SerializerMethodField("get_type_sprites") |
| 2367 | |
| 2368 | class Meta: |
| 2369 | model = Type |
| 2370 | fields = ( |
| 2371 | "id", |
| 2372 | "name", |
| 2373 | "damage_relations", |
| 2374 | "past_damage_relations", |
| 2375 | "game_indices", |
| 2376 | "generation", |
| 2377 | "move_damage_class", |
| 2378 | "names", |
| 2379 | "pokemon", |
| 2380 | "moves", |
| 2381 | "sprites", |
| 2382 | ) |
| 2383 | |
| 2384 | @extend_schema_field( |
| 2385 | field={ |
| 2386 | "type": "object", |
| 2387 | "additionalProperties": { |
| 2388 | "type": "object", |
| 2389 | "additionalProperties": { |
| 2390 | "type": "object", |
| 2391 | "properties": { |
| 2392 | "name-icon": { |
| 2393 | "type": "string", |
| 2394 | "format": "uri", |
| 2395 | "examples": [ |
| 2396 | "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-iii/colosseum/1.png" |
| 2397 | ], |
| 2398 | } |
| 2399 | }, |
| 2400 | "examples": [ |
| 2401 | { |
| 2402 | "colosseum": { |
| 2403 | "name_icon": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-iii/colosseum/1.png" |
| 2404 | } |
| 2405 | } |
| 2406 | ], |
nothing calls this directly
no test coverage detected