gitv_tui/auth/mod.rs
1use crate::errors::AppError;
2
3pub trait AuthProvider {
4 fn get_token(&self) -> Result<String, AppError>;
5 fn set_token(&self, token: &str) -> Result<(), AppError>;
6}
7
8impl<T: AuthProvider + ?Sized> AuthProvider for Box<T> {
9 fn get_token(&self) -> Result<String, AppError> {
10 self.as_ref().get_token()
11 }
12
13 fn set_token(&self, token: &str) -> Result<(), AppError> {
14 self.as_ref().set_token(token)
15 }
16}
17
18pub mod env;
19pub mod keyring;
20pub mod token;