refactor approval service key to not need approver

This commit is contained in:
Sam Chow 2018-08-13 11:40:50 -04:00
parent 7edf679670
commit cc9bedbeb9
11 changed files with 331 additions and 13 deletions

View file

@ -17,6 +17,13 @@ def _create_key(key):
return ServiceKey(key.name, key.kid, key.service, key.jwk, key.metadata, key.created_date, key.expiration_date,
key.rotation_duration, approval)
class ServiceKeyDoesNotExist(Exception):
pass
class ServiceKeyAlreadyApproved(Exception):
pass
class PreOCIModel(SuperuserDataInterface):
"""
@ -27,5 +34,14 @@ class PreOCIModel(SuperuserDataInterface):
keys = model.service_keys.list_all_keys()
return [_create_key(key) for key in keys]
def approve_service_key(self, kid, approval_type, notes=''):
try:
key = model.service_keys.approve_service_key(kid, approval_type, notes=notes)
return _create_key(key)
except model.ServiceKeyDoesNotExist:
raise ServiceKeyDoesNotExist
except model.ServiceKeyAlreadyApproved:
raise ServiceKeyAlreadyApproved
pre_oci_model = PreOCIModel()