use std::fmt::Write;
use crate::client::client;
use crate::model::{expense_item, types};
pub async fn expense_item(
client: &client::Client,
id: types::UUID,
) -> Result<expense_item::ExpenseItem, Box<dyn std::error::Error>> {
Ok(client
.read::<expense_item::ExpenseItem>(&format!("expense-items/{id}"), None)
.await?)
}
pub async fn expense_items(
client: &client::Client,
expense_report: Option<types::UUID>,
) -> Result<expense_item::ExpenseItems, Box<dyn std::error::Error>> {
let mut params = String::from("limit=100");
if let Some(expense_report) = expense_report {
write!(params, "&expenseReportId={}", expense_report)?;
}
Ok(client
.read::<expense_item::ExpenseItems>("expense-items", Some(¶ms))
.await?)
}
#[cfg(test)]
mod tests;