emitStartTraining method

bool emitStartTraining({
  1. required String email,
  2. String? username,
  3. required List<String> platforms,
})

Start training using the onairos-npm protocol: connect -> emit start-training with socketId + email/username + platforms.

Implementation

bool emitStartTraining({
  required String email,
  String? username,
  required List<String> platforms,
}) {
  try {
    final socket = _socket;
    if (socket == null || !_isConnected) {
      print('⚠️ [SOCKET] Cannot emit start-training: not connected');
      return false;
    }
    final id = socket.id;
    if (id == null || id.isEmpty) {
      print('⚠️ [SOCKET] Cannot emit start-training: socket.id is null');
      return false;
    }

    final payload = {
      'socketId': id,
      'email': email,
      'username': username ?? email,
      'platforms': platforms,
      'connectedAccounts': platforms,
    };
    print('🚀 [SOCKET] Emitting start-training: $payload');
    socket.emit('start-training', payload);
    return true;
  } catch (e) {
    print('❌ [SOCKET] Failed to emit start-training: $e');
    return false;
  }
}