Serialize accessible field for collection elements

This commit is contained in:
davelopez
2024-05-24 10:50:08 +02:00
parent 7961b475bb
commit afac2afa24
3 changed files with 8 additions and 0 deletions
+2
View File
@@ -6083,6 +6083,8 @@ export interface components {
* @description History Dataset Association Object
*/
HDAObject: {
/** Accessible */
accessible: boolean;
/** Copied From Ldda Id */
copied_from_ldda_id?: string | null;
/**
+1
View File
@@ -939,6 +939,7 @@ class HDAObject(Model, WithModelClass):
history_id: HistoryID
tags: List[str]
copied_from_ldda_id: Optional[EncodedDatabaseIdField] = None
accessible: bool
model_config = ConfigDict(extra="allow")
@@ -24,6 +24,7 @@ from galaxy.managers.collections_util import (
dictify_element_reference,
)
from galaxy.managers.context import ProvidesHistoryContext
from galaxy.managers.hdas import HDAManager
from galaxy.managers.hdcas import HDCAManager
from galaxy.managers.histories import HistoryManager
from galaxy.model import DatasetCollectionElement
@@ -94,12 +95,14 @@ class DatasetCollectionsService(ServiceBase, UsesLibraryMixinItems):
self,
security: IdEncodingHelper,
history_manager: HistoryManager,
hda_manager: HDAManager,
hdca_manager: HDCAManager,
collection_manager: DatasetCollectionManager,
datatypes_registry: Registry,
):
super().__init__(security)
self.history_manager = history_manager
self.hda_manager = hda_manager
self.hdca_manager = hdca_manager
self.collection_manager = collection_manager
self.datatypes_registry = datatypes_registry
@@ -270,6 +273,8 @@ class DatasetCollectionsService(ServiceBase, UsesLibraryMixinItems):
hdca_id=self.encode_id(hdca.id),
parent_id=self.encode_id(result["object"]["id"]),
)
else:
result["object"]["accessible"] = self.hda_manager.is_accessible(dsc_element.element_object, trans.user)
return result
rval = [serialize_element(el) for el in contents]