use serde::{Deserialize, Serialize};
use crate::error::Result;
use super::build_client;
use super::models::PaginatedResponse;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CorporateEvent {
pub ticker: Option<String>,
pub event_type: Option<String>,
pub name: Option<String>,
pub date: Option<String>,
pub status: Option<String>,
#[serde(flatten)]
pub details: std::collections::HashMap<String, serde_json::Value>,
}
pub async fn corporate_events(
params: &[(&str, &str)],
) -> Result<PaginatedResponse<CorporateEvent>> {
let client = build_client()?;
client.get("/v1/reference/corporate-events", params).await
}