magnetar/src/model/processing/mod.rs

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
}