feat(shared): add group DM federation event types and payloads
Extend FederationRelayEvent with member_add, member_remove, and ownership_transfer event types, plus federatedId and the new optional membership/ownership/group payload fields. Add FederationMembershipPayload, FederationOwnershipPayload, and FederationGroupPayload interfaces. Add federatedId to FederationSyncRequest for group DM sync filtering.
This commit is contained in:
@@ -726,9 +726,11 @@ export interface FederationRelayParticipant {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface FederationRelayEvent {
|
export interface FederationRelayEvent {
|
||||||
eventType: 'create' | 'update' | 'delete' | 'reaction_add' | 'reaction_remove';
|
eventType: 'create' | 'update' | 'delete' | 'reaction_add' | 'reaction_remove'
|
||||||
|
| 'member_add' | 'member_remove' | 'ownership_transfer';
|
||||||
dmChannelId: string;
|
dmChannelId: string;
|
||||||
messageId: string;
|
messageId: string;
|
||||||
|
federatedId?: string;
|
||||||
encryptionVersion: 0;
|
encryptionVersion: 0;
|
||||||
timestamp: number;
|
timestamp: number;
|
||||||
participants?: FederationRelayParticipant[];
|
participants?: FederationRelayParticipant[];
|
||||||
@@ -744,6 +746,26 @@ export interface FederationRelayEvent {
|
|||||||
};
|
};
|
||||||
reactions?: FederationRelayReaction[];
|
reactions?: FederationRelayReaction[];
|
||||||
reaction?: FederationRelayReaction;
|
reaction?: FederationRelayReaction;
|
||||||
|
membership?: FederationMembershipPayload;
|
||||||
|
ownership?: FederationOwnershipPayload;
|
||||||
|
group?: FederationGroupPayload;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FederationMembershipPayload {
|
||||||
|
user: FederationRelayParticipant;
|
||||||
|
addedBy?: FederationRelayParticipant;
|
||||||
|
removedBy?: FederationRelayParticipant;
|
||||||
|
reason?: 'kick' | 'leave';
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FederationOwnershipPayload {
|
||||||
|
newOwner: FederationRelayParticipant;
|
||||||
|
previousOwner: FederationRelayParticipant;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FederationGroupPayload {
|
||||||
|
owner: FederationRelayParticipant;
|
||||||
|
members: FederationRelayParticipant[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FederationRelayReaction {
|
export interface FederationRelayReaction {
|
||||||
@@ -783,6 +805,7 @@ export interface FederationRelayResponse {
|
|||||||
export interface FederationSyncRequest {
|
export interface FederationSyncRequest {
|
||||||
sinceTimestamp: number;
|
sinceTimestamp: number;
|
||||||
dmChannelId?: string;
|
dmChannelId?: string;
|
||||||
|
federatedId?: string;
|
||||||
limit: number;
|
limit: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user