service keys: do all the right stuff

This commit is contained in:
Jimmy Zelinskie 2016-03-23 18:16:03 -04:00 committed by Jimmy Zelinskie
parent 6ecff950ab
commit 4079dba167
7 changed files with 149 additions and 41 deletions

View file

@ -871,18 +871,22 @@ class TorrentInfo(BaseModel):
_ServiceKeyApproverProxy = Proxy()
class ServiceKeyApproval(BaseModel):
approver = ForeignKeyField(_ServiceKeyApproverProxy)
approver = ForeignKeyField(_ServiceKeyApproverProxy, null=True)
approval_type = CharField(index=True)
approved_date = DateTimeField(default=datetime.now)
approved_date = DateTimeField(default=datetime.utcnow)
notes = TextField()
_ServiceKeyApproverProxy.initialize(User)
class ServiceKey(BaseModel):
name = CharField()
kid = CharField(unique=True, index=True)
service = CharField(index=True)
jwk = CharField(unique=True)
jwk = JSONField(unique=True)
metadata = JSONField(unique=True)
created_date = DateTimeField(default=datetime.utcnow)
expiration_date = DateTimeField(null=True)
approval = ForeignKeyField(ServiceKeyApproval, index=True)
approval = ForeignKeyField(ServiceKeyApproval, index=True, null=True)
is_model = lambda x: inspect.isclass(x) and issubclass(x, BaseModel) and x is not BaseModel