26 lines
693 B
Python
26 lines
693 B
Python
"""Cloud APIs."""
|
|
from functools import wraps
|
|
|
|
from . import auth_api
|
|
|
|
|
|
def _check_token(func):
|
|
"""Decorate a function to verify valid token."""
|
|
@wraps(func)
|
|
async def check_token(cloud, *args):
|
|
"""Validate token, then call func."""
|
|
await cloud.hass.async_add_executor_job(auth_api.check_token, cloud)
|
|
return await func(cloud, *args)
|
|
|
|
return check_token
|
|
|
|
|
|
@_check_token
|
|
async def async_create_cloudhook(cloud):
|
|
"""Create a cloudhook."""
|
|
websession = cloud.hass.helpers.aiohttp_client.async_get_clientsession()
|
|
return await websession.post(
|
|
cloud.cloudhook_create_url, headers={
|
|
'authorization': cloud.id_token
|
|
})
|