summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/SevereCloud/vksdk/v2/api/utils.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/SevereCloud/vksdk/v2/api/utils.go')
-rw-r--r--vendor/github.com/SevereCloud/vksdk/v2/api/utils.go36
1 files changed, 26 insertions, 10 deletions
diff --git a/vendor/github.com/SevereCloud/vksdk/v2/api/utils.go b/vendor/github.com/SevereCloud/vksdk/v2/api/utils.go
index 63508fe2..965c26f2 100644
--- a/vendor/github.com/SevereCloud/vksdk/v2/api/utils.go
+++ b/vendor/github.com/SevereCloud/vksdk/v2/api/utils.go
@@ -1,9 +1,8 @@
package api // import "github.com/SevereCloud/vksdk/v2/api"
import (
- "encoding/json"
-
"github.com/SevereCloud/vksdk/v2/object"
+ "github.com/vmihailenco/msgpack/v5"
)
// UtilsCheckLinkResponse struct.
@@ -89,17 +88,34 @@ func (vk *VK) UtilsGetShortLink(params Params) (response UtilsGetShortLinkRespon
// UtilsResolveScreenNameResponse struct.
type UtilsResolveScreenNameResponse object.UtilsDomainResolved
+// UnmarshalJSON UtilsResolveScreenNameResponse.
+//
+// BUG(VK): UtilsResolveScreenNameResponse return [].
+func (resp *UtilsResolveScreenNameResponse) UnmarshalJSON(data []byte) error {
+ var p object.UtilsDomainResolved
+ err := p.UnmarshalJSON(data)
+
+ *resp = UtilsResolveScreenNameResponse(p)
+
+ return err
+}
+
+// DecodeMsgpack UtilsResolveScreenNameResponse.
+//
+// BUG(VK): UtilsResolveScreenNameResponse return [].
+func (resp *UtilsResolveScreenNameResponse) DecodeMsgpack(dec *msgpack.Decoder) error {
+ var p object.UtilsDomainResolved
+ err := p.DecodeMsgpack(dec)
+
+ *resp = UtilsResolveScreenNameResponse(p)
+
+ return err
+}
+
// UtilsResolveScreenName detects a type of object (e.g., user, community, application) and its ID by screen name.
//
// https://vk.com/dev/utils.resolveScreenName
func (vk *VK) UtilsResolveScreenName(params Params) (response UtilsResolveScreenNameResponse, err error) {
- rawResponse, err := vk.Request("utils.resolveScreenName", params)
- // Если короткое имя screen_name не занято, то будет возвращён пустой объект.
- if err != nil || string(rawResponse) == "[]" {
- return
- }
-
- err = json.Unmarshal(rawResponse, &response)
-
+ err = vk.RequestUnmarshal("utils.resolveScreenName", &response, params)
return
}