diff --git a/client/src/composables/datatypes.js b/client/src/composables/datatypes.js index d83459aec68..e9b71b467bd 100644 --- a/client/src/composables/datatypes.js +++ b/client/src/composables/datatypes.js @@ -13,8 +13,8 @@ export function useDetailedDatatypes() { async function getDatatypes() { try { const datatypesPromise = axios.get(`${getAppRoot()}api/datatypes?extension_only=false`); - const datatypeEDAMFormatsPromise = axios.get(`${getAppRoot()}api/datatypes/edam_formats?id_only=false`); - const datatypeEDAMDataPromise = axios.get(`${getAppRoot()}api/datatypes/edam_data?id_only=false`); + const datatypeEDAMFormatsPromise = axios.get(`${getAppRoot()}api/datatypes/edam_formats/detailed`); + const datatypeEDAMDataPromise = axios.get(`${getAppRoot()}api/datatypes/edam_data/detailed`); const [baseTypes, datatypeEDAMFormats, datatypeEDAMData] = await Promise.all([ datatypesPromise, diff --git a/lib/galaxy/managers/datatypes.py b/lib/galaxy/managers/datatypes.py index bb962439a62..1b9964bc475 100644 --- a/lib/galaxy/managers/datatypes.py +++ b/lib/galaxy/managers/datatypes.py @@ -105,21 +105,21 @@ def _get_edam_details(datatypes_registry: Registry, edam_ids: Dict[str, str]): def view_edam_formats( - datatypes_registry: Registry, id_only: Optional[bool] = True + datatypes_registry: Registry, detailed: Optional[bool] = False ) -> Union[Dict[str, str], DatatypesEDAMDetailsDict]: - if id_only: - return datatypes_registry.edam_formats - else: + if detailed: return _get_edam_details(datatypes_registry, datatypes_registry.edam_formats) + else: + return datatypes_registry.edam_formats def view_edam_data( - datatypes_registry: Registry, id_only: Optional[bool] = True + datatypes_registry: Registry, detailed: Optional[bool] = False ) -> Union[Dict[str, str], DatatypesEDAMDetailsDict]: - if id_only: - return datatypes_registry.edam_data - else: + if detailed: return _get_edam_details(datatypes_registry, datatypes_registry.edam_data) + else: + return datatypes_registry.edam_data __all__ = ( diff --git a/lib/galaxy/webapps/galaxy/api/datatypes.py b/lib/galaxy/webapps/galaxy/api/datatypes.py index dec29010bd2..9c50254d216 100644 --- a/lib/galaxy/webapps/galaxy/api/datatypes.py +++ b/lib/galaxy/webapps/galaxy/api/datatypes.py @@ -120,21 +120,35 @@ class FastAPIDatatypes: summary="Returns a dictionary/map of datatypes and EDAM formats", response_description="Dictionary/map of datatypes and EDAM formats", ) - async def edam_formats( - self, - id_only: Optional[bool] = IdentifierOnly, - ) -> Union[DatatypesEDAMDetailsDict, Dict[str, str]]: + async def edam_formats(self) -> Dict[str, str]: """Gets a map of datatypes and their corresponding EDAM formats.""" - return view_edam_formats(self.datatypes_registry, id_only) + return view_edam_formats(self.datatypes_registry) + + @router.get( + "/api/datatypes/edam_formats/detailed", + summary="Returns a dictionary of datatypes and EDAM format details", + response_description="Dictionary of EDAM format details containing the EDAM iri, label, and definition", + ) + async def edam_formats_detailed(self) -> DatatypesEDAMDetailsDict: + """Gets a map of datatypes and their corresponding EDAM formats. + EDAM formats contain the EDAM iri, label, and definition.""" + return view_edam_formats(self.datatypes_registry, True) @router.get( "/api/datatypes/edam_data", summary="Returns a dictionary/map of datatypes and EDAM data", response_description="Dictionary/map of datatypes and EDAM data", ) - async def edam_data( - self, - id_only: Optional[bool] = IdentifierOnly, - ) -> Union[DatatypesEDAMDetailsDict, Dict[str, str]]: + async def edam_data(self) -> Dict[str, str]: """Gets a map of datatypes and their corresponding EDAM data.""" - return view_edam_data(self.datatypes_registry, id_only) + return view_edam_data(self.datatypes_registry) + + @router.get( + "/api/datatypes/edam_data/detailed", + summary="Returns a dictionary of datatypes and EDAM data details", + response_description="Dictionary of EDAM data details containing the EDAM iri, label, and definition", + ) + async def edam_data_detailed(self) -> DatatypesEDAMDetailsDict: + """Gets a map of datatypes and their corresponding EDAM data. + EDAM data contains the EDAM iri, label, and definition.""" + return view_edam_data(self.datatypes_registry, True)