fix(message/service): unify error parsing
This commit is contained in:
parent
54665ffba6
commit
7e166ca9f2
|
@ -493,8 +493,9 @@ QtObject:
|
||||||
if responseObj.kind != JObject:
|
if responseObj.kind != JObject:
|
||||||
raise newException(CatchableError, "load pinned messages response is not a json object")
|
raise newException(CatchableError, "load pinned messages response is not a json object")
|
||||||
|
|
||||||
if responseObj.contains("error"):
|
let errorString = responseObj{"error"}.getStr()
|
||||||
raise newException(CatchableError, responseObj{"error"}.getStr)
|
if errorString != "":
|
||||||
|
raise newException(CatchableError, errorString)
|
||||||
|
|
||||||
var chatId: string
|
var chatId: string
|
||||||
discard responseObj.getProp("chatId", chatId)
|
discard responseObj.getProp("chatId", chatId)
|
||||||
|
@ -528,8 +529,9 @@ QtObject:
|
||||||
if (responseObj.kind != JObject):
|
if (responseObj.kind != JObject):
|
||||||
raise newException(CatchableError, "load more messages response is not a json object")
|
raise newException(CatchableError, "load more messages response is not a json object")
|
||||||
|
|
||||||
if responseObj.contains("error"):
|
let errorString = responseObj{"error"}.getStr()
|
||||||
raise newException(CatchableError, responseObj{"error"}.getStr)
|
if errorString != "":
|
||||||
|
raise newException(CatchableError, errorString)
|
||||||
|
|
||||||
var chatId: string
|
var chatId: string
|
||||||
discard responseObj.getProp("chatId", chatId)
|
discard responseObj.getProp("chatId", chatId)
|
||||||
|
@ -573,8 +575,10 @@ QtObject:
|
||||||
proc onAsyncLoadCommunityMemberAllMessages*(self: Service, response: string) {.slot.} =
|
proc onAsyncLoadCommunityMemberAllMessages*(self: Service, response: string) {.slot.} =
|
||||||
try:
|
try:
|
||||||
let rpcResponseObj = response.parseJson
|
let rpcResponseObj = response.parseJson
|
||||||
if rpcResponseObj{"error"}.kind != JNull and rpcResponseObj{"error"}.getStr != "":
|
let errorString = rpcResponseObj{"error"}.getStr()
|
||||||
raise newException(RpcException, rpcResponseObj{"error"}.getStr)
|
if errorString != "":
|
||||||
|
raise newException(CatchableError, errorString)
|
||||||
|
|
||||||
if rpcResponseObj{"messages"}.kind == JNull:
|
if rpcResponseObj{"messages"}.kind == JNull:
|
||||||
return
|
return
|
||||||
if rpcResponseObj{"messages"}.kind != JArray:
|
if rpcResponseObj{"messages"}.kind != JArray:
|
||||||
|
@ -597,18 +601,17 @@ QtObject:
|
||||||
try:
|
try:
|
||||||
let response = status_go.addReaction(chatId, messageId, emojiId)
|
let response = status_go.addReaction(chatId, messageId, emojiId)
|
||||||
|
|
||||||
if(response.result.contains("error")):
|
let errorString = response.result{"error"}.getStr()
|
||||||
let errMsg = response.result["error"].getStr
|
if errorString != "":
|
||||||
error "error: ", procName="addReaction", errDesription = errMsg
|
raise newException(CatchableError, errorString)
|
||||||
return
|
|
||||||
|
|
||||||
var reactionsArr: JsonNode
|
var reactionsArr: JsonNode
|
||||||
var reactions: seq[ReactionDto]
|
var reactions: seq[ReactionDto]
|
||||||
if(response.result.getProp("emojiReactions", reactionsArr)):
|
if response.result.getProp("emojiReactions", reactionsArr):
|
||||||
reactions = map(reactionsArr.getElems(), proc(x: JsonNode): ReactionDto = x.toReactionDto())
|
reactions = map(reactionsArr.getElems(), proc(x: JsonNode): ReactionDto = x.toReactionDto())
|
||||||
|
|
||||||
var reactionId: string
|
var reactionId: string
|
||||||
if(reactions.len > 0):
|
if reactions.len > 0:
|
||||||
reactionId = reactions[0].id
|
reactionId = reactions[0].id
|
||||||
|
|
||||||
let data = MessageAddRemoveReactionArgs(chatId: chatId, messageId: messageId, emojiId: emojiId,
|
let data = MessageAddRemoveReactionArgs(chatId: chatId, messageId: messageId, emojiId: emojiId,
|
||||||
|
@ -622,10 +625,9 @@ QtObject:
|
||||||
try:
|
try:
|
||||||
let response = status_go.removeReaction(reactionId)
|
let response = status_go.removeReaction(reactionId)
|
||||||
|
|
||||||
if(response.result.contains("error")):
|
let errorString = response.result{"error"}.getStr()
|
||||||
let errMsg = response.result["error"].getStr
|
if errorString != "":
|
||||||
error "error: ", procName="removeReaction", errDesription = errMsg
|
raise newException(CatchableError, errorString)
|
||||||
return
|
|
||||||
|
|
||||||
let data = MessageAddRemoveReactionArgs(chatId: chatId, messageId: messageId, emojiId: emojiId,
|
let data = MessageAddRemoveReactionArgs(chatId: chatId, messageId: messageId, emojiId: emojiId,
|
||||||
reactionId: reactionId)
|
reactionId: reactionId)
|
||||||
|
@ -638,21 +640,25 @@ QtObject:
|
||||||
try:
|
try:
|
||||||
let response = status_go.pinUnpinMessage(chatId, messageId, pin)
|
let response = status_go.pinUnpinMessage(chatId, messageId, pin)
|
||||||
|
|
||||||
|
let errorString = response.result{"error"}.getStr()
|
||||||
|
if errorString != "":
|
||||||
|
raise newException(CatchableError, errorString)
|
||||||
|
|
||||||
var pinMessagesObj: JsonNode
|
var pinMessagesObj: JsonNode
|
||||||
if(response.result.getProp("pinMessages", pinMessagesObj)):
|
if response.result.getProp("pinMessages", pinMessagesObj):
|
||||||
let pinnedMessagesArr = pinMessagesObj.getElems()
|
let pinnedMessagesArr = pinMessagesObj.getElems()
|
||||||
if(pinnedMessagesArr.len > 0): # an array is returned
|
if pinnedMessagesArr.len > 0: # an array is returned
|
||||||
let pinMessageObj = pinnedMessagesArr[0]
|
let pinMessageObj = pinnedMessagesArr[0]
|
||||||
var doneBy: string
|
var doneBy: string
|
||||||
discard pinMessageObj.getProp("from", doneBy)
|
discard pinMessageObj.getProp("from", doneBy)
|
||||||
let data = MessagePinUnpinArgs(chatId: chatId, messageId: messageId, actionInitiatedBy: doneBy)
|
let data = MessagePinUnpinArgs(chatId: chatId, messageId: messageId, actionInitiatedBy: doneBy)
|
||||||
var pinned = false
|
var pinned = false
|
||||||
if(pinMessageObj.getProp("pinned", pinned)):
|
if pinMessageObj.getProp("pinned", pinned):
|
||||||
if(pinned and pin):
|
if pinned and pin:
|
||||||
self.numOfPinnedMessagesPerChat[chatId] = self.getNumOfPinnedMessages(chatId) + 1
|
self.numOfPinnedMessagesPerChat[chatId] = self.getNumOfPinnedMessages(chatId) + 1
|
||||||
self.events.emit(SIGNAL_MESSAGE_PINNED, data)
|
self.events.emit(SIGNAL_MESSAGE_PINNED, data)
|
||||||
else:
|
else:
|
||||||
if(not pinned and not pin):
|
if not pinned and not pin:
|
||||||
self.numOfPinnedMessagesPerChat[chatId] = self.getNumOfPinnedMessages(chatId) - 1
|
self.numOfPinnedMessagesPerChat[chatId] = self.getNumOfPinnedMessages(chatId) - 1
|
||||||
self.events.emit(SIGNAL_MESSAGE_UNPINNED, data)
|
self.events.emit(SIGNAL_MESSAGE_UNPINNED, data)
|
||||||
discard self.chatService.processMessengerResponse(response)
|
discard self.chatService.processMessengerResponse(response)
|
||||||
|
@ -730,11 +736,12 @@ QtObject:
|
||||||
var chatId = ""
|
var chatId = ""
|
||||||
try:
|
try:
|
||||||
let responseObj = response.parseJson
|
let responseObj = response.parseJson
|
||||||
if (responseObj.kind != JObject):
|
if responseObj.kind != JObject:
|
||||||
raise newException(CatchableError, "search messages response is not an json object")
|
raise newException(CatchableError, "search messages response is not an json object")
|
||||||
|
|
||||||
if responseObj.contains("error"):
|
let errorString = responseObj{"error"}.getStr()
|
||||||
raise newException(CatchableError, responseObj{"error"}.getStr)
|
if errorString != "":
|
||||||
|
raise newException(CatchableError, errorString)
|
||||||
|
|
||||||
discard responseObj.getProp("chatId", chatId)
|
discard responseObj.getProp("chatId", chatId)
|
||||||
|
|
||||||
|
@ -807,8 +814,9 @@ QtObject:
|
||||||
if (responseObj.kind != JObject):
|
if (responseObj.kind != JObject):
|
||||||
raise newException(CatchableError, "mark all messages read response is not an json object")
|
raise newException(CatchableError, "mark all messages read response is not an json object")
|
||||||
|
|
||||||
if responseObj.contains("error") and responseObj{"error"}.kind != JNull and responseObj{"error"}.getStr != "":
|
let errorString = responseObj{"error"}.getStr()
|
||||||
raise newException(CatchableError, responseObj{"error"}.getStr)
|
if errorString != "":
|
||||||
|
raise newException(CatchableError, errorString)
|
||||||
|
|
||||||
var chatId: string
|
var chatId: string
|
||||||
discard responseObj.getProp("chatId", chatId)
|
discard responseObj.getProp("chatId", chatId)
|
||||||
|
@ -841,12 +849,9 @@ QtObject:
|
||||||
if responseObj.kind != JObject:
|
if responseObj.kind != JObject:
|
||||||
raise newException(RpcException, "markMessageAsUnread response is not a json object")
|
raise newException(RpcException, "markMessageAsUnread response is not a json object")
|
||||||
|
|
||||||
var error: string
|
let errorString = responseObj{"error"}.getStr()
|
||||||
discard responseObj.getProp("error", error)
|
if errorString != "":
|
||||||
|
raise newException(CatchableError, errorString)
|
||||||
if error.len > 0:
|
|
||||||
error "error: ", procName="onAsyncMarkMessageAsUnread", errDescription=error
|
|
||||||
return
|
|
||||||
|
|
||||||
var chatId, messageId: string
|
var chatId, messageId: string
|
||||||
var count, countWithMentions: int
|
var count, countWithMentions: int
|
||||||
|
@ -875,8 +880,9 @@ QtObject:
|
||||||
try:
|
try:
|
||||||
let responseObj = response.parseJson
|
let responseObj = response.parseJson
|
||||||
|
|
||||||
if responseObj{"error"}.kind != JNull and responseObj{"error"}.getStr != "":
|
let errorString = responseObj{"error"}.getStr()
|
||||||
raise newException(CatchableError, responseObj{"error"}.getStr)
|
if errorString != "":
|
||||||
|
raise newException(CatchableError, errorString)
|
||||||
|
|
||||||
var chatId: string
|
var chatId: string
|
||||||
discard responseObj.getProp("chatId", chatId)
|
discard responseObj.getProp("chatId", chatId)
|
||||||
|
@ -936,21 +942,17 @@ QtObject:
|
||||||
try:
|
try:
|
||||||
let responseObj = response.parseJson
|
let responseObj = response.parseJson
|
||||||
|
|
||||||
var error: string
|
let errorString = responseObj{"error"}.getStr()
|
||||||
discard responseObj.getProp("error", error)
|
if errorString != "":
|
||||||
|
raise newException(CatchableError, errorString)
|
||||||
|
|
||||||
var chatId: string
|
var chatId: string
|
||||||
discard responseObj.getProp("chatId", chatId)
|
discard responseObj.getProp("chatId", chatId)
|
||||||
|
|
||||||
var messageId = ""
|
var messageId = ""
|
||||||
|
|
||||||
if(error.len > 0):
|
|
||||||
error "error: ", procName="onGetFirstUnseenMessageIdFor", errDescription=error
|
|
||||||
else:
|
|
||||||
discard responseObj.getProp("messageId", messageId)
|
discard responseObj.getProp("messageId", messageId)
|
||||||
|
|
||||||
self.events.emit(SIGNAL_FIRST_UNSEEN_MESSAGE_LOADED, FirstUnseenMessageLoadedArgs(chatId: chatId, messageId: messageId))
|
self.events.emit(SIGNAL_FIRST_UNSEEN_MESSAGE_LOADED, FirstUnseenMessageLoadedArgs(chatId: chatId, messageId: messageId))
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
error "error: ", procName="onGetFirstUnseenMessageIdFor", errName = e.name, errDesription = e.msg
|
error "error: ", procName="onGetFirstUnseenMessageIdFor", errName = e.name, errDesription = e.msg
|
||||||
|
|
||||||
|
@ -1006,7 +1008,7 @@ QtObject:
|
||||||
warn "expected response is not a json object", methodName = "onAsyncUnfurlUrlsFinished"
|
warn "expected response is not a json object", methodName = "onAsyncUnfurlUrlsFinished"
|
||||||
return
|
return
|
||||||
|
|
||||||
let errMessage = responseObj["error"].getStr
|
let errMessage = responseObj{"error"}.getStr
|
||||||
if errMessage != "":
|
if errMessage != "":
|
||||||
error "asyncUnfurlUrls failed", errMessage
|
error "asyncUnfurlUrls failed", errMessage
|
||||||
return
|
return
|
||||||
|
@ -1204,9 +1206,9 @@ proc deleteCommunityMemberMessages*(self: Service, communityId: string, memberPu
|
||||||
try:
|
try:
|
||||||
let response = status_go.deleteCommunityMemberMessages(communityId, memberPubKey, messageId, chatId)
|
let response = status_go.deleteCommunityMemberMessages(communityId, memberPubKey, messageId, chatId)
|
||||||
|
|
||||||
if response.result.contains("error"):
|
let errorString = response.result{"error"}.getStr()
|
||||||
let errMsg = response.result["error"].getStr
|
if errorString != "":
|
||||||
raise newException(RpcException, "Error deleting community member messages: " & errMsg)
|
raise newException(CatchableError, errorString)
|
||||||
|
|
||||||
var deletedMessages = initTable[string, seq[string]]()
|
var deletedMessages = initTable[string, seq[string]]()
|
||||||
if response.result.contains("deletedMessages"):
|
if response.result.contains("deletedMessages"):
|
||||||
|
|
Loading…
Reference in New Issue