chore: 后端方法注释
This commit is contained in:
@@ -3,6 +3,12 @@ import Chat from "./Chat.ts"
|
||||
import User from "./User.ts"
|
||||
|
||||
export default class ChatPrivate extends Chat {
|
||||
/**
|
||||
* 确保是私聊类型后, 转换成私聊对话
|
||||
* 实际上没啥用, 因为实例方法都在 Chat
|
||||
* 未来可能会移除
|
||||
* @param chat
|
||||
*/
|
||||
static fromChat(chat: Chat) {
|
||||
return new ChatPrivate(chat.bean)
|
||||
}
|
||||
@@ -11,6 +17,11 @@ export default class ChatPrivate extends Chat {
|
||||
return 'priv_' + [userIdA, userIdB].sort().join('__').replaceAll('-', '_')
|
||||
}
|
||||
|
||||
/**
|
||||
* 为两个用户创建对话 (无需注意顺序)
|
||||
* @param userA
|
||||
* @param userB
|
||||
*/
|
||||
static createForPrivate(userA: User, userB: User) {
|
||||
const chat = this.create(undefined, 'private')
|
||||
chat.setAttr('id', this.getChatIdByUsersId(userA.bean.id, userB.bean.id))
|
||||
@@ -19,11 +30,21 @@ export default class ChatPrivate extends Chat {
|
||||
userB.bean.id
|
||||
])
|
||||
}
|
||||
/**
|
||||
* 寻找两个用户间的对话 (无需注意顺序)
|
||||
* @param userA
|
||||
* @param userB
|
||||
*/
|
||||
static findByUsersForPrivate(userA: User, userB: User) {
|
||||
const chat = this.findById(this.getChatIdByUsersId(userA.bean.id, userB.bean.id))
|
||||
if (chat)
|
||||
return this.fromChat(chat as Chat)
|
||||
}
|
||||
/**
|
||||
* 寻找两个用户间的对话, 若无则创建 (无需注意顺序)
|
||||
* @param userA
|
||||
* @param userB
|
||||
*/
|
||||
static findOrCreateForPrivate(userA: User, userB: User) {
|
||||
let a = this.findByUsersForPrivate(userA, userB)
|
||||
if (a == null) {
|
||||
|
||||
Reference in New Issue
Block a user