use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Message {
#[allow(missing_docs)]
pub message: String,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct MembersAndApiKeys {
#[allow(missing_docs)]
pub api_keys: Vec<MemberAndApiKey>,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct MemberAndApiKey {
#[allow(missing_docs)]
pub member: Member,
#[allow(missing_docs)]
pub api_key: ApiKey,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct Member {
#[allow(missing_docs)]
pub member_id: Uuid,
#[allow(missing_docs)]
pub first_name: Option<String>,
#[allow(missing_docs)]
pub last_name: Option<String>,
#[allow(missing_docs)]
pub email: String,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct ApiKey {
#[allow(missing_docs)]
pub api_key_id: Uuid,
#[allow(missing_docs)]
pub comment: String,
#[allow(missing_docs)]
pub scopes: Vec<String>,
#[allow(missing_docs)]
pub tags: Option<Vec<String>>,
#[allow(missing_docs)]
pub created: String,
#[allow(missing_docs)]
pub expiration_date: Option<String>,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct NewApiKey {
#[allow(missing_docs)]
pub api_key_id: Uuid,
#[allow(missing_docs)]
pub key: String,
#[allow(missing_docs)]
pub comment: String,
#[allow(missing_docs)]
pub scopes: Vec<String>,
#[allow(missing_docs)]
pub tags: Option<Vec<String>>,
#[allow(missing_docs)]
pub created: String,
#[allow(missing_docs)]
pub expiration_date: Option<String>,
}