registerDevice method
Implementation
Future<void> registerDevice(Map<String, dynamic> data) async {
const String url = 'http://192.168.0.87:3333/registerdevice';
print('Registering device with data: $data');
try {
final response = await _dio.post(
url,
data: data,
options: Options(
headers: {'Content-Type': 'application/json'},
),
);
print('Response: ${response.data}');
if (response.statusCode == 200) {
print('Device registered successfully: ${response.data}');
final responseData = response.data;
if (responseData['IsSuccess'] == true) {
final configurations = responseData['Configurations'];
if (configurations != null && configurations.isNotEmpty) {
final config = configurations[0];
final clientConfig = config['appidpclientconfiguration'];
final clientId = clientConfig['CLIENT_ID'];
final clientSecret = clientConfig['CLIENT_SECRET'];
final appidpid = int.tryParse(config['appidpid']);
final idpid = int.tryParse(config['idpid']);
// Store values in SharedPreferences
final prefs = await SharedPreferences.getInstance();
await prefs.setString('clientId', clientId);
await prefs.setString('clientSecret', clientSecret ?? '');
await prefs.setInt('appidpid', appidpid ?? 0);
await prefs.setInt('idpid', idpid ?? 0);
}
}
} else {
print('Failed to register device: ${response.statusCode} ${response.data}');
}
} catch (e) {
print('Error registering device: $e');
}
}