36 lines
869 B
Rust
36 lines
869 B
Rust
use crate::service::emoji_cache::EmojiCacheError;
|
|
use magnetar_calckey_model::sea_orm::DbErr;
|
|
use magnetar_calckey_model::CalckeyDbError;
|
|
use magnetar_sdk::mmm::Token;
|
|
use thiserror::Error;
|
|
|
|
pub mod emoji;
|
|
pub mod user;
|
|
|
|
#[derive(Debug, Error)]
|
|
pub enum PackError {
|
|
#[error("Database error: {0}")]
|
|
DbError(#[from] DbErr),
|
|
#[error("Calckey database wrapper error: {0}")]
|
|
CalckeyDbError(#[from] CalckeyDbError),
|
|
#[error("Emoji cache error: {0}")]
|
|
EmojiCacheError(#[from] EmojiCacheError),
|
|
}
|
|
|
|
pub type PackResult<T> = Result<T, PackError>;
|
|
|
|
fn get_mm_token_emoji(token: &Token) -> Vec<String> {
|
|
let mut v = Vec::new();
|
|
token.walk_map_collect(
|
|
|t| {
|
|
if let Token::ShortcodeEmoji(e) = t {
|
|
Some(e.to_owned())
|
|
} else {
|
|
None
|
|
}
|
|
},
|
|
&mut v,
|
|
);
|
|
v
|
|
}
|