fix(curated_communities): fix error handling in curated communities call
This commit is contained in:
parent
1856c9de93
commit
f10299ba6f
|
@ -40,6 +40,7 @@ type
|
||||||
view: View
|
view: View
|
||||||
viewVariant: QVariant
|
viewVariant: QVariant
|
||||||
moduleLoaded: bool
|
moduleLoaded: bool
|
||||||
|
curatedCommunitiesLoaded: bool
|
||||||
mintingModule: minting_module.AccessInterface
|
mintingModule: minting_module.AccessInterface
|
||||||
|
|
||||||
# Forward declaration
|
# Forward declaration
|
||||||
|
@ -66,6 +67,7 @@ proc newModule*(
|
||||||
)
|
)
|
||||||
result.mintingModule = minting_module.newMintingModule(result, events, communityTokensService)
|
result.mintingModule = minting_module.newMintingModule(result, events, communityTokensService)
|
||||||
result.moduleLoaded = false
|
result.moduleLoaded = false
|
||||||
|
result.curatedCommunitiesLoaded = false
|
||||||
|
|
||||||
method delete*(self: Module) =
|
method delete*(self: Module) =
|
||||||
self.view.delete
|
self.view.delete
|
||||||
|
@ -92,9 +94,12 @@ method viewDidLoad*(self: Module) =
|
||||||
self.delegate.communitiesModuleDidLoad()
|
self.delegate.communitiesModuleDidLoad()
|
||||||
|
|
||||||
method onActivated*(self: Module) =
|
method onActivated*(self: Module) =
|
||||||
|
if self.curatedCommunitiesLoaded:
|
||||||
|
return
|
||||||
self.controller.asyncLoadCuratedCommunities()
|
self.controller.asyncLoadCuratedCommunities()
|
||||||
|
|
||||||
method curatedCommunitiesLoaded*(self: Module, curatedCommunities: seq[CuratedCOmmunity]) =
|
method curatedCommunitiesLoaded*(self: Module, curatedCommunities: seq[CuratedCOmmunity]) =
|
||||||
|
self.curatedCommunitiesLoaded = true
|
||||||
self.setCuratedCommunities(curatedCommunities)
|
self.setCuratedCommunities(curatedCommunities)
|
||||||
self.view.setCuratedCommunitiesLoading(false)
|
self.view.setCuratedCommunitiesLoading(false)
|
||||||
|
|
||||||
|
@ -102,6 +107,8 @@ method curatedCommunitiesLoading*(self: Module) =
|
||||||
self.view.setCuratedCommunitiesLoading(true)
|
self.view.setCuratedCommunitiesLoading(true)
|
||||||
|
|
||||||
method curatedCommunitiesLoadingFailed*(self: Module) =
|
method curatedCommunitiesLoadingFailed*(self: Module) =
|
||||||
|
# TODO we probably want to show an error in the UI later
|
||||||
|
self.curatedCommunitiesLoaded = true
|
||||||
self.view.setCuratedCommunitiesLoading(false)
|
self.view.setCuratedCommunitiesLoading(false)
|
||||||
|
|
||||||
proc createMemberItem(self: Module, memberId, requestId: string): MemberItem =
|
proc createMemberItem(self: Module, memberId, requestId: string): MemberItem =
|
||||||
|
|
|
@ -17,6 +17,11 @@ type
|
||||||
|
|
||||||
const asyncLoadCuratedCommunitiesTask: Task = proc(argEncoded: string) {.gcsafe, nimcall.} =
|
const asyncLoadCuratedCommunitiesTask: Task = proc(argEncoded: string) {.gcsafe, nimcall.} =
|
||||||
let arg = decode[AsyncLoadCuratedCommunitiesTaskArg](argEncoded)
|
let arg = decode[AsyncLoadCuratedCommunitiesTaskArg](argEncoded)
|
||||||
let response = status_go.getCuratedCommunities()
|
try:
|
||||||
arg.finish(response)
|
let response = status_go.getCuratedCommunities()
|
||||||
|
arg.finish(response)
|
||||||
|
except Exception as e:
|
||||||
|
arg.finish(%* {
|
||||||
|
"error": RpcError(message: e.msg),
|
||||||
|
})
|
||||||
|
|
||||||
|
|
|
@ -1282,6 +1282,7 @@ QtObject:
|
||||||
if (rpcResponseObj{"error"}.kind != JNull):
|
if (rpcResponseObj{"error"}.kind != JNull):
|
||||||
let error = Json.decode($rpcResponseObj["error"], RpcError)
|
let error = Json.decode($rpcResponseObj["error"], RpcError)
|
||||||
error "Error requesting community info", msg = error.message
|
error "Error requesting community info", msg = error.message
|
||||||
|
self.events.emit(SIGNAL_CURATED_COMMUNITIES_LOADING_FAILED, Args())
|
||||||
return
|
return
|
||||||
|
|
||||||
let curatedCommunities = parseCuratedCommunities(rpcResponseObj{"result"})
|
let curatedCommunities = parseCuratedCommunities(rpcResponseObj{"result"})
|
||||||
|
@ -1290,8 +1291,8 @@ QtObject:
|
||||||
self.events.emit(SIGNAL_CURATED_COMMUNITIES_LOADED, CuratedCommunitiesArgs(curatedCommunities: self.getCuratedCommunities()))
|
self.events.emit(SIGNAL_CURATED_COMMUNITIES_LOADED, CuratedCommunitiesArgs(curatedCommunities: self.getCuratedCommunities()))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
let errMsg = e.msg
|
let errMsg = e.msg
|
||||||
error "error: ", errMsg
|
error "error loading curated communities: ", errMsg
|
||||||
self.events.emit(SIGNAL_CURATEDCOMMUNITIES_LOADING_FAILED, Args())
|
self.events.emit(SIGNAL_CURATED_COMMUNITIES_LOADING_FAILED, Args())
|
||||||
|
|
||||||
proc requestCommunityInfo*(self: Service, communityId: string, importing = false) =
|
proc requestCommunityInfo*(self: Service, communityId: string, importing = false) =
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue