Refactor WebSocket message interfaces
Changes:
- Replace AccountTextMessage with an extendable ContactMessage interface
- Add accountId parameter to server-side WebSocket callbacks
- Set the accountId for WebRTC messages on server-side for security
- Rename all WebRTC and SDP variables to proper camelCase or PascalCase
GitLab: #147
Change-Id: I125b5431821b03ef4d46b751eb1c13830017ccff
diff --git a/common/src/interfaces/websocket-message.ts b/common/src/interfaces/websocket-message.ts
index ff1de98..a431fcc 100644
--- a/common/src/interfaces/websocket-message.ts
+++ b/common/src/interfaces/websocket-message.ts
@@ -16,25 +16,24 @@
* <https://www.gnu.org/licenses/>.
*/
import { WebSocketMessageType } from '../enums/websocket-message-type.js';
-import { AccountTextMessage } from './account-text-message.js';
import {
- CallBegin,
+ CallAction,
ConversationMessage,
ConversationView,
- WebRTCIceCandidate,
+ WebRtcIceCandidate,
WebRtcSdp,
} from './websocket-interfaces.js';
export interface WebSocketMessageTable {
[WebSocketMessageType.ConversationMessage]: ConversationMessage;
[WebSocketMessageType.ConversationView]: ConversationView;
- [WebSocketMessageType.WebRTCOffer]: AccountTextMessage<WebRtcSdp>;
- [WebSocketMessageType.WebRTCAnswer]: AccountTextMessage<WebRtcSdp>;
- [WebSocketMessageType.IceCandidate]: AccountTextMessage<WebRTCIceCandidate>;
- [WebSocketMessageType.CallBegin]: AccountTextMessage<CallBegin>;
- [WebSocketMessageType.CallAccept]: AccountTextMessage<undefined>;
- [WebSocketMessageType.CallRefuse]: AccountTextMessage<undefined>;
- [WebSocketMessageType.CallEnd]: AccountTextMessage<undefined>;
+ [WebSocketMessageType.CallBegin]: CallAction;
+ [WebSocketMessageType.CallAccept]: CallAction;
+ [WebSocketMessageType.CallRefuse]: CallAction;
+ [WebSocketMessageType.CallEnd]: CallAction;
+ [WebSocketMessageType.WebRtcOffer]: WebRtcSdp;
+ [WebSocketMessageType.WebRtcAnswer]: WebRtcSdp;
+ [WebSocketMessageType.WebRtcIceCandidate]: WebRtcIceCandidate;
}
export interface WebSocketMessage<T extends WebSocketMessageType> {