@@ -365,15 +365,26 @@ class ExecutionManagementServiceBybit : public ExecutionManagementService {
365365 if (document.HasMember (" op" )) {
366366 std::string op = document[" op" ].GetString ();
367367 if (op == " auth" ) {
368+ message.setCorrelationIdList ({subscription.getCorrelationId ()});
368369 std::string retCode = document[" retCode" ].GetString ();
369370 if (retCode == " 0" ) {
370371 event.setType (Event::Type::AUTHORIZATION_STATUS);
371- Message message;
372372 message.setType (Message::Type::AUTHORIZATION_SUCCESS);
373373 Element element;
374+ element.insert (CCAPI_CONNECTION_ID, wsConnectionPtr->id );
375+ element.insert (CCAPI_CONNECTION_URL, wsConnectionPtr->url );
374376 element.insert (CCAPI_INFO_MESSAGE, textMessage);
375377 message.setElementList ({element});
376378 messageList.emplace_back (std::move (message));
379+ } else {
380+ event.setType (Event::Type::AUTHORIZATION_STATUS);
381+ message.setType (Message::Type::AUTHORIZATION_FAILURE);
382+ Element element;
383+ element.insert (CCAPI_CONNECTION_ID, wsConnectionPtr->id );
384+ element.insert (CCAPI_CONNECTION_URL, wsConnectionPtr->url );
385+ element.insert (CCAPI_ERROR_MESSAGE, textMessage);
386+ message.setElementList ({element});
387+ messageList.emplace_back (std::move (message));
377388 }
378389 } else if (op == " order.create" || op == " order.cancel" ) {
379390 unsigned long wsRequestId = std::stoul (document[" reqId" ].GetString ());
@@ -520,9 +531,10 @@ class ExecutionManagementServiceBybit : public ExecutionManagementService {
520531 bool success = document[" success" ].GetBool ();
521532 if (success) {
522533 event.setType (Event::Type::AUTHORIZATION_STATUS);
523- Message message;
524534 message.setType (Message::Type::AUTHORIZATION_SUCCESS);
525535 Element element;
536+ element.insert (CCAPI_CONNECTION_ID, wsConnectionPtr->id );
537+ element.insert (CCAPI_CONNECTION_URL, wsConnectionPtr->url );
526538 element.insert (CCAPI_INFO_MESSAGE, textMessage);
527539 message.setElementList ({element});
528540 messageList.emplace_back (std::move (message));
@@ -555,6 +567,15 @@ class ExecutionManagementServiceBybit : public ExecutionManagementService {
555567 if (ec) {
556568 this ->onError (Event::Type::SUBSCRIPTION_STATUS, Message::Type::SUBSCRIPTION_FAILURE, ec, " subscribe" );
557569 }
570+ } else {
571+ event.setType (Event::Type::AUTHORIZATION_STATUS);
572+ message.setType (Message::Type::AUTHORIZATION_FAILURE);
573+ Element element;
574+ element.insert (CCAPI_CONNECTION_ID, wsConnectionPtr->id );
575+ element.insert (CCAPI_CONNECTION_URL, wsConnectionPtr->url );
576+ element.insert (CCAPI_ERROR_MESSAGE, textMessage);
577+ message.setElementList ({element});
578+ messageList.emplace_back (std::move (message));
558579 }
559580 } else if (op == " subscribe" ) {
560581 bool success = document[" success" ].GetBool ();
0 commit comments