service key server wip

This commit is contained in:
Jimmy Zelinskie 2016-03-16 15:49:25 -04:00 committed by Jimmy Zelinskie
parent fe5787ac28
commit 499bb16306
4 changed files with 167 additions and 13 deletions

View file

@ -1,20 +1,22 @@
import string
import logging
import uuid
import time
import toposort
import resumablehashlib
import sys
import inspect
import logging
import string
import sys
import time
import uuid
from random import SystemRandom
from datetime import datetime
from peewee import *
from data.read_slave import ReadSlaveModel
from data.fields import ResumableSHA256Field, ResumableSHA1Field, JSONField, Base64BinaryField
from sqlalchemy.engine.url import make_url
from collections import defaultdict
from datetime import datetime
from random import SystemRandom
import resumablehashlib
import toposort
from peewee import *
from sqlalchemy.engine.url import make_url
from data.fields import ResumableSHA256Field, ResumableSHA1Field, JSONField, Base64BinaryField
from data.read_slave import ReadSlaveModel
from util.names import urn_generator
@ -866,5 +868,22 @@ class TorrentInfo(BaseModel):
(('storage', 'piece_length'), True),
)
_ServiceKeyApproverProxy = Proxy()
class ServiceKeyApproval(BaseModel):
approver = ForeignKeyField(_ServiceKeyApproverProxy)
approval_type = CharField(index=True)
approved_date = DateTimeField(default=datetime.now)
_ServiceKeyApproverProxy.initialize(User)
class ServiceKey(BaseModel):
kid = CharField(unique=True, index=True)
service = CharField(index=True)
jwk = CharField(unique=True)
expiration_date = DateTimeField(null=True)
approval = ForeignKeyField(ServiceKeyApproval, index=True)
is_model = lambda x: inspect.isclass(x) and issubclass(x, BaseModel) and x is not BaseModel
all_models = [model[1] for model in inspect.getmembers(sys.modules[__name__], is_model)]