Skip to main content

roblox_api/api/user_blocking/
v1.rs

1use serde::{Deserialize, Serialize};
2
3use crate::endpoint;
4
5pub const URL: &str = "https://apis.roblox.com/user-blocking-api/v1";
6
7#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct UserBlockStatus {
10    #[serde(rename = "userId")]
11    pub id: u64,
12    pub is_blocked: bool,
13    pub is_blocking_viewer: bool,
14}
15
16endpoint! {
17    is_blocked(id: u64) -> bool {
18        GET "{URL}/users/{id}/is-blocked";
19    }
20
21    batch_check_reciprocal_block(requester_id: u64, ids: &[u64]) -> Vec<UserBlockStatus> {
22        POST "{URL}/users/batch-check-reciprocal-block";
23
24        types {
25            Request<'a> {
26                requester_id("requesterUserId"): u64,
27                ids("userIds"): &'a [u64],
28            }
29            Response {
30                users: Vec<UserBlockStatus>,
31            }
32        }
33
34        body_serialize {
35            Request { requester_id, ids }
36        }
37
38        map |res: Response| res.users
39    }
40}