class URLRecipeSerializer(RecipeSerializer): url = serializers.HyperlinkedIdentityField( view_name="recipe-detail", lookup_field="id", read_only=True, ) output = URLSimpleItemSerializer() requirements = URLRecipeRequirementSerializer(many=True) tints = URLSimpleItemSerializer(many=True) levels = URLRecipeLevelSerializer(many=True) class Meta: model = Recipe fields = [ "url", "id", "heat", "craft_xp", "machine", "output", "can_hand_craft", "machine_level", "power", "group_name", "knowledge_unlock_level", "tints", "requirements", "levels", "required_event", "required_backer_tier", ]
class URLBlockColorSerializer(BlockColorSerializer): item = URLSimpleItemSerializer() world = URLSimpleWorldSerializer() first_world = URLSimpleWorldSerializer(allow_null=True) last_exo = URLSimpleWorldSerializer(allow_null=True) transform_first_world = URLSimpleWorldSerializer(allow_null=True) transform_last_exo = URLSimpleWorldSerializer(allow_null=True) class Meta: model = WorldBlockColor fields = [ "item", "world", "active", "is_default", "is_perm", "is_sovereign_only", "is_exo_only", "is_new", "is_new_exo", "is_new_transform", "days_since_exo", "days_since_transform_exo", "first_world", "last_exo", "transform_first_world", "transform_last_exo", ]
class URLWorldBlockColorSerializer(WorldBlockColorSerializer): item = URLSimpleItemSerializer() color = SimpleColorSerializer() is_perm = serializers.BooleanField() is_sovereign_only = serializers.BooleanField() is_exo_only = serializers.BooleanField() days_since_exo = serializers.IntegerField(allow_null=True) days_since_transform_exo = serializers.IntegerField(allow_null=True) first_world = URLSimpleWorldSerializer(allow_null=True) last_exo = URLSimpleWorldSerializer(allow_null=True) transform_first_world = URLSimpleWorldSerializer(allow_null=True) transform_last_exo = URLSimpleWorldSerializer(allow_null=True) class Meta: model = WorldBlockColor fields = [ "item", "color", "active", "is_default", "is_perm", "is_sovereign_only", "is_exo_only", "is_new", "is_new_exo", "is_new_transform", "days_since_exo", "days_since_transform_exo", "first_world", "last_exo", "transform_first_world", "transform_last_exo", ]
class PossibleItemSerializer(serializers.ModelSerializer): item = URLSimpleItemSerializer() class Meta: model = WorldBlockColor fields = [ "item", ]
class URLResourcesSerializer(ResourcesSerializer): item = URLSimpleItemSerializer() class Meta: model = ResourceCount fields = [ "item", "is_embedded", "percentage", "count", "average_per_chunk" ]
class URLRecipeInputSerializer(RecipeInputSerializer): group = URLSimpleRecipeGroupSerializer(allow_null=True) item = URLSimpleItemSerializer(allow_null=True) class Meta: model = RecipeInput fields = [ "group", "item", "count", ]
class URLRecipeGroupSerializer(RecipeGroupSerializer): url = serializers.HyperlinkedIdentityField( view_name="recipe-group-detail", lookup_field="id", read_only=True, ) members = URLSimpleItemSerializer(many=True) class Meta: model = RecipeGroup fields = [ "url", "id", "name", "display_name", "members", ]
class URLBlockSerializer(BlockSerializer): url = serializers.HyperlinkedIdentityField( view_name="block-detail", lookup_field="game_id", read_only=True, ) item = URLSimpleItemSerializer(source="block_item") class Meta: model = Block fields = [ "url", "game_id", "name", "item", ]
class URLWorldRequestBasketPriceSerializer(WorldRequestBasketPriceSerializer): item = URLSimpleItemSerializer() class Meta: model = ItemRequestBasketPrice fields = [ "time", "location", "item", "item_count", "price", "beacon_name", "beacon_text_name", "beacon_html_name", "guild_tag", "shop_activity", ]