ForgeFlux/src/auth/adapter/input/web/types.rs

30 lines
1.2 KiB
Rust

use std::sync::Arc;
use actix_web::web;
use crate::auth::adapter::out::forge::forge_repository::ForgeRepositoryInterface;
use crate::auth::application::port::out::db::{
delete_oauth_state::DeleteOAuthState, oauth_state_exists::OAuthStateExists,
save_oauth_access_token::SaveOAuthAccessToken, save_oauth_state::SaveOAuthState,
};
use crate::auth::application::port::out::forge::{
get_username::GetUsername, request_access_token::RequestAccessToken,
};
pub(super) use crate::utils::random_string::WebGenerateRandomStringInterface;
use super::RoutesRepository;
pub type WebForgeRepositoryInterface = web::Data<Arc<dyn ForgeRepositoryInterface>>;
pub type WebRouteRepository = web::Data<Arc<RoutesRepository>>;
pub type WebSettings = web::Data<crate::settings::Settings>;
pub type WebSaveOauthState = web::Data<Arc<dyn SaveOAuthState>>;
pub type WebOauthStateExists = web::Data<Arc<dyn OAuthStateExists>>;
pub type WebDeleteOauthState = web::Data<Arc<dyn DeleteOAuthState>>;
pub type WebSaveOAuthAccessToken = web::Data<Arc<dyn SaveOAuthAccessToken>>;
pub type WebGetUsername = web::Data<Arc<dyn GetUsername>>;
pub type WebRequestAccessToken = web::Data<Arc<dyn RequestAccessToken>>;