mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 07:35:34 -05:00
Merge branch 'master' into notification-created-status
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user