Skip to main content

neptunium_http/endpoints/guild/members/
remove_role_from_member.rs

1use bon::Builder;
2use neptunium_model::id::{
3    Id,
4    marker::{GuildMarker, RoleMarker, UserMarker},
5};
6use reqwest::Method;
7
8use crate::{endpoints::Endpoint, request::Request};
9
10#[derive(Builder, Copy, Clone, Debug)]
11pub struct RemoveRoleFromGuildMember {
12    pub guild_id: Id<GuildMarker>,
13    pub user_id: Id<UserMarker>,
14    pub role_id: Id<RoleMarker>,
15}
16
17impl Endpoint for RemoveRoleFromGuildMember {
18    type Response = ();
19
20    fn into_request(self) -> crate::request::Request {
21        Request::builder()
22            .method(Method::DELETE)
23            .path(format!(
24                "/guilds/{}/members/{}/roles/{}",
25                self.guild_id, self.user_id, self.role_id
26            ))
27            .build()
28    }
29}