use async_trait::async_trait;
use crate::{security::AuthenticationContext, server::ApiErrorV1};
#[async_trait]
pub trait UserAccessLogger<S, O> {
type Error: Into<ApiErrorV1>;
async fn log_access(store: &S, auth_context: &AuthenticationContext) -> Result<O, Self::Error>;
}