Skip to content

Commit d238502

Browse files
committed
Add migrate_to_oauth
1 parent ac44345 commit d238502

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

tesla_fleet_api/teslemetry/__init__.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
from tesla_fleet_api.teslemetry.teslemetry import Teslemetry
21
from tesla_fleet_api.tesla.charging import Charging
3-
from tesla_fleet_api.tesla.energysite import EnergySites, EnergySite
2+
from tesla_fleet_api.tesla.energysite import EnergySite, EnergySites
43
from tesla_fleet_api.tesla.user import User
5-
from tesla_fleet_api.teslemetry.vehicles import TeslemetryVehicles as Vehicles, TeslemetryVehicle as Vehicle
4+
from tesla_fleet_api.teslemetry.teslemetry import Teslemetry
5+
from tesla_fleet_api.teslemetry.vehicles import TeslemetryVehicle as Vehicle
6+
from tesla_fleet_api.teslemetry.vehicles import TeslemetryVehicles as Vehicles
67

78
__all__ = [
89
"Teslemetry",

tesla_fleet_api/teslemetry/teslemetry.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
from collections.abc import Awaitable, Callable
2+
from time import time
13
from typing import Any
24

35
import aiohttp
4-
from typing_extensions import Awaitable, Callable
56

67
from tesla_fleet_api.const import LOGGER, Method
78
from tesla_fleet_api.tesla import TeslaFleetApi
@@ -104,3 +105,19 @@ async def vehicle_data_refresh(self, vin: str) -> dict[str, Any]:
104105
Method.GET,
105106
f"api/refresh/{vin}",
106107
)
108+
109+
async def migrate_to_oauth(
110+
self, client_id: str, access_token: str, name: str | None = None
111+
) -> dict[str, Any]:
112+
"""Migrate from access token to OAuth."""
113+
migrate_data = {
114+
"grant_type": "migrate",
115+
"client_id": client_id,
116+
"access_token": access_token.strip(),
117+
"name": name,
118+
}
119+
120+
new_token = await self._request(Method.POST, "oauth/token", json=migrate_data)
121+
new_token["expires_in"] = int(new_token["expires_in"])
122+
new_token["expires_at"] = time() + new_token["expires_in"]
123+
return {"token": new_token}

0 commit comments

Comments
 (0)