use sqlx::sqlite::SqlitePool;
use super::repo::auth::Provider as _;
use crate::{
clock::DateTime,
error::BoxedError,
password::StoredHash,
repo::{
login::{Login, Provider as _},
token::Provider as _,
},
};
pub struct Logins<'a> {
db: &'a SqlitePool,
}
impl<'a> Logins<'a> {
pub const fn new(db: &'a SqlitePool) -> Self {
Self { db }
}
pub async fn login(
&self,
name: &str,
password: &str,
login_at: DateTime,
) -> Result