blob: 82ac1e0cacf6aa199500741abfb3969068a6bbdf [file] [log] [blame]
simon26e79f72022-10-05 22:16:08 -04001/*
2 * Copyright (C) 2022 Savoir-faire Linux Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Affero General Public License as
6 * published by the Free Software Foundation; either version 3 of the
7 * License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Affero General Public License for more details.
13 *
14 * You should have received a copy of the GNU Affero General Public
15 * License along with this program. If not, see
16 * <https://www.gnu.org/licenses/>.
17 */
Misha Krieger-Raynauldcfa44302022-11-30 18:36:36 -050018import { Message } from './conversation.js';
simon35378692022-10-02 23:25:57 -040019
Misha Krieger-Raynauld20cf1c82022-11-23 20:26:50 -050020export interface ContactMessage {
idillon255682e2023-02-06 13:25:26 -050021 senderContactId: string;
Misha Krieger-Raynauld20cf1c82022-11-23 20:26:50 -050022}
23
Issam E. Maghni0432cb72022-11-12 06:09:26 +000024export interface ConversationMessage {
25 conversationId: string;
26 message: Message;
27}
Misha Krieger-Raynauld533e7302022-11-20 16:54:07 -050028
29export interface ConversationView {
Misha Krieger-Raynauld533e7302022-11-20 16:54:07 -050030 conversationId: string;
31}
32
idillon3e378fd2022-12-23 11:48:12 -050033export interface ComposingStatus {
34 contactId?: string; // optional (ignored) when is about the user sending it
35 conversationId: string;
36 isWriting: boolean;
37}
38
idillon255682e2023-02-06 13:25:26 -050039export interface WithSender {
40 senderId: string;
41}
42
43export interface WithReceiver {
44 receiverId: string;
45}
46
47export interface CallAction {
Misha Krieger-Raynauld20cf1c82022-11-23 20:26:50 -050048 conversationId: string;
49}
50
idillon255682e2023-02-06 13:25:26 -050051export interface CallInvite extends CallAction {
MichelleSS55164202022-11-25 18:36:14 -050052 withVideoOn: boolean;
53}
54
idillon255682e2023-02-06 13:25:26 -050055// eslint-disable-next-line @typescript-eslint/no-empty-interface
56export interface CallJoin extends CallAction {}
57
58export interface CallExit {
59 conversationId: string;
60}
61
Charliec18d6402022-11-27 13:01:04 -050062export interface WebRtcSdp extends CallAction {
Misha Krieger-Raynauld533e7302022-11-20 16:54:07 -050063 sdp: RTCSessionDescriptionInit;
64}
65
Charliec18d6402022-11-27 13:01:04 -050066export interface WebRtcIceCandidate extends CallAction {
Misha Krieger-Raynauld533e7302022-11-20 16:54:07 -050067 candidate: RTCIceCandidate;
68}