@@ -1367,13 +1367,27 @@ async def is_node_id_present_in_any_project_workbench(
13671367
13681368
13691369async def _is_service_collaborative (
1370- app : web .Application , * , key : ServiceKey , version : ServiceVersion
1370+ app : web .Application ,
1371+ * ,
1372+ user_id : UserID ,
1373+ key : ServiceKey ,
1374+ version : ServiceVersion ,
1375+ product_name : ProductName ,
13711376) -> bool :
1372- return False
1377+ service = await catalog_service .get_service (
1378+ app , user_id = user_id , key = key , version = version , product_name = product_name
1379+ )
1380+
1381+ return service .get ("collaborative" , False ) is True
13731382
13741383
13751384async def _get_node_share_state (
1376- app : web .Application , * , user_id : UserID , project_uuid : ProjectID , node_id : NodeID
1385+ app : web .Application ,
1386+ * ,
1387+ user_id : UserID ,
1388+ project_uuid : ProjectID ,
1389+ node_id : NodeID ,
1390+ product_name : ProductName ,
13771391) -> NodeShareState :
13781392 node = await _projects_nodes_repository .get (
13791393 app , project_id = project_uuid , node_id = node_id
@@ -1388,7 +1402,11 @@ async def _get_node_share_state(
13881402 if isinstance (service , DynamicServiceGet | NodeGet ):
13891403 # service is running
13901404 collaborative_service = await _is_service_collaborative (
1391- app , key = node .key , version = node .version
1405+ app ,
1406+ key = node .key ,
1407+ version = node .version ,
1408+ user_id = user_id ,
1409+ product_name = product_name ,
13921410 )
13931411
13941412 return NodeShareState (
0 commit comments