twitch_highway 0.2.1

Twitch API
Documentation
use serde::Serialize;

use crate::types::{GameId, UserId};

define_request!(
    #[derive(Serialize)]
    GetStreamsRequest<'a> {
        opts: {
            user_id	:&'a [UserId] => USER_ID ; vec,
            user_login:&'a [&'a str] => "user_login" ; vec,
            game_id:&'a [GameId] => GAME_ID ; vec,
            #[serde(rename="type")]
            kind: &'a str => "type",
            language: &'a [&'a str] => "language" ; vec,
        };
        into_query
    }
);

define_request!(
    #[derive(Serialize)]
    CreateStreamMarkerRequest<'a> {
        req: {
            user_id: &'a UserId,
            #[serde(skip_serializing_if = "Option::is_none")]
            description: Option<&'a str>,
        };
        into_json
    }
);

define_select!(
    #[derive(Debug, Serialize)]
    StreamMarkerSelector<'a> {
        user_id: &'a UserId => USER_ID as by_user_id,
        video_id: &'a str as by_video_id,
    };
    into_query
);

define_request!(
    #[derive(Serialize)]
    GetStreamMarkerRequest<'a> {
        opts: {
            video_id: &'a str,
            user_id: &'a UserId => USER_ID
        }
    }
);