rex_app/views/
search_view.rs1use anyhow::Result;
2use rex_db::ConnCache;
3use rex_db::models::{FullTx, NewSearch};
4
5pub struct SearchView(Vec<FullTx>);
6
7pub(crate) fn get_search_txs(
8 search: &NewSearch,
9 db_conn: &mut impl ConnCache,
10) -> Result<SearchView> {
11 let result = search.search_txs(db_conn)?;
12
13 let search_view = SearchView(result);
14
15 Ok(search_view)
16}
17
18impl SearchView {
19 #[must_use]
20 pub fn tx_array(&self) -> Vec<Vec<String>> {
21 self.0.iter().map(FullTx::to_array).collect()
22 }
23
24 #[must_use]
25 pub fn get_tx(&self, index: usize) -> &FullTx {
26 &self.0[index]
27 }
28
29 #[must_use]
30 pub fn is_empty(&self) -> bool {
31 self.0.is_empty()
32 }
33
34 #[must_use]
35 pub fn new_empty() -> Self {
36 SearchView(Vec::new())
37 }
38}