""" List and manage repository signing information """ import logging import features from app import tuf_metadata_api from endpoints.api import (require_repo_read, path_param, RepositoryParamResource, resource, nickname, show_if, disallow_for_app_repositories) logger = logging.getLogger(__name__) @show_if(features.SIGNING) @resource('/v1/repository//signatures') @path_param('repository', 'The full path of the repository. e.g. namespace/name') class RepositorySignatures(RepositoryParamResource): """ Operations for managing the signatures in a repository image. """ @require_repo_read @nickname('getRepoSignatures') @disallow_for_app_repositories def get(self, namespace, repository): """ Fetches the list of signed tags for the repository""" tag_data, expiration = tuf_metadata_api.get_default_tags_with_expiration(namespace, repository) return { 'tags': tag_data, 'expiration': expiration }