monitor_client/api/write/
api_key.rs1use derive_empty_traits::EmptyTraits;
2use resolver_api::derive::Request;
3use serde::{Deserialize, Serialize};
4use typeshare::typeshare;
5
6use crate::{
7 api::user::CreateApiKeyResponse,
8 entities::{NoData, I64},
9};
10
11use super::MonitorWriteRequest;
12
13#[typeshare]
18#[derive(
19 Serialize, Deserialize, Debug, Clone, Request, EmptyTraits,
20)]
21#[empty_traits(MonitorWriteRequest)]
22#[response(CreateApiKeyForServiceUserResponse)]
23pub struct CreateApiKeyForServiceUser {
24 pub user_id: String,
26 pub name: String,
28 #[serde(default)]
31 pub expires: I64,
32}
33
34#[typeshare]
35pub type CreateApiKeyForServiceUserResponse = CreateApiKeyResponse;
36
37#[typeshare]
42#[derive(
43 Serialize, Deserialize, Debug, Clone, Request, EmptyTraits,
44)]
45#[empty_traits(MonitorWriteRequest)]
46#[response(DeleteApiKeyForServiceUserResponse)]
47pub struct DeleteApiKeyForServiceUser {
48 pub key: String,
49}
50
51#[typeshare]
52pub type DeleteApiKeyForServiceUserResponse = NoData;