async def METHOD_NAME(
    oauth_crud: OAuthCrud, installation: OauthCredentials
) -> Optional[str]:
    if not installation.refresh_token_enc:
        return None
    if datetime.now() + timedelta(minutes=5) > installation.access_token_expiration:
        refresh_token = encryption_service.decrypt(installation.refresh_token_enc)
        access_token, expiration = await token_exchange(refresh_token)
        installation.access_token_enc = encryption_service.encrypt(access_token)
        installation.access_token_expiration = expiration
        await installation.save(oauth_crud.session)
    return encryption_service.decrypt(installation.access_token_enc)