Files
open-im-server/pkg/rpcclient/convert/friend.go
T

34 lines
1.2 KiB
Go
Raw Normal View History

2023-04-21 20:29:08 +08:00
package convert
import (
"context"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/table/relation"
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
2023-04-23 14:21:36 +08:00
"github.com/OpenIMSDK/Open-IM-Server/pkg/rpcclient"
2023-04-21 20:29:08 +08:00
utils "github.com/OpenIMSDK/open_utils"
)
2023-04-23 14:21:36 +08:00
func FriendPb2DB(friend *sdkws.FriendInfo) *relation.FriendModel {
2023-04-21 20:29:08 +08:00
dbFriend := &relation.FriendModel{}
utils.CopyStructFields(dbFriend, friend)
dbFriend.FriendUserID = friend.FriendUser.UserID
dbFriend.CreateTime = utils.UnixSecondToTime(friend.CreateTime)
2023-04-23 14:21:36 +08:00
return dbFriend
2023-04-21 20:29:08 +08:00
}
2023-04-23 14:21:36 +08:00
func FriendDB2Pb(ctx context.Context, friendDB *relation.FriendModel, getUser func(ctx context.Context, userIDs []string) ([]rpcclient.CommonUser, error)) (*sdkws.FriendInfo, error) {
pbfriend := &sdkws.FriendInfo{FriendUser: &sdkws.UserInfo{}}
2023-04-21 20:29:08 +08:00
utils.CopyStructFields(pbfriend, friendDB)
2023-04-23 14:21:36 +08:00
users, err := getUser(ctx, []string{friendDB.FriendUserID})
2023-04-21 20:29:08 +08:00
if err != nil {
return nil, err
}
2023-04-23 14:21:36 +08:00
pbfriend.FriendUser.UserID = users[0].GetUserID()
pbfriend.FriendUser.Nickname = users[0].GetNickname()
pbfriend.FriendUser.FaceURL = users[0].GetFaceURL()
pbfriend.FriendUser.Ex = users[0].GetEx()
2023-04-21 20:29:08 +08:00
pbfriend.CreateTime = friendDB.CreateTime.Unix()
return pbfriend, nil
}