Skip to content

Commit f9c37e8

Browse files
feat(Common/SCM): Add DTO for updating SCM group properties
Added `SourceControlGroupUpdateDTO` struct to the `Common` crate to support updating source control group properties without modifying resources. This DTO: - Defines serializable fields for provider handle, group ID, and label - Uses PascalCase serialization to align with gRPC conventions in `Vine` - Enables partial updates of SCM groups (e.g., changing labels/visibility) This completes the core DTO set for SCM operations following recent additions (`SourceControlGroupUpdateDTO` joins provider creation DTOs). The struct will be used in `Mountain`'s SCM handlers and transmitted via gRPC to `Cocoon` for extension communication, advancing the implemented SCM workflow.
1 parent e1d80e4 commit f9c37e8

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//! # SourceControlGroupUpdateDTO
2+
//!
3+
//! Defines the DTO for updating the properties of an SCM resource group.
4+
5+
use serde::{Deserialize, Serialize};
6+
7+
/// A serializable struct used to update the properties of a source control
8+
/// group, such as its label or visibility, without affecting its list of
9+
/// resources.
10+
#[derive(Serialize, Deserialize, Debug, Clone)]
11+
#[serde(rename_all = "PascalCase")]
12+
pub struct SourceControlGroupUpdateDTO {
13+
/// The handle of the provider that owns the group.
14+
pub ProviderHandle:u32,
15+
/// The unique identifier for the group within its provider.
16+
pub GroupID:String,
17+
/// The new human-readable label for the group.
18+
pub Label:String,
19+
// Other properties like `HideWhenEmpty` could be added here.
20+
}

0 commit comments

Comments
 (0)