enbbox 1.0.1

Notification infrastructure API — open-source alternative to Novu/Courier
Documentation
/*
 * enbbox API
 *
 * Notification infrastructure API — open-source alternative to Novu/Courier
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// ApiKey : API key metadata. The full key is only shown at creation time.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ApiKey {
    /// When the key was created.
    #[serde(rename = "created_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<Option<String>>,
    /// Unique identifier for this API key.
    #[serde(rename = "id")]
    pub id: uuid::Uuid,
    /// Masked API key (first 12 chars + `...`).
    #[serde(rename = "masked_key")]
    pub masked_key: String,
    /// ID of the user who created this key.
    #[serde(rename = "user_id")]
    pub user_id: uuid::Uuid,
}

impl ApiKey {
    /// API key metadata. The full key is only shown at creation time.
    pub fn new(id: uuid::Uuid, masked_key: String, user_id: uuid::Uuid) -> ApiKey {
        ApiKey {
            created_at: None,
            id,
            masked_key,
            user_id,
        }
    }
}