Merge branch 'master' into notification-created-status

This commit is contained in:
Rebecca Law
2016-06-27 15:36:42 +01:00
12 changed files with 159 additions and 81 deletions

View File

@@ -113,6 +113,7 @@ class ApiKey(db.Model, Versioned):
secret = db.Column(db.String(255), unique=True, nullable=False)
service_id = db.Column(UUID(as_uuid=True), db.ForeignKey('services.id'), index=True, nullable=False)
service = db.relationship('Service', backref=db.backref('api_keys', lazy='dynamic'))
key_type = db.Column(db.String(255), db.ForeignKey('key_types.name'), index=True, nullable=False)
expiry_date = db.Column(db.DateTime)
created_at = db.Column(
db.DateTime,
@@ -134,6 +135,16 @@ class ApiKey(db.Model, Versioned):
)
KEY_TYPE_NORMAL = 'normal'
KEY_TYPE_TEAM = 'team'
class KeyTypes(db.Model):
__tablename__ = 'key_types'
name = db.Column(db.String(255), primary_key=True)
class NotificationStatistics(db.Model):
__tablename__ = 'notification_statistics'
@@ -329,6 +340,9 @@ class Notification(db.Model):
template_id = db.Column(UUID(as_uuid=True), db.ForeignKey('templates.id'), index=True, unique=False)
template = db.relationship('Template')
template_version = db.Column(db.Integer, nullable=False)
api_key_id = db.Column(UUID(as_uuid=True), db.ForeignKey('api_keys.id'), index=True, unique=False)
api_key = db.relationship('ApiKey')
key_type = db.Column(db.String, db.ForeignKey('key_types.name'), index=True, unique=False)
content_char_count = db.Column(db.Integer, nullable=True)
created_at = db.Column(
db.DateTime,

View File

@@ -165,6 +165,7 @@ class NotificationsStatisticsSchema(BaseSchema):
class ApiKeySchema(BaseSchema):
created_by = field_for(models.ApiKey, 'created_by', required=True)
key_type = field_for(models.ApiKey, 'key_type', required=True, missing=models.KEY_TYPE_NORMAL)
class Meta:
model = models.ApiKey

View File

@@ -95,9 +95,8 @@ def update_service(service_id):
return jsonify(data=service_schema.dump(fetched_service).data), 200
# is this used.
@service.route('/<uuid:service_id>/api-key', methods=['POST'])
def renew_api_key(service_id=None):
def create_api_key(service_id=None):
fetched_service = dao_fetch_service_by_id(service_id=service_id)
valid_api_key = api_key_schema.load(request.get_json()).data
valid_api_key.service = fetched_service