Source code for fatsecret.resources._generated.diary

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

from __future__ import annotations

from typing import Any, Optional

from .._base import BaseResource


class DiaryResource(BaseResource):
    """Resource methods for the OAS `Food Diary` tag (generated)."""

[docs] def entries_copy_saved_meal_v1( self, saved_meal_id: int, meal: str, date: Optional[int] = None, ) -> bool: """food_entries.copy_saved_meal (v1). Premier-only.""" params: dict[str, Any] = {"method": "food_entries.copy_saved_meal"} params["saved_meal_id"] = saved_meal_id params["meal"] = meal self._client._set_optional( params, [ ("date", None if date is None else self._client.unix_time_v2(date)), ], ) payload = self._client._call(params, method="POST") return self._client._mutator_success(payload)
[docs] def entries_copy_v1( self, from_date: int, to_date: int, meal: Optional[str] = None, ) -> bool: """food_entries.copy (v1). Premier-only.""" params: dict[str, Any] = {"method": "food_entries.copy"} params["from_date"] = self._client.unix_time_v2(from_date) params["to_date"] = self._client.unix_time_v2(to_date) self._client._set_optional( params, [ ("meal", meal), ], ) payload = self._client._call(params, method="POST") return self._client._mutator_success(payload)
[docs] def entries_get_month_v1( self, date: Optional[int] = None, ) -> list: """food_entries.get_month (v1). DEPRECATED upstream. Premier-only.""" params: dict[str, Any] = {"method": "food_entries.get_month"} self._client._set_optional( params, [ ("date", None if date is None else self._client.unix_time_v2(date)), ], ) payload = self._client._call(params) return self._client._unwrap(payload, "month", list_key="day")
[docs] def entries_get_month_v2( self, date: Optional[int] = None, ) -> list: """food_entries.get_month (v2). Premier-only.""" params: dict[str, Any] = {"method": "food_entries.get_month.v2"} self._client._set_optional( params, [ ("date", None if date is None else self._client.unix_time_v2(date)), ], ) payload = self._client._call(params) return self._client._unwrap(payload, "month", list_key="day")
def entries_get_v1( self, date: Optional[int] = None, food_entry_id: Optional[int] = None, ) -> list: """food_entries.get (v1). DEPRECATED upstream. Premier-only.""" params: dict[str, Any] = {"method": "food_entries.get"} self._client._set_optional( params, [ ("date", None if date is None else self._client.unix_time_v2(date)), ("food_entry_id", food_entry_id), ], ) payload = self._client._call(params) return self._client._unwrap(payload, "food_entries", list_key="food_entry") def entries_get_v2( self, date: Optional[int] = None, food_entry_id: Optional[int] = None, ) -> list: """food_entries.get (v2). Premier-only.""" params: dict[str, Any] = {"method": "food_entries.get.v2"} self._client._set_optional( params, [ ("date", None if date is None else self._client.unix_time_v2(date)), ("food_entry_id", food_entry_id), ], ) payload = self._client._call(params) return self._client._unwrap(payload, "food_entries", list_key="food_entry")
[docs] def entry_create_v1( self, food_id: int, food_entry_name: str, serving_id: int, number_of_units: float, meal: str, date: Optional[int] = None, ) -> list: """food_entry.create (v1). Premier-only.""" params: dict[str, Any] = {"method": "food_entry.create"} params["food_id"] = food_id params["food_entry_name"] = food_entry_name params["serving_id"] = serving_id params["number_of_units"] = number_of_units params["meal"] = meal self._client._set_optional( params, [ ("date", None if date is None else self._client.unix_time_v2(date)), ], ) payload = self._client._call(params, method="POST") return self._client._unwrap(payload, "food_entries", list_key="food_entry")
[docs] def entry_delete_v1( self, food_entry_id: int, ) -> bool: """food_entry.delete (v1). Premier-only.""" params: dict[str, Any] = {"method": "food_entry.delete"} params["food_entry_id"] = food_entry_id payload = self._client._call(params, method="DELETE") return self._client._mutator_success(payload)
[docs] def entry_edit_v1( self, food_entry_id: int, food_entry_name: Optional[str] = None, serving_id: Optional[int] = None, number_of_units: Optional[float] = None, meal: Optional[str] = None, ) -> bool: """food_entry.edit (v1). Premier-only.""" params: dict[str, Any] = {"method": "food_entry.edit"} params["food_entry_id"] = food_entry_id self._client._set_optional( params, [ ("food_entry_name", food_entry_name), ("serving_id", serving_id), ("number_of_units", number_of_units), ("meal", meal), ], ) payload = self._client._call(params, method="PUT") return self._client._mutator_success(payload)
__all__ = ["DiaryResource"]