fetchToken method
Fetch a JWT token for the session from the backend. Called once at startup before any other API call.
Implementation
Future<Map<String, dynamic>> fetchToken() async {
final url = Uri.parse(
'${config.baseUrl}/token/${config.sessionId}',
);
final response = await _client.get(
url,
headers: {
'Accept': 'application/json',
'api-key': config.apiKey,
},
);
if (response.statusCode != 200) {
throw DataleonApiException(
'Failed to fetch token',
statusCode: response.statusCode,
);
}
final body = jsonDecode(response.body) as Map<String, dynamic>;
final token = body['token'] as String?;
if (token != null && token.isNotEmpty) {
config.sessionToken = token;
}
return body;
}