Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/app_service/service/message/async_tasks.nim
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ include ../../common/json_utils
include ../../../app/core/tasks/common

import ../../../backend/chat as status_go_chat
import ../../../backend/linkpreview as status_go_linkpreview

import ../../../app/core/custom_urls/urls_manager

Expand Down Expand Up @@ -329,7 +330,7 @@ proc asyncGetTextURLsToUnfurlTask(argEncoded: string) {.gcsafe, nimcall.} =
"requestUuid": arg.requestUuid
}
try:
let response = status_go.getTextURLsToUnfurl(arg.text)
let response = status_go_linkpreview.getTextURLsToUnfurl(arg.text)
if response.error != nil:
output["error"] = %*response.error.message
output["response"] = %*response.result
Expand All @@ -351,7 +352,7 @@ type
proc asyncUnfurlUrlsTask(argEncoded: string) {.gcsafe, nimcall.} =
let arg = decode[AsyncUnfurlUrlsTaskArg](argEncoded)
try:
let response = status_go.unfurlUrls(arg.urls)
let response = status_go_linkpreview.unfurlUrls(arg.urls)
let output = %*{
"error": (if response.error != nil: response.error.message else: ""),
"response": response.result,
Expand Down
18 changes: 0 additions & 18 deletions src/app_service/service/message/service.nim
Original file line number Diff line number Diff line change
Expand Up @@ -1026,24 +1026,6 @@ QtObject:
except Exception as e:
error "error: ", procName="onGetFirstUnseenMessageIdFor", errName = e.name, errDesription = e.msg

proc getTextUrls*(self: Service, text: string): seq[string] =
try:
let response = status_go.getTextUrls(text)
if response.result.kind != JArray:
warn "expected response is not an array", methodName = "getTextUrls"
return
return map(response.result.getElems(), proc(x: JsonNode): string = x.getStr())

except Exception as e:
error "getTextUrls failed", errName = e.name, errDesription = e.msg

proc getTextURLsToUnfurl*(self: Service, text: string): UrlsUnfurlingPlan =
try:
let response = status_go.getTextURLsToUnfurl(text)
return toUrlUnfurlingPlan(response.result)
except Exception as e:
error "getTextURLsToUnfurl failed", errName = e.name, errDesription = e.msg

proc onAsyncGetTextURLsToUnfurl*(self: Service, responseString: string) {.slot.} =
let response = responseString.parseJson()
if response.kind != JObject:
Expand Down
16 changes: 16 additions & 0 deletions src/backend/linkpreview.nim
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import json
import core
import response_type

export response_type

proc prefix*(methodName: string): string =
result = "linkpreview_" & methodName

proc getTextURLsToUnfurl*(text: string): RpcResponse[JsonNode] =
let payload = %*[text]
result = callPrivateRPC("getTextURLsToUnfurl".prefix, payload)

proc unfurlUrls*(urls: seq[string]): RpcResponse[JsonNode] =
let payload = %*[urls]
result = callPrivateRPC("unfurlURLs".prefix, payload)
12 changes: 0 additions & 12 deletions src/backend/messages.nim
Original file line number Diff line number Diff line change
Expand Up @@ -76,18 +76,6 @@ proc firstUnseenMessageID*(chatId: string): RpcResponse[JsonNode] =
let payload = %* [chatId]
result = callPrivateRPC("firstUnseenMessageID".prefix, payload)

proc getTextUrls*(text: string): RpcResponse[JsonNode] =
let payload = %*[text]
result = callPrivateRPC("getTextURLs".prefix, payload)

proc getTextURLsToUnfurl*(text: string): RpcResponse[JsonNode] =
let payload = %*[text]
result = callPrivateRPC("getTextURLsToUnfurl".prefix, payload)

proc unfurlUrls*(urls: seq[string]): RpcResponse[JsonNode] =
let payload = %*[urls]
result = callPrivateRPC("unfurlURLs".prefix, payload)

proc getCommunityMemberAllMessages*(communityId: string, memberPublicKey: string): RpcResponse[JsonNode] =
let payload = %* [{"communityId": communityId, "memberPublicKey": memberPublicKey}]
result = callPrivateRPC("getCommunityMemberAllMessages".prefix, payload)
Expand Down
Loading