initial commit

This commit is contained in:
2026-09-14 17:15:00 +08:00
commit c78b75297f
19 changed files with 2421 additions and 0 deletions
+199
View File
@@ -0,0 +1,199 @@
export type JsonValue =
| string
| number
| boolean
| null
| JsonValue[]
| {
[key: string]: JsonValue;
};
export interface SerializedId {
_serialized?: string;
user?: string;
server?: string;
domain?: string;
device?: string;
agent?: string;
[key: string]: JsonValue | undefined;
}
export interface ContactDTO {
id: SerializedId | string | null;
accountLid?: string | null;
name?: string | null;
pushname?: string | null;
shortName?: string | null;
formattedName?: string | null;
number?: string | null;
isMe?: boolean;
isUser?: boolean;
isBusiness?: boolean;
isEnterprise?: boolean;
isGroup?: boolean;
isMyContact?: boolean;
isBlocked?: boolean;
profilePicThumbObj?: unknown;
}
export interface ChatDTO {
id: SerializedId | string | null;
accountLid?: string | null;
name?: string | null;
formattedTitle?: string | null;
isGroup?: boolean;
isUser?: boolean;
isNewsletter?: boolean;
isCommunity?: boolean;
isReadOnly?: boolean;
isAnnounceGrpRestrict?: boolean;
archived?: boolean;
pinned?: boolean;
muted?: boolean;
unreadCount?: number;
unreadMentionsCount?: number;
timestamp?: number | null;
lastMessage?: MessageDTO | null;
contact?: ContactDTO | null;
groupMetadata?: GroupMetadataDTO | null;
}
export interface GroupMetadataDTO {
id: SerializedId | string | null;
subject?: string | null;
subjectOwner?: SerializedId | string | null;
subjectTime?: number | null;
creation?: number | null;
owner?: SerializedId | string | null;
participants?: GroupParticipantDTO[];
size?: number;
restrict?: boolean;
announce?: boolean;
isCommunity?: boolean;
isCommunityAnnounce?: boolean;
}
export interface GroupParticipantDTO {
id: SerializedId | string | null;
isAdmin?: boolean;
isSuperAdmin?: boolean;
isSuperParticipant?: boolean;
isBusiness?: boolean;
}
export interface MessageDTO {
id: MessageIdDTO;
chatId?: string | null;
from?: SerializedId | string | null;
to?: SerializedId | string | null;
author?: SerializedId | string | null;
fromMe?: boolean;
body?: string | null;
caption?: string | null;
type?: string | null;
subtype?: string | null;
timestamp?: number | null;
ack?: number | null;
hasMedia?: boolean;
mediaKey?: string | null;
isForwarded?: boolean;
forwardingScore?: number;
isStarred?: boolean;
broadcast?: boolean;
mentionedIds?: (SerializedId | string)[];
quotedMsgId?: MessageIdDTO | null;
quotedMsg?: MessageDTO | null;
links?: MessageLinkDTO[];
location?: LocationDTO | null;
vCard?: string | null;
vCards?: string[];
filename?: string | null;
mimetype?: string | null;
size?: number | null;
duration?: number | null;
}
export interface MessageIdDTO {
id?: string | null;
_serialized?: string | null;
fromMe?: boolean;
remote?: SerializedId | string | null;
participant?: SerializedId | string | null;
}
export interface MessageLinkDTO {
link?: string | null;
isSuspicious?: boolean;
}
export interface LocationDTO {
latitude?: number | null;
longitude?: number | null;
description?: string | null;
address?: string | null;
url?: string | null;
name?: string | null;
}
export interface SentMessageDTO {
id: MessageIdDTO | null;
ack?: number | null;
timestamp?: number | null;
chatId?: string | null;
from?: SerializedId | string | null;
to?: SerializedId | string | null;
body?: string | null;
type?: string | null;
}