amagi 0.1.4

Rust SDK, CLI, and Web API service skeleton for multi-platform social web adapters.
Documentation
mod auth;
mod content;
mod live;
mod social;
mod user;

use crate::client::AmagiClient;
use crate::config::DouyinRunTask;
use crate::error::AppError;
use crate::output::Printer;

pub(super) async fn run_task(
    printer: &Printer,
    client: &AmagiClient,
    task: &DouyinRunTask,
) -> Result<(), AppError> {
    match task {
        DouyinRunTask::ParseWork { .. }
        | DouyinRunTask::VideoWork { .. }
        | DouyinRunTask::ImageAlbumWork { .. }
        | DouyinRunTask::SlidesWork { .. }
        | DouyinRunTask::TextWork { .. }
        | DouyinRunTask::MusicInfo { .. }
        | DouyinRunTask::DanmakuList { .. } => content::run_task(printer, client, task).await,
        DouyinRunTask::WorkComments { .. }
        | DouyinRunTask::CommentReplies { .. }
        | DouyinRunTask::Search { .. }
        | DouyinRunTask::SuggestWords { .. } => social::run_task(printer, client, task).await,
        DouyinRunTask::UserProfile { .. }
        | DouyinRunTask::UserVideoList { .. }
        | DouyinRunTask::UserFavoriteList { .. }
        | DouyinRunTask::UserRecommendList { .. } => user::run_task(printer, client, task).await,
        DouyinRunTask::LiveRoomInfo { .. } => live::run_task(printer, client, task).await,
        DouyinRunTask::LoginQrcode { .. }
        | DouyinRunTask::EmojiList
        | DouyinRunTask::DynamicEmojiList => auth::run_task(printer, client, task).await,
    }
}