Upload multiple keys

merge-requests/8/head
Bob Mottram 2020-08-11 12:57:34 +00:00
parent b4071629e0
commit ea80dbb496
1 changed files with 36 additions and 13 deletions

View File

@ -5824,20 +5824,43 @@ class PubServer(BaseHTTPRequestHandler):
if not deviceKeys: if not deviceKeys:
self._400() self._400()
return return
if not E2EEvalidDevice(deviceKeys): if isinstance(deviceKeys, list):
self._400() keyCtr = 0
for devKey in deviceKeys:
if not E2EEvalidDevice(devKey):
continue
E2EEaddDevice(self.server.baseDir,
self.authorizedNickname,
self.server.domain,
devKey['deviceId'],
devKey['name'],
devKey['claim'],
devKey['fingerprintKey']['publicKeyBase64'],
devKey['identityKey']['publicKeyBase64'],
devKey['fingerprintKey']['type'],
devKey['identityKey']['type'])
keyCtr += 1
if keyCtr > 10:
break
self._200()
return return
E2EEaddDevice(self.server.baseDir, elif isinstance(deviceKeys, dict):
self.authorizedNickname, if not E2EEvalidDevice(deviceKeys):
self.server.domain, self._400()
deviceKeys['deviceId'], return
deviceKeys['name'], E2EEaddDevice(self.server.baseDir,
deviceKeys['claim'], self.authorizedNickname,
deviceKeys['fingerprintKey']['publicKeyBase64'], self.server.domain,
deviceKeys['identityKey']['publicKeyBase64'], deviceKeys['deviceId'],
deviceKeys['fingerprintKey']['type'], deviceKeys['name'],
deviceKeys['identityKey']['type']) deviceKeys['claim'],
self._200() deviceKeys['fingerprintKey']['publicKeyBase64'],
deviceKeys['identityKey']['publicKeyBase64'],
deviceKeys['fingerprintKey']['type'],
deviceKeys['identityKey']['type'])
self._200()
return
self._400()
elif path.startswith('/api/v1/crypto/keys/query'): elif path.startswith('/api/v1/crypto/keys/query'):
# TODO # TODO
self._200() self._200()