Merge remote-tracking branch 'origin/test' into test

pull/101/head
Chris Veilleux 2019-04-03 20:36:00 -05:00
commit 3adaed422e
1 changed files with 13 additions and 6 deletions

View File

@ -1,5 +1,6 @@
import json
from http import HTTPStatus
from logging import getLogger
from flask import Response
from schematics import Model
@ -26,6 +27,9 @@ class SkillJson(Model):
skills = ListType(ModelType(SkillManifest, required=True))
_log = getLogger(__package__)
class DeviceSkillManifestEndpoint(PublicEndpoint):
def __init__(self):
super(DeviceSkillManifestEndpoint, self).__init__()
@ -55,10 +59,13 @@ class DeviceSkillManifestEndpoint(PublicEndpoint):
skill['updated'] = updated
def put(self, device_id):
self._authenticate(device_id)
payload = json.loads(self.request.data)
skill_json = SkillJson(payload)
skill_json.validate()
with get_db_connection(self.config['DB_CONNECTION_POOL']) as db:
SkillRepository(db).update_skills_manifest(device_id, payload['skills'])
try:
self._authenticate(device_id)
payload = json.loads(self.request.data)
skill_json = SkillJson(payload)
skill_json.validate()
with get_db_connection(self.config['DB_CONNECTION_POOL']) as db:
SkillRepository(db).update_skills_manifest(device_id, payload['skills'])
except Exception as e:
_log.info('MANIFEST ==================='.format(str(e)))
return '', HTTPStatus.OK