mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-06 13:11:15 -07:00
Async validation of OneSignal ID when registering a device
This commit is contained in:
parent
15f90ea433
commit
23b70bb24e
1 changed files with 16 additions and 5 deletions
|
@ -95,8 +95,7 @@ def add_mobile_device(device_id=None, device_name=None, device_token=None, frien
|
||||||
keys = {'device_id': device_id}
|
keys = {'device_id': device_id}
|
||||||
values = {'device_name': device_name,
|
values = {'device_name': device_name,
|
||||||
'device_token': device_token,
|
'device_token': device_token,
|
||||||
'onesignal_id': onesignal_id,
|
'onesignal_id': onesignal_id}
|
||||||
'official': validate_onesignal_id(onesignal_id=onesignal_id)}
|
|
||||||
|
|
||||||
if friendly_name:
|
if friendly_name:
|
||||||
values['friendly_name'] = friendly_name
|
values['friendly_name'] = friendly_name
|
||||||
|
@ -113,6 +112,7 @@ def add_mobile_device(device_id=None, device_name=None, device_token=None, frien
|
||||||
else:
|
else:
|
||||||
logger.debug("Tautulli MobileApp :: Re-registered mobile device '%s' in the database." % device_name)
|
logger.debug("Tautulli MobileApp :: Re-registered mobile device '%s' in the database." % device_name)
|
||||||
|
|
||||||
|
threading.Thread(target=set_official, args=[device_id, onesignal_id]).start()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
@ -166,9 +166,20 @@ def delete_mobile_device(mobile_device_id=None, device_id=None):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def set_official(device_id, onesignal_id):
|
||||||
|
db = database.MonitorDatabase()
|
||||||
|
official = validate_onesignal_id(onesignal_id=onesignal_id)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = db.action('UPDATE mobile_devices SET official = ? WHERE device_id = ?',
|
||||||
|
args=[official, device_id])
|
||||||
|
except Exception as e:
|
||||||
|
logger.warn("Tautulli MobileApp :: Failed to set official flag for device: %s." % e)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
def set_last_seen(device_token=None):
|
def set_last_seen(device_token=None):
|
||||||
db = database.MonitorDatabase()
|
db = database.MonitorDatabase()
|
||||||
|
|
||||||
last_seen = helpers.timestamp()
|
last_seen = helpers.timestamp()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -188,10 +199,10 @@ def validate_onesignal_id(onesignal_id):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
r = requests.get('https://onesignal.com/api/v1/players/{}'.format(onesignal_id), headers=headers, json=payload)
|
r = requests.get('https://onesignal.com/api/v1/players/{}'.format(onesignal_id), headers=headers, json=payload)
|
||||||
return r.status_code == 200
|
return int(r.status_code == 200)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warn("Tautulli MobileApp :: Failed to validate OneSignal ID: %s." % e)
|
logger.warn("Tautulli MobileApp :: Failed to validate OneSignal ID: %s." % e)
|
||||||
return
|
return -1
|
||||||
|
|
||||||
|
|
||||||
def blacklist_logger():
|
def blacklist_logger():
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue