from flask import jsonify from auth.registry_jwt_auth import process_registry_jwt_auth from endpoints.decorators import anon_protect, parse_repository_name from endpoints.v2 import v2_bp, require_repo_read, paginate from endpoints.v2.models_pre_oci import data_model as model @v2_bp.route('//tags/list', methods=['GET']) @parse_repository_name() @process_registry_jwt_auth(scopes=['pull']) @require_repo_read @anon_protect @paginate() def list_all_tags(namespace_name, repo_name, start_id, limit, pagination_callback): tags = list(model.repository_tags(namespace_name, repo_name, start_id, limit)) response = jsonify({ 'name': '{0}/{1}'.format(namespace_name, repo_name), 'tags': [tag.name for tag in tags][0:limit],}) pagination_callback(tags, response) return response