diff --git a/client-protocol/UserMySelf.ts b/client-protocol/UserMySelf.ts index e678cdb..e69a844 100644 --- a/client-protocol/UserMySelf.ts +++ b/client-protocol/UserMySelf.ts @@ -123,7 +123,7 @@ export default class UserMySelf extends User { } } async addFavouriteChatsOrThrow(chat_ids: string[]) { - const re = await this.client.invoke("User.addContacts", { + const re = await this.client.invoke("User.addFavouriteChats", { token: this.client.access_token, targets: chat_ids, }) @@ -138,7 +138,7 @@ export default class UserMySelf extends User { } } async removeFavouriteChatsOrThrow(chat_ids: string[]) { - const re = await this.client.invoke("User.removeContacts", { + const re = await this.client.invoke("User.removeFavouriteChats", { token: this.client.access_token, targets: chat_ids, }) @@ -152,7 +152,7 @@ export default class UserMySelf extends User { } } async getMyFavouriteChatBeansOrThrow() { - const re = await this.client.invoke("User.getMyContacts", { + const re = await this.client.invoke("User.getMyFavouriteChats", { token: this.client.access_token }) if (re.code == 200) diff --git a/internal-shared/ApiDeclare.ts b/internal-shared/ApiDeclare.ts index a4d6187..7da7977 100644 --- a/internal-shared/ApiDeclare.ts +++ b/internal-shared/ApiDeclare.ts @@ -15,9 +15,9 @@ export type CallMethod = "User.getInfo" | // 收藏对话列表 - "User.getMyContacts" | - "User.addContacts" | - "User.removeContacts" | + "User.getMyFavouriteChats" | + "User.addFavouriteChats" | + "User.removeFavouriteChats" | // 最近对话列表 "User.getMyRecentChats" | @@ -36,7 +36,7 @@ export type CallMethod = // 对话创建 "Chat.createGroup" | - "Chat.getIdForPrivate" | + "Chat.getOrCreatePrivateChat" | // 入群请求 "Chat.processJoinRequest" | @@ -51,9 +51,6 @@ export type CallMethod = "Chat.sendMessage" | "Chat.getMessageHistory" - // (废弃) 文件上传 - // "Chat.uploadFile" - export type ClientEvent = // 对话收消息 "Client.onMessage" diff --git a/server/api/ChatApi.ts b/server/api/ChatApi.ts index 1232024..414cff6 100644 --- a/server/api/ChatApi.ts +++ b/server/api/ChatApi.ts @@ -116,45 +116,6 @@ export default class ChatApi extends BaseApi { }, } }) - /** - * 上傳文件 - * @param token 令牌 - * @param target 目標對話 - * @param file_name 文件名稱 - * @param data 文件二進制數據 - */ - /* this.registerEvent("Chat.uploadFile", async (args, { deviceId }) => { - if (this.checkArgsMissing(args, ['token', 'target', 'data', 'file_name'])) return { - msg: "参数缺失", - code: 400, - } - - const token = TokenManager.decode(args.token as string) - if (!this.checkToken(token, deviceId)) return { - code: 401, - msg: "令牌无效", - } - - const chat = Chat.findById(args.target as string) - if (chat == null) return { - code: 404, - msg: "对话不存在", - } - if (!UserChatLinker.checkUserIsLinkedToChat(token.author, chat!.bean.id)) return { - code: 403, - msg: "用户无权访问此对话", - } - - const file = await FileManager.uploadFile(args.file_name as string, args.data as Buffer, args.target as string) - - return { - code: 200, - msg: "成功", - data: { - file_hash: file.getHash() - }, - } - }) */ /** * ====================================================== * 对话成员 @@ -388,7 +349,7 @@ export default class ChatApi extends BaseApi { * @param token 令牌 * @param target 目標用户 */ - this.registerEvent("Chat.getIdForPrivate", (args, { deviceId }) => { + this.registerEvent("Chat.getOrCreatePrivateChat", (args, { deviceId }) => { if (this.checkArgsMissing(args, ['token', 'target'])) return { msg: "参数缺失", code: 400, @@ -413,10 +374,6 @@ export default class ChatApi extends BaseApi { code: 200, msg: '成功', data: { - // TODO: 移除这个, 将本方法重命名为 getOrCreatePrivateChat - // 并重构原 Web 客户端所引用的内容 - chat_id: chat.bean.id, - id: chat.bean.id, name: chat.bean.name, type: chat.bean.type, @@ -459,7 +416,7 @@ export default class ChatApi extends BaseApi { chat.addAdmin(user.bean.id, [ AdminPermissions.OWNER, ]) - user.addContact(chat.bean.id) + user.addFavouriteChat(chat.bean.id) MessagesManager.getInstanceForChat(chat).addSystemMessage("群组已创建") return { @@ -570,10 +527,6 @@ export default class ChatApi extends BaseApi { msg: "参数缺失", code: 400, } - /* if (!(args.avatar instanceof Buffer)) return { - msg: "参数不合法", - code: 400, - } */ const token = TokenManager.decode(args.token as string) const user = User.findById(token.author) as User @@ -587,9 +540,6 @@ export default class ChatApi extends BaseApi { if (chat.bean.type == 'group') if (chat.checkUserIsAdmin(user.bean.id)) { chat.setAvatarFileHash(args.file_hash as string) - /* const avatar: Buffer = args.avatar as Buffer - if (avatar) - chat.setAvatar(avatar) */ } else return { code: 403, diff --git a/server/api/UserApi.ts b/server/api/UserApi.ts index 4fd353b..e0f0c63 100644 --- a/server/api/UserApi.ts +++ b/server/api/UserApi.ts @@ -321,7 +321,7 @@ export default class UserApi extends BaseApi { const user = User.findById(token.author) as User const recentChats = user.getRecentChats() - const recentChatsList = [] + const recentChatsList: any[] = [] for (const [chatId, content] of recentChats) { const chat = Chat.findById(chatId) recentChatsList.push({ @@ -341,7 +341,7 @@ export default class UserApi extends BaseApi { } }) // 獲取聯絡人列表 - this.registerEvent("User.getMyContacts", (args, { deviceId }) => { + this.registerEvent("User.getMyFavouriteChats", (args, { deviceId }) => { if (this.checkArgsMissing(args, ['token'])) return { msg: "参数缺失", code: 400, @@ -354,7 +354,7 @@ export default class UserApi extends BaseApi { } const user = User.findById(token.author) as User - const contacts = user.getContactsList() + const contacts = user.getFavouriteChats() contacts.push(ChatPrivate.getChatIdByUsersId(token.author, token.author)) return { @@ -374,7 +374,7 @@ export default class UserApi extends BaseApi { } }) // 添加聯絡人 - this.registerEvent("User.addContacts", (args, { deviceId }) => { + this.registerEvent("User.addFavouriteChats", (args, { deviceId }) => { if (this.checkArgsMissing(args, ['token', 'targets'])) return { msg: "参数缺失", code: 400, @@ -392,10 +392,10 @@ export default class UserApi extends BaseApi { const chat = Chat.findById(target) || Chat.findByName(target) const targetUser = User.findByAccount(target) as User if (chat) - user!.addContact(chat.bean.id) + user!.addFavouriteChat(chat.bean.id) else if (targetUser) { const privChat = ChatPrivate.findOrCreateForPrivate(user, targetUser) - user!.addContact(privChat.bean.id) + user!.addFavouriteChat(privChat.bean.id) } else { fail++ } @@ -407,7 +407,7 @@ export default class UserApi extends BaseApi { } }) // 添加聯絡人 - this.registerEvent("User.removeContacts", (args, { deviceId }) => { + this.registerEvent("User.removeFavouriteChats", (args, { deviceId }) => { if (this.checkArgsMissing(args, ['token', 'targets'])) return { msg: "参数缺失", code: 400, @@ -420,7 +420,7 @@ export default class UserApi extends BaseApi { } const user = User.findById(token.author) as User - user.removeContacts(args.targets as string[]) + user.removeFavouriteChats(args.targets as string[]) return { msg: "成功", diff --git a/server/data/User.ts b/server/data/User.ts index 827fded..bae1627 100644 --- a/server/data/User.ts +++ b/server/data/User.ts @@ -138,17 +138,17 @@ export default class User { return new Map() } } - addContact(chatId: string) { - const ls = this.getContactsList() + addFavouriteChat(chatId: string) { + const ls = this.getFavouriteChats() if (ls.indexOf(chatId) != -1 || ChatPrivate.getChatIdByUsersId(this.bean.id, this.bean.id) == chatId) return ls.push(chatId) this.setAttr("contacts_list", JSON.stringify(ls)) } - removeContacts(contacts: string[]) { - const ls = this.getContactsList().filter((v) => !contacts.includes(v)) + removeFavouriteChats(contacts: string[]) { + const ls = this.getFavouriteChats().filter((v) => !contacts.includes(v)) this.setAttr("contacts_list", JSON.stringify(ls)) } - getContactsList() { + getFavouriteChats() { try { return JSON.parse(this.bean.contacts_list) as string[] } catch (e) { @@ -159,13 +159,13 @@ export default class User { getAllChatsList() { return UserChatLinker.getUserChats(this.bean.id) } - getNickName(): string { + getNickName() { return this.bean.nickname } setNickName(nickName: string) { this.setAttr("nickname", nickName) } - getPassword(): string { + getPassword() { return this.bean.password } setPassword(password: string) {