1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-06-20 16:35:17 +00:00

Can make global search

This commit is contained in:
2020-06-23 18:55:23 +02:00
parent c4eec8150c
commit 2cf2146f17
11 changed files with 132 additions and 7 deletions

View File

@ -0,0 +1,36 @@
//! # Global search result API
//!
//! @author Pierre
use serde::Serialize;
use crate::data::global_search_result::GlobalSearchResult;
#[derive(Serialize)]
pub struct GlobalSearchResultAPI {
kind: String,
id: u64,
}
impl GlobalSearchResultAPI {
/// Construct new entry
pub fn new(res: &GlobalSearchResult) -> GlobalSearchResultAPI {
match res {
GlobalSearchResult::User(user_id) => GlobalSearchResultAPI {
kind: "user".to_string(),
id: user_id.clone() as u64,
},
GlobalSearchResult::Group(group_id) => GlobalSearchResultAPI {
kind: "group".to_string(),
id: group_id.id(),
},
}
}
/// Construct a list of results
pub fn for_list(l: &Vec<GlobalSearchResult>) -> Vec<GlobalSearchResultAPI> {
l.iter()
.map(|f| Self::new(f))
.collect()
}
}

View File

@ -21,4 +21,5 @@ pub mod res_find_private_conversations;
pub mod conversation_message_api;
pub mod conversations_refresh_api;
pub mod res_count_unread_conversations;
pub mod list_unread_conversations_api;
pub mod list_unread_conversations_api;
pub mod global_search_result_api;