diff --git a/server/api/UserApi.ts b/server/api/UserApi.ts index 6660e96..b700f9e 100644 --- a/server/api/UserApi.ts +++ b/server/api/UserApi.ts @@ -102,7 +102,7 @@ export default class UserApi extends BaseApi { const nickname: string = args.nickname as string const password: string = args.password as string - const user = User.createWithUserNameChecked(username, password, nickname, null) + const user = User.create(username, password, nickname, null) return { msg: "成功", @@ -261,7 +261,7 @@ export default class UserApi extends BaseApi { }) // 添加聯絡人 this.registerEvent("User.addContact", (args, { deviceId }) => { - if (this.checkArgsMissing(args, ['token']) || (args.chat_id == null && args.account == null)) return { + if (this.checkArgsMissing(args, ['token', 'target'])) return { msg: "參數缺失", code: 400, } @@ -273,18 +273,18 @@ export default class UserApi extends BaseApi { } const user = User.findById(token.author) as User - if (args.chat_id) - user!.addContact(args.chat_id as string) - else if (args.account) { - const targetUser = User.findByAccount(args.account as string) as User - if (targetUser == null) { - return { - msg: "找不到用戶", - code: 404, - } - } - const chat = ChatPrivate.findOrCreateForPrivate(user, targetUser) + const chat = Chat.findById(args.target as string) + const targetUser = User.findByAccount(args.target as string) as User + if (chat) user!.addContact(chat.bean.id) + else if (targetUser) { + const privChat = ChatPrivate.findOrCreateForPrivate(user, targetUser) + user!.addContact(privChat.bean.id) + } else { + return { + msg: "找不到目标", + code: 404, + } } return {