use uuid::Uuid; use opaque_ke::ServerLogin; use crate::server::repository::opaque_repo::{AuthRepoError, OpaqueDatabaseRepo}; use crate::shared::models::opaque::{NKodeCipherSuite, PasswordFile}; pub struct RegCache { pub session_id: Uuid, pub identifier: Vec, } pub struct LoginCache { pub session_id: Uuid, pub identifiers: Vec, pub server_login: ServerLogin, } pub trait CredKind { fn has(repo: &R, id: &[u8]) -> bool; fn get_password_file(repo: &R, id: &[u8]) -> Result; fn set_password_file(repo: &mut R, id: &[u8], pf: PasswordFile) -> Result<(), AuthRepoError>; fn prereq_for_register(_repo: &R, _id: &[u8]) -> Result<(), AuthRepoError> { Ok(()) } }