from fooder.controller.base import ModelController from fooder.domain import UserSettings from fooder.model.user_settings import UserSettingsUpdateModel class UserSettingsController(ModelController[UserSettings]): async def update(self, data: UserSettingsUpdateModel) -> None: if data.protein_goal is not None: self.obj.protein_goal = data.protein_goal if data.carb_goal is not None: self.obj.carb_goal = data.carb_goal if data.fat_goal is not None: self.obj.fat_goal = data.fat_goal if data.fiber_goal is not None: self.obj.fiber_goal = data.fiber_goal if data.calories_goal is not None: self.obj.calories_goal = data.calories_goal await self.ctx.repo.user_settings.update(self.obj)