neptunium_http/endpoints/webhooks/
update_webhook_with_token.rs1use bon::Builder;
2use neptunium_model::id::{Id, marker::WebhookMarker};
3use reqwest::Method;
4use zeroize::Zeroizing;
5
6use crate::{
7 endpoints::{
8 Endpoint,
9 webhooks::{
10 get_webhook_with_token::GetWebhookWithTokenResponse, update_webhook::UpdateWebhookBody,
11 },
12 },
13 request::Request,
14};
15
16#[derive(Builder, Clone, Debug)]
17pub struct UpdateWebhookWithToken {
18 pub webhook_id: Id<WebhookMarker>,
19 pub token: Zeroizing<String>,
20 pub body: UpdateWebhookBody,
21}
22
23impl Endpoint for UpdateWebhookWithToken {
24 type Response = GetWebhookWithTokenResponse;
25
26 fn into_request(self) -> crate::request::Request {
27 Request::builder()
28 .method(Method::PATCH)
29 .use_authorization_token(false)
30 .body(serde_json::to_string(&self.body).unwrap())
31 .path(format!("/webhooks/{}/{}", self.webhook_id, *self.token))
32 .build()
33 }
34}