use serde::{Deserialize, Serialize};
use strum::{EnumString, IntoStaticStr};
#[derive(Debug, Serialize, Deserialize, IntoStaticStr, EnumString, Clone, Copy, PartialEq, Eq)]
#[strum(serialize_all = "lowercase")]
pub enum CredentialAuthTokenOperation {
Login,
LinkCredential,
UnlinkCredential,
}
pub type SecretKey = [u8; 32];
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CredentialAuthTokenEmailRequest {
pub email: email_address::EmailAddress,
pub secret_key: Option<SecretKey>,
pub op: CredentialAuthTokenOperation,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CredentialAuthTokenSteamRequest {
pub steam_ticket: Vec<u8>,
pub secret_key: Option<SecretKey>,
pub op: CredentialAuthTokenOperation,
}