mirror of
https://github.com/home-assistant/core.git
synced 2026-09-24 23:41:48 -05:00
Make service response optional for Habitica integration (#171818)
This commit is contained in:
@@ -303,7 +303,7 @@ async def _cast_skill(call: ServiceCall) -> ServiceResponse:
|
||||
) from e
|
||||
else:
|
||||
await coordinator.async_request_refresh()
|
||||
return asdict(response.data)
|
||||
return asdict(response.data) if call.return_response is True else None
|
||||
|
||||
|
||||
async def _manage_quests(call: ServiceCall) -> ServiceResponse:
|
||||
@@ -353,7 +353,7 @@ async def _manage_quests(call: ServiceCall) -> ServiceResponse:
|
||||
translation_placeholders={"reason": str(e)},
|
||||
) from e
|
||||
else:
|
||||
return asdict(response.data)
|
||||
return asdict(response.data) if call.return_response is True else None
|
||||
|
||||
|
||||
async def _score_task(call: ServiceCall) -> ServiceResponse:
|
||||
@@ -418,7 +418,7 @@ async def _score_task(call: ServiceCall) -> ServiceResponse:
|
||||
) from e
|
||||
else:
|
||||
await coordinator.async_request_refresh()
|
||||
return asdict(response.data)
|
||||
return asdict(response.data) if call.return_response is True else None
|
||||
|
||||
|
||||
async def _transformation(call: ServiceCall) -> ServiceResponse:
|
||||
@@ -503,7 +503,7 @@ async def _transformation(call: ServiceCall) -> ServiceResponse:
|
||||
translation_placeholders={"reason": str(e)},
|
||||
) from e
|
||||
else:
|
||||
return asdict(response.data)
|
||||
return asdict(response.data) if call.return_response is True else None
|
||||
|
||||
|
||||
async def _get_tasks(call: ServiceCall) -> ServiceResponse:
|
||||
@@ -839,7 +839,11 @@ async def _create_or_update_task(call: ServiceCall) -> ServiceResponse: # noqa:
|
||||
translation_placeholders={"reason": str(e)},
|
||||
) from e
|
||||
else:
|
||||
return response.data.to_dict(omit_none=True)
|
||||
return (
|
||||
response.data.to_dict(omit_none=True)
|
||||
if call.return_response is True
|
||||
else None
|
||||
)
|
||||
|
||||
|
||||
@callback
|
||||
@@ -859,7 +863,7 @@ def async_setup_services(hass: HomeAssistant) -> None:
|
||||
service_name,
|
||||
_manage_quests,
|
||||
schema=SERVICE_MANAGE_QUEST_SCHEMA,
|
||||
supports_response=SupportsResponse.ONLY,
|
||||
supports_response=SupportsResponse.OPTIONAL,
|
||||
)
|
||||
|
||||
for service_name in (
|
||||
@@ -873,7 +877,7 @@ def async_setup_services(hass: HomeAssistant) -> None:
|
||||
service_name,
|
||||
_create_or_update_task,
|
||||
schema=SERVICE_UPDATE_TASK_SCHEMA,
|
||||
supports_response=SupportsResponse.ONLY,
|
||||
supports_response=SupportsResponse.OPTIONAL,
|
||||
)
|
||||
for service_name in (
|
||||
SERVICE_CREATE_DAILY,
|
||||
@@ -886,7 +890,7 @@ def async_setup_services(hass: HomeAssistant) -> None:
|
||||
service_name,
|
||||
_create_or_update_task,
|
||||
schema=SERVICE_CREATE_TASK_SCHEMA,
|
||||
supports_response=SupportsResponse.ONLY,
|
||||
supports_response=SupportsResponse.OPTIONAL,
|
||||
)
|
||||
|
||||
hass.services.async_register(
|
||||
@@ -894,7 +898,7 @@ def async_setup_services(hass: HomeAssistant) -> None:
|
||||
SERVICE_CAST_SKILL,
|
||||
_cast_skill,
|
||||
schema=SERVICE_CAST_SKILL_SCHEMA,
|
||||
supports_response=SupportsResponse.ONLY,
|
||||
supports_response=SupportsResponse.OPTIONAL,
|
||||
)
|
||||
|
||||
hass.services.async_register(
|
||||
@@ -902,14 +906,14 @@ def async_setup_services(hass: HomeAssistant) -> None:
|
||||
SERVICE_SCORE_HABIT,
|
||||
_score_task,
|
||||
schema=SERVICE_SCORE_TASK_SCHEMA,
|
||||
supports_response=SupportsResponse.ONLY,
|
||||
supports_response=SupportsResponse.OPTIONAL,
|
||||
)
|
||||
hass.services.async_register(
|
||||
DOMAIN,
|
||||
SERVICE_SCORE_REWARD,
|
||||
_score_task,
|
||||
schema=SERVICE_SCORE_TASK_SCHEMA,
|
||||
supports_response=SupportsResponse.ONLY,
|
||||
supports_response=SupportsResponse.OPTIONAL,
|
||||
)
|
||||
|
||||
hass.services.async_register(
|
||||
@@ -917,7 +921,7 @@ def async_setup_services(hass: HomeAssistant) -> None:
|
||||
SERVICE_TRANSFORMATION,
|
||||
_transformation,
|
||||
schema=SERVICE_TRANSFORMATION_SCHEMA,
|
||||
supports_response=SupportsResponse.ONLY,
|
||||
supports_response=SupportsResponse.OPTIONAL,
|
||||
)
|
||||
hass.services.async_register(
|
||||
DOMAIN,
|
||||
|
||||
Reference in New Issue
Block a user