uptrakit_openapi_client/
api_tokens.rs1use crate::Result;
2use crate::UptrakitClient;
3use crate::types_impl::api_tokens::{
4 ApiTokenListResponse, CreateApiTokenRequest, CreateApiTokenResponse,
5};
6use uuid::Uuid;
7
8impl UptrakitClient {
9 pub async fn create_api_token(
11 &self,
12 req: &CreateApiTokenRequest,
13 ) -> Result<CreateApiTokenResponse> {
14 self.post_json(crate::paths::api_tokens::BASE, req).await
15 }
16
17 pub async fn list_api_tokens(&self) -> Result<ApiTokenListResponse> {
19 self.get(crate::paths::api_tokens::BASE).await
20 }
21
22 pub async fn revoke_api_token(&self, id: &Uuid) -> Result<()> {
24 self.delete(&crate::paths::api_tokens::by_id(id)).await
25 }
26}
27
28#[cfg(test)]
29mod tests {
30 use crate::types_impl::api_tokens::CreateApiTokenRequest;
31
32 #[test]
33 fn create_api_token_request_serialization() {
34 let req = CreateApiTokenRequest {
35 name: "my-token".to_string(),
36 };
37 let json = serde_json::to_value(&req).expect("serialize");
38 assert_eq!(json["name"], "my-token");
39 }
40}