You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-desktop/ts/session/messages/outgoing/content/sync/SyncMessage.ts

54 lines
1.2 KiB
TypeScript

import { ContentMessage } from '../ContentMessage';
import { SignalService } from '../../../../../protobuf';
5 years ago
import { DataMessage, AttachmentPointer } from '../data';
interface UnidentifiedDeliveryStatus {
destination?: string;
unidentified?: boolean;
}
interface Sent {
UnidentifiedDeliveryStatus: UnidentifiedDeliveryStatus;
desination?: string;
timestamp?: number;
message?: DataMessage;
expirationStartTimestamp?: number;
unidentifiedStatus: Array<UnidentifiedDeliveryStatus>;
}
interface Contact {
blob?: AttachmentPointer;
complete?: boolean;
data: any;
}
export interface SyncMessageParams {
}
export abstract class SyncMessage extends ContentMessage {
5 years ago
public static canSync(message: ContentMessage): boolean {
5 years ago
return message instanceof SyncMessage;
5 years ago
}
5 years ago
public abstract from(message: ContentMessage): SyncMessage;
public ttl(): number {
return this.getDefaultTTL();
}
protected contentProto(): SignalService.Content {
5 years ago
const dataMessage = new SignalService.DataMessage({
});
return new SignalService.Content({
5 years ago
dataMessage,
syncMessage: this.syncProto(),
});
}
5 years ago
protected abstract syncProto(): SignalService.SyncMessage;
}