workdir: project occupancy from links

This commit is contained in:
2026-07-24 09:29:25 +09:00
parent b1570aba63
commit e0b092dbc8
9 changed files with 202 additions and 21 deletions
+11
View File
@@ -138,6 +138,15 @@ pub struct WorkingDirectoryCleanupTarget {
pub repository_id: String,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct WorkingDirectoryOccupancy {
pub runtime_id: String,
pub runtime_worker_id: u64,
pub worker_id: String,
pub display_name: String,
pub linked_at: String,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct WorkingDirectorySummary {
pub working_directory_id: String,
@@ -156,6 +165,8 @@ pub struct WorkingDirectorySummary {
pub cleanliness: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub primary_worker_id: Option<WorkerId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub occupied_by: Option<WorkingDirectoryOccupancy>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
@@ -48,6 +48,7 @@ impl WorkingDirectory {
status: self.status.clone(),
cleanliness: None,
primary_worker_id: None,
occupied_by: None,
}
}
}
@@ -221,6 +222,7 @@ impl LocalGitWorktreeMaterializer {
status: WorkingDirectoryStatusKind::Corrupted,
cleanliness: Some("unknown".to_string()),
primary_worker_id: None,
occupied_by: None,
},
}
}