Get api_keys for service endpoint

This commit is contained in:
Rebecca Law
2016-01-20 15:23:32 +00:00
parent 76c228a550
commit 9eb856b86e
3 changed files with 44 additions and 2 deletions

View File

@@ -30,7 +30,7 @@ class TemplateSchema(ma.ModelSchema):
class ApiKeySchema(ma.ModelSchema):
class Meta:
model = models.ApiKey
exclude = ("service", "secret", "expiry_date")
exclude = ("service", "secret")
class JobSchema(ma.ModelSchema):

View File

@@ -13,7 +13,7 @@ from app.dao.templates_dao import (
from app.dao.api_key_dao import (save_model_api_key, get_model_api_keys, get_unsigned_secret)
from app.models import ApiKey
from app.schemas import (
services_schema, service_schema, template_schema)
services_schema, service_schema, template_schema, api_keys_schema)
from flask import Blueprint
service = Blueprint('service', __name__)
@@ -109,6 +109,23 @@ def revoke_api_key(service_id, api_key_id):
return jsonify(), 202
@service.route('/<int:service_id>/api-key', methods=['GET'])
def get_api_keys(service_id):
try:
service = get_model_services(service_id=service_id)
except DataError:
return jsonify(result="error", message="Invalid service id"), 400
except NoResultFound:
return jsonify(result="error", message="Service not found"), 404
try:
api_keys = get_model_api_keys(service_id=service_id)
except DAOException as e:
return jsonify(result='error', message=str(e)), 400
return jsonify(apiKeys=api_keys_schema.dump(api_keys)), 200
@service.route('/<int:service_id>/template', methods=['POST'])
def create_template(service_id):
try: