use crate::config::OAuthConfig;
use crate::error::{OAuthError, Result};
use super::{TokenRequest, TokenResponse};
pub fn issue_token(config: &OAuthConfig, request: &TokenRequest) -> Result<TokenResponse> {
if !config.refresh_tokens_enabled() {
return Err(OAuthError::UnsupportedGrant(
"refresh tokens are disabled for this configuration".into(),
));
}
if request.refresh_token.is_none() {
return Err(OAuthError::InvalidGrant(
"refresh_token grant requires `refresh_token`".into(),
));
}
Err(OAuthError::NotImplemented("refresh_token grant flow"))
}