def get_archive_service_revisions(id): try: service = Service.get(id) except DoesNotExist: logging.warning('Item with id {0} does not exist.'.format(id)) return jsonify({}), 404 if (service.data_type != 'service' and service.data_type != 'archive-service'): return jsonify({}), 404 revisions = [] _range = range(1, service.revision + 1) ids = [] for i in _range: ids.append("{0}-{1}".format(id, i)) for revision in Service.batch_get(ids): revisions.append({ 'id': revision.id, 'account': revision.account, 'revision': revision.revision, 'enabled': revision.enabled, 'credentials': list(revision.credentials), 'blind_credentials': list(revision.blind_credentials), 'modified_date': revision.modified_date, 'modified_by': revision.modified_by }) return jsonify({ 'revisions': sorted(revisions, key=lambda k: k['revision'], reverse=True) })
def get_archive_service_revisions(id): try: service = Service.get(id) except Service.DoesNotExist: return jsonify({}), 404 if (service.data_type != 'service' and service.data_type != 'archive-service'): return jsonify({}), 404 revisions = [] _range = range(1, service.revision + 1) ids = [] for i in _range: ids.append("{0}-{1}".format(id, i)) for revision in Service.batch_get(ids): revisions.append({ 'id': revision.id, 'revision': revision.revision, 'enabled': revision.enabled, 'credentials': list(revision.credentials), 'modified_date': revision.modified_date, 'modified_by': revision.modified_by }) return jsonify({ 'revisions': sorted( revisions, key=lambda k: k['revision'], reverse=True ) })
def get_archive_service_revisions(id): if not acl_module_check(resource_type='service', action='metadata', resource_id=id): msg = "{} does not have access to service {} revisions".format( authnz.get_logged_in_user(), id ) error_msg = {'error': msg} return jsonify(error_msg), 403 try: service = Service.get(id) except DoesNotExist: logging.warning( 'Item with id {0} does not exist.'.format(id) ) return jsonify({}), 404 if (service.data_type != 'service' and service.data_type != 'archive-service'): return jsonify({}), 404 _range = range(1, service.revision + 1) ids = [] for i in _range: ids.append("{0}-{1}".format(id, i)) revisions_response = RevisionsResponse.from_services( Service.batch_get(ids) ) return revisions_response_schema.dumps(revisions_response)
def get_archive_service_revisions(id): """ Get a list of revisions for the specified service ID. .. :quickref: Service History; Get a list of revisions for the specified service ID. **Example request**: .. sourcecode:: http GET /v1/archive/services/example-development :param id: The service ID to get. :type id: str :query string next_page: If paged results were returned in a call, this query string can be used to fetch the next page. **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json { "revisions": [ { "id": "example-development-1", "revision": 1, "enabled": true, "modified_date": "2019-12-16T23:16:11.413299+00:00", "modified_by": "*****@*****.**", "account": null, "credentials": [], "blind_credentials": [], "permissions": {} }, ... ], "next_page": null } :resheader Content-Type: application/json :statuscode 200: Success :statuscode 403: Client does not have permissions to get metadata for the provided service ID. :statuscode 404: Specified ID does not exist. """ if not acl_module_check(resource_type='service', action='metadata', resource_id=id): msg = "{} does not have access to service {} revisions".format( authnz.get_logged_in_user(), id ) error_msg = {'error': msg} return jsonify(error_msg), 403 try: service = Service.get(id) except DoesNotExist: logger.warning( 'Item with id {0} does not exist.'.format(id) ) return jsonify({}), 404 if (service.data_type != 'service' and service.data_type != 'archive-service'): return jsonify({}), 404 _range = range(1, service.revision + 1) ids = [] for i in _range: ids.append("{0}-{1}".format(id, i)) revisions_response = RevisionsResponse.from_services( Service.batch_get(ids) ) return revisions_response_schema.dumps(revisions_response)