@@ -1249,6 +1249,22 @@ async def patch_project_node(
12491249 partial_node = partial_node ,
12501250 )
12511251
1252+ (
1253+ project_document ,
1254+ document_version ,
1255+ ) = await create_project_document_and_increment_version (app , project_id )
1256+
1257+ user_primary_gid = await users_service .get_user_primary_group_id (app , user_id )
1258+
1259+ await notify_project_document_updated (
1260+ app = app ,
1261+ project_id = project_id ,
1262+ user_primary_gid = user_primary_gid ,
1263+ client_session_id = client_session_id ,
1264+ version = document_version ,
1265+ document = project_document ,
1266+ )
1267+
12521268 # 4. Make calls to director-v2 to keep data in sync (ex. comp_* DB tables)
12531269 await director_v2_service .create_or_update_pipeline (
12541270 app ,
@@ -1262,18 +1278,27 @@ async def patch_project_node(
12621278 app , project_id = project_id
12631279 )
12641280
1281+ updated_project = await _projects_repository .get_project_with_workbench (
1282+ app , project_uuid = project_id
1283+ )
1284+
12651285 # 5. Updates project states for user, if inputs/outputs have been changed
12661286 if {"inputs" , "outputs" } & _node_patch_exclude_unset .keys ():
12671287 updated_project = await add_project_states_for_user (
1268- user_id = user_id , project = updated_project , is_template = False , app = app
1288+ user_id = user_id ,
1289+ project = updated_project .model_dump (),
1290+ is_template = False ,
1291+ app = app ,
12691292 )
12701293 for node_uuid in updated_project ["workbench" ]:
12711294 await notify_project_node_update (
12721295 app , updated_project , node_uuid , errors = None
12731296 )
12741297 return
12751298
1276- await notify_project_node_update (app , updated_project , node_id , errors = None )
1299+ await notify_project_node_update (
1300+ app , updated_project .model_dump (), node_id , errors = None
1301+ )
12771302
12781303
12791304async def update_project_node_outputs (
0 commit comments