authx_core/models/
credential.rs1use serde::{Deserialize, Serialize};
2use uuid::Uuid;
3
4#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
5#[serde(rename_all = "snake_case")]
6pub enum CredentialKind {
7 Password,
8 Passkey,
9 OauthToken,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct Credential {
14 pub id: Uuid,
15 pub user_id: Uuid,
16 pub kind: CredentialKind,
17 pub credential_hash: String,
18 pub metadata: serde_json::Value,
19}
20
21#[derive(Debug, Clone)]
22pub struct CreateCredential {
23 pub user_id: Uuid,
24 pub kind: CredentialKind,
25 pub credential_hash: String,
26 pub metadata: Option<serde_json::Value>,
27}