commit - 68d918221826c5615baf78e1b2acb3579bae7121
commit + d944684a06594ea8d990811812d3c032ffc8d05c
blob - 450307cba41d678fd5dc8c231a18f64e1d9d26b3
blob + 33460cae6229af937a227be083fa490c839e56a3
--- shortcut_sdk.rs
+++ shortcut_sdk.rs
pub mention_ids: Vec<String>,
pub member_mention_ids: Vec<String>,
pub group_mention_ids: Vec<String>,
- pub associated_groups: Vec<EpicAssociatedGroup>,
+ // Shortcut serializes the empty case as `null`, not `[]`. Modeled
+ // as Option<Vec<_>> so:
+ // - the decoder accepts null without allocating an empty Vec,
+ // - the schema honestly distinguishes "absent" from "explicitly
+ // empty",
+ // - downstream code uses `.as_deref().unwrap_or(&[])` or matches
+ // None for the no-association case.
+ // EpicSlim and Iteration{,Slim} follow the same convention.
+ pub associated_groups: Option<Vec<EpicAssociatedGroup>>,
pub external_id: Option<String>,
pub position: i64,
pub stories_without_projects: i64,
pub mention_ids: Vec<String>,
pub member_mention_ids: Vec<String>,
pub group_mention_ids: Vec<String>,
- pub associated_groups: Vec<EpicAssociatedGroup>,
+ pub associated_groups: Option<Vec<EpicAssociatedGroup>>,
pub external_id: Option<String>,
pub position: i64,
pub stories_without_projects: i64,
pub mention_ids: Vec<String>,
pub member_mention_ids: Vec<String>,
pub group_mention_ids: Vec<String>,
- pub associated_groups: Vec<IterationAssociatedGroup>,
+ pub associated_groups: Option<Vec<IterationAssociatedGroup>>,
pub stats: IterationStats,
pub created_at: String,
pub updated_at: String,
pub mention_ids: Vec<String>,
pub member_mention_ids: Vec<String>,
pub group_mention_ids: Vec<String>,
- pub associated_groups: Vec<IterationAssociatedGroup>,
+ pub associated_groups: Option<Vec<IterationAssociatedGroup>>,
pub stats: IterationStats,
pub created_at: String,
pub updated_at: String,