Fix private calls
This commit is contained in:
@@ -13,8 +13,12 @@ import type { ChatAttachmentAnnouncement, ChatAttachmentMeta } from './attachmen
|
||||
import type {
|
||||
DirectMessageEventPayload,
|
||||
DirectMessageMutationEventPayload,
|
||||
DirectMessageStatusEventPayload
|
||||
DirectMessageSyncEventPayload,
|
||||
DirectMessageSyncRequestEventPayload,
|
||||
DirectMessageStatusEventPayload,
|
||||
DirectMessageTypingEventPayload
|
||||
} from './direct-message-contracts';
|
||||
import type { DirectCallEventPayload } from './direct-call-contracts';
|
||||
|
||||
export interface ChatInventoryItem {
|
||||
id: string;
|
||||
@@ -87,6 +91,10 @@ export interface ChatEventBase {
|
||||
directMessage?: DirectMessageEventPayload;
|
||||
directMessageStatus?: DirectMessageStatusEventPayload;
|
||||
directMessageMutation?: DirectMessageMutationEventPayload;
|
||||
directMessageTyping?: DirectMessageTypingEventPayload;
|
||||
directMessageSyncRequest?: DirectMessageSyncRequestEventPayload;
|
||||
directMessageSync?: DirectMessageSyncEventPayload;
|
||||
directCall?: DirectCallEventPayload;
|
||||
pluginMessage?: unknown;
|
||||
}
|
||||
|
||||
@@ -391,6 +399,26 @@ export interface DirectMessageMutationPeerEvent extends ChatEventBase {
|
||||
directMessageMutation: DirectMessageMutationEventPayload;
|
||||
}
|
||||
|
||||
export interface DirectMessageTypingPeerEvent extends ChatEventBase {
|
||||
type: 'direct-message-typing';
|
||||
directMessageTyping: DirectMessageTypingEventPayload;
|
||||
}
|
||||
|
||||
export interface DirectMessageSyncRequestPeerEvent extends ChatEventBase {
|
||||
type: 'direct-message-sync-request';
|
||||
directMessageSyncRequest: DirectMessageSyncRequestEventPayload;
|
||||
}
|
||||
|
||||
export interface DirectMessageSyncPeerEvent extends ChatEventBase {
|
||||
type: 'direct-message-sync';
|
||||
directMessageSync: DirectMessageSyncEventPayload;
|
||||
}
|
||||
|
||||
export interface DirectCallPeerEvent extends ChatEventBase {
|
||||
type: 'direct-call';
|
||||
directCall: DirectCallEventPayload;
|
||||
}
|
||||
|
||||
export interface PluginMessageBusPeerEvent extends ChatEventBase {
|
||||
type: 'plugin-message-bus';
|
||||
pluginMessage: unknown;
|
||||
@@ -449,6 +477,10 @@ export type ChatEvent =
|
||||
| DirectMessagePeerEvent
|
||||
| DirectMessageStatusPeerEvent
|
||||
| DirectMessageMutationPeerEvent
|
||||
| DirectMessageTypingPeerEvent
|
||||
| DirectMessageSyncRequestPeerEvent
|
||||
| DirectMessageSyncPeerEvent
|
||||
| DirectCallPeerEvent
|
||||
| PluginMessageBusPeerEvent;
|
||||
|
||||
/** All possible `type` values, derived from the union. */
|
||||
|
||||
13
toju-app/src/app/shared-kernel/direct-call-contracts.ts
Normal file
13
toju-app/src/app/shared-kernel/direct-call-contracts.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import type { DirectMessageParticipant } from './direct-message-contracts';
|
||||
|
||||
export type DirectCallEventAction = 'ring' | 'join' | 'leave' | 'end' | 'update';
|
||||
|
||||
export interface DirectCallEventPayload {
|
||||
action: DirectCallEventAction;
|
||||
callId: string;
|
||||
conversationId: string;
|
||||
createdAt: number;
|
||||
sender: DirectMessageParticipant;
|
||||
participantIds: string[];
|
||||
participants?: DirectMessageParticipant[];
|
||||
}
|
||||
@@ -20,6 +20,7 @@ export interface DirectMessage {
|
||||
conversationId: string;
|
||||
senderId: string;
|
||||
recipientId: string;
|
||||
recipientIds?: string[];
|
||||
content: string;
|
||||
timestamp: number;
|
||||
status: DirectMessageStatus;
|
||||
@@ -32,6 +33,9 @@ export interface DirectMessage {
|
||||
export interface DirectMessageEventPayload {
|
||||
message: DirectMessage;
|
||||
sender: DirectMessageParticipant;
|
||||
participants?: DirectMessageParticipant[];
|
||||
conversationKind?: 'direct' | 'group';
|
||||
conversationTitle?: string;
|
||||
}
|
||||
|
||||
export interface DirectMessageStatusEventPayload {
|
||||
@@ -52,3 +56,26 @@ export interface DirectMessageMutationEventPayload {
|
||||
emoji?: string;
|
||||
updatedAt: number;
|
||||
}
|
||||
|
||||
export interface DirectMessageTypingEventPayload {
|
||||
conversationId: string;
|
||||
sender: DirectMessageParticipant;
|
||||
isTyping: boolean;
|
||||
updatedAt: number;
|
||||
}
|
||||
|
||||
export interface DirectMessageSyncRequestEventPayload {
|
||||
conversationId: string;
|
||||
sender: DirectMessageParticipant;
|
||||
requestedAt: number;
|
||||
}
|
||||
|
||||
export interface DirectMessageSyncEventPayload {
|
||||
conversationId: string;
|
||||
sender: DirectMessageParticipant;
|
||||
participants: DirectMessageParticipant[];
|
||||
conversationKind?: 'direct' | 'group';
|
||||
conversationTitle?: string;
|
||||
messages: DirectMessage[];
|
||||
syncedAt: number;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ export * from './moderation.models';
|
||||
export * from './voice-state.models';
|
||||
export * from './game-activity.models';
|
||||
export * from './direct-message-contracts';
|
||||
export * from './direct-call-contracts';
|
||||
export * from './chat-events';
|
||||
export * from './media-preferences';
|
||||
export * from './signaling-contracts';
|
||||
|
||||
Reference in New Issue
Block a user