Warning

This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy.webapps.galaxy.api.licenses

from typing import List

from fastapi import Path

from galaxy.managers.licenses import (
    LicenseMetadataModel,
    LicensesManager,
)
from . import (
    depends,
    Router,
)

router = Router(tags=["licenses"])

LicenseIdPath: str = Path(
    ...,  # Mark this Path parameter as required
    title="SPDX license short ID",
    description="The [SPDX license short identifier](https://spdx.github.io/spdx-spec/appendix-I-SPDX-license-list/)",
    examples=["Apache-2.0"],
)


[docs]@router.cbv class FastAPILicenses: licenses_manager: LicensesManager = depends(LicensesManager)
[docs] @router.get( "/api/licenses", public=True, summary="Lists all available SPDX licenses", response_description="List of SPDX licenses", ) async def index(self) -> List[LicenseMetadataModel]: """Returns an index with all the available [SPDX licenses](https://spdx.org/licenses/).""" return self.licenses_manager.get_licenses()
[docs] @router.get( "/api/licenses/{id}", public=True, summary="Gets the SPDX license metadata associated with the short identifier", response_description="SPDX license metadata", ) async def get(self, id=LicenseIdPath) -> LicenseMetadataModel: """Returns the license metadata associated with the given [SPDX license short ID](https://spdx.github.io/spdx-spec/appendix-I-SPDX-license-list/).""" return self.licenses_manager.get_license_by_id(id)