finery 0.22.0

Keyboard-first Jira backlog and Composer with optional MCP access
Documentation
use crate::{service::AppService, store::work_items::VelocitySprint};

use super::page::velocity_share_report;

pub(super) fn copy_report(service: &AppService, mut sprint: VelocitySprint) {
    let worker_service = service.clone();
    service.copy_in_background(move || {
        let (base_url, tickets) = worker_service.jira_velocity_tickets(&[sprint.id])?;
        sprint.work_items = Some(
            tickets
                .into_iter()
                .find(|(id, _)| *id == sprint.id)
                .ok_or_else(|| "Jira sprint report response is missing".to_string())?
                .1?,
        );
        Ok(velocity_share_report(&sprint, None, Some(&base_url)))
    });
}

#[cfg(test)]
#[path = "tests/velocity_reports.rs"]
mod tests;