mirror of
https://github.com/stoatchat/stoatchat.git
synced 2026-07-14 21:47:02 +00:00
feat: initial work on elasticsearch integration
Signed-off-by: Zomatree <me@zomatree.live>
This commit is contained in:
@@ -14,6 +14,7 @@ mod server_members;
|
||||
mod servers;
|
||||
mod user_settings;
|
||||
mod users;
|
||||
mod search;
|
||||
|
||||
pub use bots::*;
|
||||
pub use channel_invites::*;
|
||||
@@ -31,3 +32,4 @@ pub use server_members::*;
|
||||
pub use servers::*;
|
||||
pub use user_settings::*;
|
||||
pub use users::*;
|
||||
pub use search::*;
|
||||
|
||||
49
crates/core/models/src/v0/search.rs
Normal file
49
crates/core/models/src/v0/search.rs
Normal file
@@ -0,0 +1,49 @@
|
||||
use iso8601_timestamp::Timestamp;
|
||||
|
||||
auto_derived!(
|
||||
pub struct DataChannelMessagesSearch {
|
||||
pub channel: Option<String>,
|
||||
pub server: Option<String>,
|
||||
pub offset: Option<u64>,
|
||||
pub limit: Option<u64>,
|
||||
pub filters: Option<DataChannelMessagesSearchFilters>,
|
||||
pub sort: Option<SortOrder>,
|
||||
pub include_users: Option<bool>,
|
||||
}
|
||||
|
||||
pub struct DataChannelMessagesSearchFilters {
|
||||
pub content: Option<String>,
|
||||
pub author: Option<Vec<String>>,
|
||||
pub mentions: Option<Vec<String>>,
|
||||
pub role_mentions: Option<Vec<String>>,
|
||||
pub before_date: Option<Timestamp>,
|
||||
pub after_date: Option<Timestamp>,
|
||||
pub author_type: Option<Vec<AuthorType>>,
|
||||
pub pinned: Option<bool>,
|
||||
pub components: Option<Vec<MessageComponent>>,
|
||||
}
|
||||
|
||||
#[derive(Copy)]
|
||||
pub enum AuthorType {
|
||||
User,
|
||||
// Bot,
|
||||
Webhook,
|
||||
}
|
||||
|
||||
#[derive(Copy)]
|
||||
pub enum MessageComponent {
|
||||
Image,
|
||||
Video,
|
||||
// Link,
|
||||
File,
|
||||
Embed,
|
||||
}
|
||||
|
||||
#[derive(Copy, Default)]
|
||||
#[cfg_attr(feature = "serde", serde(rename_all = "lowercase"))]
|
||||
pub enum SortOrder {
|
||||
Asc,
|
||||
#[default]
|
||||
Desc,
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user