setActiveSharedProfileInFile function
Implementation
Future<SharedProfile> setActiveSharedProfileInFile({required File file, required String userId}) async {
final settings = await _readSettings(file);
final users = settings["users"];
if (users is! Map || users[userId] is! Map) {
throw StateError("No saved profile matches $userId.");
}
settings["active_user_id"] = userId;
await _writeSettings(file, settings);
final snapshot = await loadSharedProfileSettingsFromFile(file);
final selected = snapshot.activeProfile;
if (selected == null || selected.userId != userId) {
throw StateError("Unable to activate profile $userId.");
}
return selected;
}