openapi_github/models/
copilot_usage_metrics.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CopilotUsageMetrics {
17 #[serde(rename = "day")]
19 pub day: String,
20 #[serde(rename = "total_suggestions_count", skip_serializing_if = "Option::is_none")]
22 pub total_suggestions_count: Option<i32>,
23 #[serde(rename = "total_acceptances_count", skip_serializing_if = "Option::is_none")]
25 pub total_acceptances_count: Option<i32>,
26 #[serde(rename = "total_lines_suggested", skip_serializing_if = "Option::is_none")]
28 pub total_lines_suggested: Option<i32>,
29 #[serde(rename = "total_lines_accepted", skip_serializing_if = "Option::is_none")]
31 pub total_lines_accepted: Option<i32>,
32 #[serde(rename = "total_active_users", skip_serializing_if = "Option::is_none")]
34 pub total_active_users: Option<i32>,
35 #[serde(rename = "total_chat_acceptances", skip_serializing_if = "Option::is_none")]
37 pub total_chat_acceptances: Option<i32>,
38 #[serde(rename = "total_chat_turns", skip_serializing_if = "Option::is_none")]
40 pub total_chat_turns: Option<i32>,
41 #[serde(rename = "total_active_chat_users", skip_serializing_if = "Option::is_none")]
43 pub total_active_chat_users: Option<i32>,
44 #[serde(rename = "breakdown", deserialize_with = "Option::deserialize")]
46 pub breakdown: Option<Vec<models::CopilotUsageMetricsBreakdownInner>>,
47}
48
49impl CopilotUsageMetrics {
50 pub fn new(day: String, breakdown: Option<Vec<models::CopilotUsageMetricsBreakdownInner>>) -> CopilotUsageMetrics {
52 CopilotUsageMetrics {
53 day,
54 total_suggestions_count: None,
55 total_acceptances_count: None,
56 total_lines_suggested: None,
57 total_lines_accepted: None,
58 total_active_users: None,
59 total_chat_acceptances: None,
60 total_chat_turns: None,
61 total_active_chat_users: None,
62 breakdown,
63 }
64 }
65}
66