|
|
|
// Copyright © 2023 OpenIM. All rights reserved.
|
|
|
|
//
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
// you may not use this file except in compliance with the License.
|
|
|
|
// You may obtain a copy of the License at
|
|
|
|
//
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
//
|
|
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
// See the License for the specific language governing permissions and
|
|
|
|
// limitations under the License.
|
|
|
|
|
|
|
|
package conversion
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/OpenIMSDK/protocol/constant"
|
|
|
|
|
|
|
|
v2 "github.com/openimsdk/open-im-server/v3/tools/data-conversion/openim/mysql/v2"
|
|
|
|
v3 "github.com/openimsdk/open-im-server/v3/tools/data-conversion/openim/mysql/v3"
|
|
|
|
"github.com/openimsdk/open-im-server/v3/tools/data-conversion/utils"
|
|
|
|
)
|
|
|
|
|
|
|
|
func Friend(v v2.Friend) (v3.FriendModel, bool) {
|
|
|
|
utils.InitTime(&v.CreateTime)
|
|
|
|
return v3.FriendModel{
|
|
|
|
OwnerUserID: v.OwnerUserID,
|
|
|
|
FriendUserID: v.FriendUserID,
|
|
|
|
Remark: v.Remark,
|
|
|
|
CreateTime: v.CreateTime,
|
|
|
|
AddSource: v.AddSource,
|
|
|
|
OperatorUserID: v.OperatorUserID,
|
|
|
|
Ex: v.Ex,
|
|
|
|
}, true
|
|
|
|
}
|
|
|
|
|
|
|
|
func FriendRequest(v v2.FriendRequest) (v3.FriendRequestModel, bool) {
|
|
|
|
utils.InitTime(&v.CreateTime, &v.HandleTime)
|
|
|
|
return v3.FriendRequestModel{
|
|
|
|
FromUserID: v.FromUserID,
|
|
|
|
ToUserID: v.ToUserID,
|
|
|
|
HandleResult: v.HandleResult,
|
|
|
|
ReqMsg: v.ReqMsg,
|
|
|
|
CreateTime: v.CreateTime,
|
|
|
|
HandlerUserID: v.HandlerUserID,
|
|
|
|
HandleMsg: v.HandleMsg,
|
|
|
|
HandleTime: v.HandleTime,
|
|
|
|
Ex: v.Ex,
|
|
|
|
}, true
|
|
|
|
}
|
|
|
|
|
|
|
|
func Group(v v2.Group) (v3.GroupModel, bool) {
|
|
|
|
switch v.GroupType {
|
|
|
|
case constant.WorkingGroup, constant.NormalGroup:
|
|
|
|
v.GroupType = constant.WorkingGroup
|
|
|
|
default:
|
|
|
|
return v3.GroupModel{}, false
|
|
|
|
}
|
|
|
|
utils.InitTime(&v.CreateTime, &v.NotificationUpdateTime)
|
|
|
|
return v3.GroupModel{
|
|
|
|
GroupID: v.GroupID,
|
|
|
|
GroupName: v.GroupName,
|
|
|
|
Notification: v.Notification,
|
|
|
|
Introduction: v.Introduction,
|
|
|
|
FaceURL: v.FaceURL,
|
|
|
|
CreateTime: v.CreateTime,
|
|
|
|
Ex: v.Ex,
|
|
|
|
Status: v.Status,
|
|
|
|
CreatorUserID: v.CreatorUserID,
|
|
|
|
GroupType: v.GroupType,
|
|
|
|
NeedVerification: v.NeedVerification,
|
|
|
|
LookMemberInfo: v.LookMemberInfo,
|
|
|
|
ApplyMemberFriend: v.ApplyMemberFriend,
|
|
|
|
NotificationUpdateTime: v.NotificationUpdateTime,
|
|
|
|
NotificationUserID: v.NotificationUserID,
|
|
|
|
}, true
|
|
|
|
}
|
|
|
|
|
|
|
|
func GroupMember(v v2.GroupMember) (v3.GroupMemberModel, bool) {
|
|
|
|
utils.InitTime(&v.JoinTime, &v.MuteEndTime)
|
|
|
|
return v3.GroupMemberModel{
|
|
|
|
GroupID: v.GroupID,
|
|
|
|
UserID: v.UserID,
|
|
|
|
Nickname: v.Nickname,
|
|
|
|
FaceURL: v.FaceURL,
|
|
|
|
RoleLevel: v.RoleLevel,
|
|
|
|
JoinTime: v.JoinTime,
|
|
|
|
JoinSource: v.JoinSource,
|
|
|
|
InviterUserID: v.InviterUserID,
|
|
|
|
OperatorUserID: v.OperatorUserID,
|
|
|
|
MuteEndTime: v.MuteEndTime,
|
|
|
|
Ex: v.Ex,
|
|
|
|
}, true
|
|
|
|
}
|
|
|
|
|
|
|
|
func GroupRequest(v v2.GroupRequest) (v3.GroupRequestModel, bool) {
|
|
|
|
utils.InitTime(&v.ReqTime, &v.HandledTime)
|
|
|
|
return v3.GroupRequestModel{
|
|
|
|
UserID: v.UserID,
|
|
|
|
GroupID: v.GroupID,
|
|
|
|
HandleResult: v.HandleResult,
|
|
|
|
ReqMsg: v.ReqMsg,
|
|
|
|
HandledMsg: v.HandledMsg,
|
|
|
|
ReqTime: v.ReqTime,
|
|
|
|
HandleUserID: v.HandleUserID,
|
|
|
|
HandledTime: v.HandledTime,
|
|
|
|
JoinSource: v.JoinSource,
|
|
|
|
InviterUserID: v.InviterUserID,
|
|
|
|
Ex: v.Ex,
|
|
|
|
}, true
|
|
|
|
}
|
|
|
|
|
|
|
|
func User(v v2.User) (v3.UserModel, bool) {
|
|
|
|
utils.InitTime(&v.CreateTime)
|
|
|
|
return v3.UserModel{
|
|
|
|
UserID: v.UserID,
|
|
|
|
Nickname: v.Nickname,
|
|
|
|
FaceURL: v.FaceURL,
|
|
|
|
Ex: v.Ex,
|
|
|
|
CreateTime: v.CreateTime,
|
|
|
|
AppMangerLevel: v.AppMangerLevel,
|
|
|
|
GlobalRecvMsgOpt: v.GlobalRecvMsgOpt,
|
|
|
|
}, true
|
|
|
|
}
|