neptunium_http/endpoints/guild/
toggle_detached_banner.rs1use bon::Builder;
2use neptunium_model::{
3 guild::Guild,
4 id::{Id, marker::GuildMarker},
5};
6use reqwest::Method;
7use serde_json::json;
8
9use crate::{endpoints::Endpoint, request::Request};
10
11#[derive(Builder, Copy, Clone, Debug)]
12pub struct ToggleDetachedBanner {
13 pub guild_id: Id<GuildMarker>,
14 pub enabled: bool,
15}
16
17impl Endpoint for ToggleDetachedBanner {
18 type Response = Guild;
19
20 fn into_request(self) -> crate::request::Request {
21 let body = json!({
22 "enabled": self.enabled,
23 })
24 .to_string();
25
26 Request::builder()
27 .method(Method::PATCH)
28 .body(body)
29 .path(format!("/guilds/{}/detached-banner", self.guild_id))
30 .build()
31 }
32}