Implemented DMService

This commit is contained in:
2026-04-06 08:00:16 +02:00
parent 0abd377f81
commit 91bb2a5d9c
7 changed files with 493 additions and 1 deletions

View File

@@ -0,0 +1,112 @@
import {Attachment, TimeStamp} from "./common.schema";
export interface GetMessageReq {
from: number
chatid: string
}
export interface GetMessagePosReq {
messageId: string
chatid: string
}
export interface GetPinnedMessagesReq {
chatid: string
}
export interface EditMessageReq {
message: string
messageId: string
chatid: string
userid: string
}
export interface FinishMessageReq {
uploadId: string | null
message: string
replyTo: string
replyToMessage: string
chatid: string
userid: string
}
export interface ReadMessagesReq {
chatid: string
userid: string
}
export interface PinMessageReq {
chatid: string
messageId: string
userid: string
message: string
}
export interface UnpinMessageReq {
chatid: string,
messageId: string,
userid: string
}
export interface DeleteMessagesReq {
messageIds: string[]
chatid: string
userid: string
}
export interface JoinWsRoomReq {
connId: string
chatid: string
userid: string
}
// Response schemas
export interface GetMessagePosResp {
messagePos: number
}
// Types
export interface Message {
msgid: string
author: string
message: string
sent_at: TimeStamp
isEdited: boolean
chatid: string
files: Attachment[]
seen: boolean
replyTo: string
replyToId: string
forwardedFrom: string
forwardedFromName: string
}
export interface PinnedMessage {
message: string
messageId: string
}
// WebSocket payloads
export interface WSMessageDeletedPayload {
messageId: string
}
export interface WSMessageEditedPayload {
messageId: string
message: string
}
export interface WSMessagePinnedPayload {
chatid: string
messageId: string
message: string
}
export interface WSMessagesReadPayload {
userid: string
}
export interface WSMessageUnpinnedPayload {
chatid: string
messageId: string
}