Source code for fatsecret.resources._generated.profile_foods

# AUTO-GENERATED by scripts/oas-sync emit-resource Profile Foods. Do not edit by hand.
"""Resource wrapper for the OAS ``Profile Foods`` tag (generated)."""

from __future__ import annotations

from typing import Any, Optional

from .._base import BaseResource


class ProfileFoodsResource(BaseResource):
    """Resource methods for the OAS `Profile Foods` tag (generated)."""

[docs] def add_favorite_v1( self, food_id: int, serving_id: Optional[int] = None, number_of_units: Optional[float] = None, ) -> bool: """food.add_favorite (v1). Premier-only.""" params: dict[str, Any] = {"method": "food.add_favorite"} params["food_id"] = food_id self._client._set_optional( params, [ ("serving_id", serving_id), ("number_of_units", number_of_units), ], ) payload = self._client._call(params, method="POST") return self._client._mutator_success(payload)
[docs] def create_v1( self, brand_name: str, food_name: str, serving_size: str, calories: float, fat: float, carbohydrate: float, protein: float, brand_type: Optional[str] = None, serving_amount: Optional[str] = None, serving_amount_unit: Optional[str] = None, calories_from_fat: Optional[float] = None, saturated_fat: Optional[float] = None, polyunsaturated_fat: Optional[float] = None, monounsaturated_fat: Optional[float] = None, trans_fat: Optional[float] = None, cholesterol: Optional[float] = None, sodium: Optional[float] = None, potassium: Optional[float] = None, fiber: Optional[float] = None, sugar: Optional[float] = None, other_carbohydrate: Optional[float] = None, vitamin_a: Optional[float] = None, vitamin_c: Optional[float] = None, calcium: Optional[float] = None, iron: Optional[float] = None, region: Optional[str] = None, language: Optional[str] = None, ) -> Any: """food.create (v1). DEPRECATED upstream. Premier-only.""" params: dict[str, Any] = {"method": "food.create"} params["brand_name"] = brand_name params["food_name"] = food_name params["serving_size"] = serving_size params["calories"] = calories params["fat"] = fat params["carbohydrate"] = carbohydrate params["protein"] = protein self._client._set_optional( params, [ ("brand_type", brand_type), ("serving_amount", serving_amount), ("serving_amount_unit", serving_amount_unit), ("calories_from_fat", calories_from_fat), ("saturated_fat", saturated_fat), ("polyunsaturated_fat", polyunsaturated_fat), ("monounsaturated_fat", monounsaturated_fat), ("trans_fat", trans_fat), ("cholesterol", cholesterol), ("sodium", sodium), ("potassium", potassium), ("fiber", fiber), ("sugar", sugar), ("other_carbohydrate", other_carbohydrate), ("vitamin_a", vitamin_a), ("vitamin_c", vitamin_c), ("calcium", calcium), ("iron", iron), ("region", region), ("language", language), ], ) payload = self._client._call(params, method="POST") return self._client._unwrap(payload, "food_id")
[docs] def create_v2( self, brand_name: str, food_name: str, serving_size: str, calories: float, fat: float, carbohydrate: float, protein: float, brand_type: Optional[str] = None, serving_amount: Optional[str] = None, serving_amount_unit: Optional[str] = None, calories_from_fat: Optional[float] = None, saturated_fat: Optional[float] = None, polyunsaturated_fat: Optional[float] = None, monounsaturated_fat: Optional[float] = None, trans_fat: Optional[float] = None, cholesterol: Optional[float] = None, sodium: Optional[float] = None, potassium: Optional[float] = None, fiber: Optional[float] = None, sugar: Optional[float] = None, added_sugars: Optional[float] = None, vitamin_d: Optional[float] = None, vitamin_a: Optional[float] = None, vitamin_c: Optional[float] = None, calcium: Optional[float] = None, iron: Optional[float] = None, region: Optional[str] = None, language: Optional[str] = None, ) -> Any: """food.create (v2). Premier-only.""" params: dict[str, Any] = {"method": "food.create.v2"} params["brand_name"] = brand_name params["food_name"] = food_name params["serving_size"] = serving_size params["calories"] = calories params["fat"] = fat params["carbohydrate"] = carbohydrate params["protein"] = protein self._client._set_optional( params, [ ("brand_type", brand_type), ("serving_amount", serving_amount), ("serving_amount_unit", serving_amount_unit), ("calories_from_fat", calories_from_fat), ("saturated_fat", saturated_fat), ("polyunsaturated_fat", polyunsaturated_fat), ("monounsaturated_fat", monounsaturated_fat), ("trans_fat", trans_fat), ("cholesterol", cholesterol), ("sodium", sodium), ("potassium", potassium), ("fiber", fiber), ("sugar", sugar), ("added_sugars", added_sugars), ("vitamin_d", vitamin_d), ("vitamin_a", vitamin_a), ("vitamin_c", vitamin_c), ("calcium", calcium), ("iron", iron), ("region", region), ("language", language), ], ) payload = self._client._call(params, method="POST") return self._client._unwrap(payload, "food_id")
[docs] def delete_favorite_v1( self, food_id: int, serving_id: Optional[int] = None, number_of_units: Optional[float] = None, ) -> bool: """food.delete_favorite (v1). Premier-only.""" params: dict[str, Any] = {"method": "food.delete_favorite"} params["food_id"] = food_id self._client._set_optional( params, [ ("serving_id", serving_id), ("number_of_units", number_of_units), ], ) payload = self._client._call(params, method="DELETE") return self._client._mutator_success(payload)
[docs] def get_favorites_v1( self, ) -> list: """foods.get_favorites (v1). DEPRECATED upstream. Premier-only.""" params: dict[str, Any] = {"method": "foods.get_favorites"} payload = self._client._call(params) return self._client._unwrap(payload, "foods", list_key="food")
[docs] def get_favorites_v2( self, ) -> list: """foods.get_favorites (v2). Premier-only.""" params: dict[str, Any] = {"method": "foods.get_favorites.v2"} payload = self._client._call(params) return self._client._unwrap(payload, "foods", list_key="food")
[docs] def get_most_eaten_v1( self, meal: Optional[str] = None, ) -> list: """foods.get_most_eaten (v1). DEPRECATED upstream. Premier-only.""" params: dict[str, Any] = {"method": "foods.get_most_eaten"} self._client._set_optional( params, [ ("meal", meal), ], ) payload = self._client._call(params) return self._client._unwrap(payload, "foods", list_key="food")
[docs] def get_most_eaten_v2( self, meal: Optional[str] = None, ) -> list: """foods.get_most_eaten (v2). Premier-only.""" params: dict[str, Any] = {"method": "foods.get_most_eaten.v2"} self._client._set_optional( params, [ ("meal", meal), ], ) payload = self._client._call(params) return self._client._unwrap(payload, "foods", list_key="food")
[docs] def get_recently_eaten_v1( self, meal: Optional[str] = None, ) -> list: """foods.get_recently_eaten (v1). DEPRECATED upstream. Premier-only.""" params: dict[str, Any] = {"method": "foods.get_recently_eaten"} self._client._set_optional( params, [ ("meal", meal), ], ) payload = self._client._call(params) return self._client._unwrap(payload, "foods", list_key="food")
[docs] def get_recently_eaten_v2( self, meal: Optional[str] = None, ) -> list: """foods.get_recently_eaten (v2). Premier-only.""" params: dict[str, Any] = {"method": "foods.get_recently_eaten.v2"} self._client._set_optional( params, [ ("meal", meal), ], ) payload = self._client._call(params) return self._client._unwrap(payload, "foods", list_key="food")
__all__ = ["ProfileFoodsResource"]