Files
ZYZ/shared/db/Message.ts
liangtongchuan 0bb4caf291 聊天:增加私聊部分逻辑
测试:增加测试脚本,减少socket断开的打印
2021-03-04 18:27:43 +08:00

44 lines
1.5 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
/**
* 信息基类
**/
@modelOptions({ schemaOptions: { id: false } })
@index({ roomId: 1, seqId: 1 })
@index({ msgId: 1 })
export default class Message extends BaseModel {
@prop({ required: true, default: '' })
roomId: string; // 频道唯一 Id由 roleId 和 targetRoleId 排序后拼接
@prop({ required: true, default: 0 })
type: number; // 消息类型0纯文本1富文本2表情
@prop({ required: true, default: '' })
roleId: string; // 消息发送者 roleId
@prop({ required: true, default: '' })
roleName: string; // 消息发送者名称
@prop({ required: false, default: '' })
targetRoleId: string; // 接收者 roleId
@prop({ required: false, default: '' })
targetRoleName: string; // 接收者名称
@prop({ required: true, default: '' })
msgId: string; // 消息唯一 Id
@prop({ required: true, default: 0 })
seqId: number; // 消息在本聊天室的递增 Id
@prop({ required: false, default: '' })
targetMsgId: string; // 回复消息的唯一 Id
@prop({ required: true, default: 0 })
status: number; // 消息状态0正常1屏蔽
@prop({ required: true, default: '' })
content: string; // 消息内容
}
export const MessageModel = getModelForClass(Message);
export interface MessageType extends Pick<DocumentType<Message>, keyof Message> {};
export type MessageParam = Partial<MessageType>;