From 414915eb3babd3e687a5e7bc480472dd225fc9e7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 9 Feb 2023 14:40:49 +0800 Subject: [PATCH 1/3] errcode --- cmd/open_im_api/main.go | 4 +- internal/api/auth/auth.go | 6 +- internal/api/client_init/init_config.go | 6 +- internal/api/friend/friend.go | 26 +-- internal/api/group/group.go | 48 ++--- internal/api/group/super_group.go | 6 +- internal/api/manage/management_chat.go | 6 +- internal/api/manage/management_user.go | 8 +- internal/api/msg/del_msg.go | 10 +- internal/api/msg/extend_msg.go | 10 +- internal/api/msg/get_max_min_seq.go | 4 +- internal/api/msg/pull_msg.go | 4 +- internal/api/office/tag.go | 16 +- internal/api/office/work_moments.go | 20 +- internal/api/third/ali_oss_credential.go | 4 +- internal/api/third/aws_storage_credential.go | 4 +- internal/api/third/fcm_update_token.go | 4 +- .../api/third/minio_storage_credential.go | 8 +- internal/api/third/rtc.go | 6 +- internal/api/third/set_app_badge.go | 6 +- .../third/tencent_cloud_storage_credential.go | 4 +- internal/api/user/user.go | 20 +- internal/cms_api/group/group.go | 6 +- internal/cms_api/user/user.go | 2 +- internal/common/check/access.go | 4 +- .../register/CreateTencentSMSClient_test.go | 14 -- internal/demo/register/ali_sms.go | 59 ------ internal/demo/register/login.go | 94 --------- .../demo/register/register_import_friend.go | 52 ----- internal/demo/register/reset_password.go | 60 ------ internal/demo/register/send_code.go | 195 ------------------ internal/demo/register/set_password.go | 189 ----------------- internal/demo/register/sms_interface.go | 5 - internal/demo/register/tencent_sms.go | 54 ----- internal/demo/register/verify.go | 86 -------- internal/msg_gateway/gate/relay_rpc_server.go | 4 +- internal/msg_gateway/gate/ws_server.go | 4 +- internal/push/logic/callback.go | 8 +- internal/rpc/admin_cms/admin_cms.go | 20 +- internal/rpc/auth/auth.go | 8 +- internal/rpc/friend/black.go | 4 +- internal/rpc/friend/friend.go | 6 +- internal/rpc/group/group.go | 24 +-- internal/rpc/msg/chat.go | 6 +- internal/rpc/msg/del_msg.go | 10 +- internal/rpc/msg/group_notification.go | 4 +- internal/rpc/msg/send_msg.go | 6 +- internal/rpc/user/user.go | 6 +- pkg/callback_struct/group.go | 4 +- pkg/callback_struct/push.go | 14 +- .../constant/{err_info.go => error_info.go} | 0 pkg/common/db/cache/black.go | 1 + pkg/common/db/cache/conversation.go | 1 + pkg/common/db/cache/extend_msg_set.go | 38 +++- pkg/common/db/cache/friend.go | 4 +- pkg/common/db/cache/group.go | 52 ++--- pkg/common/db/cache/redis.go | 109 ++++------ pkg/common/db/cache/redis_test.go | 53 +---- pkg/common/db/cache/rockscache.go | 32 --- pkg/common/db/controller/group.go | 146 ++++++------- pkg/common/db/controller/user.go | 36 ++-- pkg/common/db/localcache/conversation.go | 4 +- .../db/table/unrelation/extend_msg_set.go | 34 +-- .../jwt_token.go | 2 +- .../jwt_token_test.go | 2 +- pkg/utils/jwt_token_test.go | 28 +-- 66 files changed, 424 insertions(+), 1296 deletions(-) delete mode 100644 internal/demo/register/CreateTencentSMSClient_test.go delete mode 100644 internal/demo/register/ali_sms.go delete mode 100644 internal/demo/register/login.go delete mode 100644 internal/demo/register/register_import_friend.go delete mode 100644 internal/demo/register/reset_password.go delete mode 100644 internal/demo/register/send_code.go delete mode 100644 internal/demo/register/set_password.go delete mode 100644 internal/demo/register/sms_interface.go delete mode 100644 internal/demo/register/tencent_sms.go delete mode 100644 internal/demo/register/verify.go rename pkg/common/constant/{err_info.go => error_info.go} (100%) rename pkg/common/{token_verify => tokenverify}/jwt_token.go (99%) rename pkg/common/{token_verify => tokenverify}/jwt_token_test.go (94%) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 5040b6df2..3224b4e67 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -14,7 +14,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" "Open_IM/pkg/common/middleware" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" "Open_IM/pkg/utils" "flag" @@ -98,7 +98,7 @@ func main() { //group related routing group groupRouterGroup := r.Group("/group") groupRouterGroup.Use(func(c *gin.Context) { - userID, err := token_verify.ParseUserIDFromToken(c.GetHeader("token"), c.GetString("operationID")) + userID, err := tokenverify.ParseUserIDFromToken(c.GetHeader("token"), c.GetString("operationID")) if err != nil { c.String(400, err.Error()) c.Abort() diff --git a/internal/api/auth/auth.go b/internal/api/auth/auth.go index f3949d8bc..d699fbf63 100644 --- a/internal/api/auth/auth.go +++ b/internal/api/auth/auth.go @@ -5,7 +5,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" rpc "Open_IM/pkg/proto/auth" open_im_sdk "Open_IM/pkg/proto/sdk_ws" @@ -165,7 +165,7 @@ func ParseToken(c *gin.Context) { var ok bool var errInfo string var expireTime int64 - ok, _, errInfo, expireTime = token_verify.GetUserIDFromTokenExpireTime(c.Request.Header.Get("token"), params.OperationID) + ok, _, errInfo, expireTime = tokenverify.GetUserIDFromTokenExpireTime(c.Request.Header.Get("token"), params.OperationID) if !ok { errMsg := params.OperationID + " " + "GetUserIDFromTokenExpireTime failed " + errInfo log.NewError(params.OperationID, errMsg) @@ -204,7 +204,7 @@ func ForceLogout(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/client_init/init_config.go b/internal/api/client_init/init_config.go index 927ffc8f9..61a4f074b 100644 --- a/internal/api/client_init/init_config.go +++ b/internal/api/client_init/init_config.go @@ -4,7 +4,7 @@ import ( api "Open_IM/pkg/api_struct" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/utils" "net/http" @@ -20,7 +20,7 @@ func SetClientInitConfig(c *gin.Context) { return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) - err, _ := token_verify.ParseTokenGetUserID(c.Request.Header.Get("token"), req.OperationID) + err, _ := tokenverify.ParseTokenGetUserID(c.Request.Header.Get("token"), req.OperationID) if err != nil { errMsg := "ParseTokenGetUserID failed " + err.Error() + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg, errMsg) @@ -52,7 +52,7 @@ func GetClientInitConfig(c *gin.Context) { return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) - err, _ := token_verify.ParseTokenGetUserID(c.Request.Header.Get("token"), req.OperationID) + err, _ := tokenverify.ParseTokenGetUserID(c.Request.Header.Get("token"), req.OperationID) if err != nil { errMsg := "ParseTokenGetUserID failed " + err.Error() + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg, errMsg) diff --git a/internal/api/friend/friend.go b/internal/api/friend/friend.go index 499fdf52f..0c0fa3d60 100644 --- a/internal/api/friend/friend.go +++ b/internal/api/friend/friend.go @@ -5,7 +5,7 @@ package friend // api "Open_IM/pkg/api_struct" // "Open_IM/pkg/common/config" // "Open_IM/pkg/common/log" -// "Open_IM/pkg/common/token_verify" +// "Open_IM/pkg/common/tokenverify" // "Open_IM/pkg/getcdv3" // rpc "Open_IM/pkg/proto/friend" // open_im_sdk "Open_IM/pkg/proto/sdk_ws" @@ -39,7 +39,7 @@ package friend // utils.CopyStructFields(req.CommID, ¶ms) // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -84,7 +84,7 @@ package friend // utils.CopyStructFields(req, ¶ms) // var ok bool // var errInfo string -// ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) +// ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) // if !ok { // errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.OperationID, errMsg) @@ -146,7 +146,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -202,7 +202,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -258,7 +258,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -312,7 +312,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -373,7 +373,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -427,7 +427,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -480,7 +480,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -535,7 +535,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -591,7 +591,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) @@ -647,7 +647,7 @@ package friend // // var ok bool // var errInfo string -// ok, req.CommID.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) +// ok, req.CommID.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) // if !ok { // errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.CommID.OperationID, errMsg) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index f18267f84..68a16ec5f 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -6,7 +6,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/common/tracelog" "Open_IM/pkg/getcdv3" rpc "Open_IM/pkg/proto/group" @@ -52,7 +52,7 @@ func KickGroupMember(c *gin.Context) { utils.CopyStructFields(req, ¶ms) var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -115,7 +115,7 @@ func GetGroupMembersInfo(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -159,7 +159,7 @@ func GetGroupMemberList(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -216,7 +216,7 @@ func GetGroupAllMemberList(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -272,7 +272,7 @@ func GetJoinedGroupList(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -333,7 +333,7 @@ func InviteUserToGroup(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -406,7 +406,7 @@ func InviteUserToGroup(c *gin.Context) { // // var ok bool // var errInfo string -// ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) +// ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) // if !ok { // errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.OperationID, errMsg) @@ -471,7 +471,7 @@ func GetRecvGroupApplicationList(c *gin.Context) { utils.CopyStructFields(req, params) var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -542,7 +542,7 @@ func GetGroupsInfo(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -611,7 +611,7 @@ func ApplicationGroupResponse(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -665,7 +665,7 @@ func JoinGroup(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -718,7 +718,7 @@ func QuitGroup(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -772,7 +772,7 @@ func QuitGroup(c *gin.Context) { // argsHandle(¶ms, req) // var ok bool // var errInfo string -// ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) +// ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) // if !ok { // errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.OperationID, errMsg) @@ -845,7 +845,7 @@ func TransferGroupOwner(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -899,7 +899,7 @@ func DismissGroup(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -953,7 +953,7 @@ func MuteGroupMember(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -1009,7 +1009,7 @@ func CancelMuteGroupMember(c *gin.Context) { utils.CopyStructFields(req, ¶ms) //var err error - //if err, req.OpUserID, _ = token_verify.ParseUserIDFromToken(c.Request.Header.Get("token"), req.OperationID); err != nil { + //if err, req.OpUserID, _ = tokenverify.ParseUserIDFromToken(c.Request.Header.Get("token"), req.OperationID); err != nil { // tracelog.WriteErrorResponse(nCtx, "ParseUserIDFromToken", err) // return //} @@ -1053,7 +1053,7 @@ func MuteGroup(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -1107,7 +1107,7 @@ func CancelMuteGroup(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -1151,7 +1151,7 @@ func SetGroupMemberNickname(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -1205,7 +1205,7 @@ func SetGroupMemberInfo(c *gin.Context) { } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) var opUserID string - ok, opUserID, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, opUserID, errInfo := tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -1262,7 +1262,7 @@ func GetGroupAbstractInfo(c *gin.Context) { GroupMemberNumber int32 `json:"groupMemberNumber"` GroupMemberListHash uint64 `json:"groupMemberListHash"` } - //common.ApiToRpc(c, &api.GetGroupAbstractInfoReq{}, &GetGroupAbstractInfoResp{}, config.Config.RpcRegisterName.OpenImGroupName, rpc.NewGroupClient, utils.GetSelfFuncName(), token_verify.ParseUserIDFromToken) + //common.ApiToRpc(c, &api.GetGroupAbstractInfoReq{}, &GetGroupAbstractInfoResp{}, config.Config.RpcRegisterName.OpenImGroupName, rpc.NewGroupClient, utils.GetSelfFuncName(), tokenverify.ParseUserIDFromToken) common.ApiToRpc(c, &api.GetGroupAbstractInfoReq{}, &GetGroupAbstractInfoResp{}, config.Config.RpcRegisterName.OpenImGroupName, rpc.NewGroupClient, utils.GetSelfFuncName()) //var ( @@ -1275,7 +1275,7 @@ func GetGroupAbstractInfo(c *gin.Context) { // c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) // return //} - //ok, opUserID, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + //ok, opUserID, errInfo := tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) //if !ok { // errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") // log.NewError(req.OperationID, errMsg) diff --git a/internal/api/group/super_group.go b/internal/api/group/super_group.go index a78f589c5..14dee8f03 100644 --- a/internal/api/group/super_group.go +++ b/internal/api/group/super_group.go @@ -5,7 +5,7 @@ import ( api "Open_IM/pkg/api_struct" "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" rpc "Open_IM/pkg/proto/group" "Open_IM/pkg/utils" @@ -23,7 +23,7 @@ func GetJoinedSuperGroupList(c *gin.Context) { return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) - ok, opUserID, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, opUserID, errInfo := tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -59,7 +59,7 @@ func GetSuperGroupsInfo(c *gin.Context) { return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) - ok, opUserID, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, opUserID, errInfo := tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 410942719..8a06f6468 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -12,7 +12,7 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" pbChat "Open_IM/pkg/proto/msg" open_im_sdk "Open_IM/pkg/proto/sdk_ws" @@ -174,7 +174,7 @@ func ManagementSendMsg(c *gin.Context) { } log.NewInfo(params.OperationID, data, params) token := c.Request.Header.Get("token") - claims, err := token_verify.ParseToken(token, params.OperationID) + claims, err := tokenverify.ParseToken(token, params.OperationID) if err != nil { log.NewError(params.OperationID, "parse token failed", err.Error(), token) c.JSON(http.StatusOK, gin.H{"errCode": 400, "errMsg": "parse token failed", "sendTime": 0, "MsgID": ""}) @@ -307,7 +307,7 @@ func ManagementBatchSendMsg(c *gin.Context) { } log.NewInfo(params.OperationID, data, params) token := c.Request.Header.Get("token") - claims, err := token_verify.ParseToken(token, params.OperationID) + claims, err := tokenverify.ParseToken(token, params.OperationID) if err != nil { log.NewError(params.OperationID, "parse token failed", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "parse token failed", "sendTime": 0, "MsgID": ""}) diff --git a/internal/api/manage/management_user.go b/internal/api/manage/management_user.go index 9020b2ff1..e2c5a1721 100644 --- a/internal/api/manage/management_user.go +++ b/internal/api/manage/management_user.go @@ -11,7 +11,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" pbRelay "Open_IM/pkg/proto/relay" rpc "Open_IM/pkg/proto/user" @@ -46,7 +46,7 @@ func GetAllUsersUid(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -101,7 +101,7 @@ func AccountCheck(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -144,7 +144,7 @@ func GetUsersOnlineStatus(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/msg/del_msg.go b/internal/api/msg/del_msg.go index 183bb096e..e27298726 100644 --- a/internal/api/msg/del_msg.go +++ b/internal/api/msg/del_msg.go @@ -5,7 +5,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" rpc "Open_IM/pkg/proto/msg" pbCommon "Open_IM/pkg/proto/sdk_ws" @@ -46,7 +46,7 @@ func DelMsg(c *gin.Context) { var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -88,7 +88,7 @@ func DelSuperGroupMsg(c *gin.Context) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) var ok bool var errInfo string - ok, rpcReq.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, rpcReq.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + rpcReq.OpUserID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -194,7 +194,7 @@ func ClearMsg(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -244,7 +244,7 @@ func SetMsgMinSeq(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index dfffab921..44db54920 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -5,7 +5,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" rpc "Open_IM/pkg/proto/msg" "Open_IM/pkg/utils" @@ -33,7 +33,7 @@ func SetMessageReactionExtensions(c *gin.Context) { } var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -82,7 +82,7 @@ func GetMessageListReactionExtensions(c *gin.Context) { } var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -128,7 +128,7 @@ func AddMessageReactionExtensions(c *gin.Context) { } var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -173,7 +173,7 @@ func DeleteMessageReactionExtensions(c *gin.Context) { } var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/msg/get_max_min_seq.go b/internal/api/msg/get_max_min_seq.go index 7db6eb121..9945bb220 100644 --- a/internal/api/msg/get_max_min_seq.go +++ b/internal/api/msg/get_max_min_seq.go @@ -3,7 +3,7 @@ package msg import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" pbChat "Open_IM/pkg/proto/msg" sdk_ws "Open_IM/pkg/proto/sdk_ws" @@ -28,7 +28,7 @@ func GetSeq(c *gin.Context) { } token := c.Request.Header.Get("token") - if ok, err := token_verify.VerifyToken(token, params.SendID); !ok { + if ok, err := tokenverify.VerifyToken(token, params.SendID); !ok { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "token validate err" + err.Error()}) return } diff --git a/internal/api/msg/pull_msg.go b/internal/api/msg/pull_msg.go index a8938328a..1971b428d 100644 --- a/internal/api/msg/pull_msg.go +++ b/internal/api/msg/pull_msg.go @@ -3,7 +3,7 @@ package msg import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" "Open_IM/pkg/proto/msg" open_im_sdk "Open_IM/pkg/proto/sdk_ws" @@ -39,7 +39,7 @@ func PullMsgBySeqList(c *gin.Context) { } token := c.Request.Header.Get("token") - if ok, err := token_verify.VerifyToken(token, params.SendID); !ok { + if ok, err := tokenverify.VerifyToken(token, params.SendID); !ok { if err != nil { log.NewError(params.OperationID, utils.GetSelfFuncName(), err.Error(), token, params.SendID) } diff --git a/internal/api/office/tag.go b/internal/api/office/tag.go index c5626369e..b6fa5e281 100644 --- a/internal/api/office/tag.go +++ b/internal/api/office/tag.go @@ -4,7 +4,7 @@ import ( api "Open_IM/pkg/api_struct" "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" pbOffice "Open_IM/pkg/proto/office" pbCommon "Open_IM/pkg/proto/sdk_ws" @@ -44,7 +44,7 @@ func GetUserTags(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -110,7 +110,7 @@ func CreateTag(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -170,7 +170,7 @@ func DeleteTag(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -230,7 +230,7 @@ func SetTag(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -290,7 +290,7 @@ func SendMsg2Tag(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -347,7 +347,7 @@ func GetTagSendLogs(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -417,7 +417,7 @@ func GetUserTagByID(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/office/work_moments.go b/internal/api/office/work_moments.go index 114f3ec4c..ab07fa0bd 100644 --- a/internal/api/office/work_moments.go +++ b/internal/api/office/work_moments.go @@ -4,7 +4,7 @@ import ( api "Open_IM/pkg/api_struct" "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" pbOffice "Open_IM/pkg/proto/office" pbCommon "Open_IM/pkg/proto/sdk_ws" @@ -44,7 +44,7 @@ func CreateOneWorkMoment(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -108,7 +108,7 @@ func DeleteOneWorkMoment(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -171,7 +171,7 @@ func LikeOneWorkMoment(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -233,7 +233,7 @@ func CommentOneWorkMoment(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -297,7 +297,7 @@ func DeleteComment(c *gin.Context) { var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -355,7 +355,7 @@ func GetWorkMomentByID(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -421,7 +421,7 @@ func GetUserWorkMoments(c *gin.Context) { var ok bool var errInfo string var opUserID string - ok, opUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, opUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -534,7 +534,7 @@ func GetUserFriendWorkMoments(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -637,7 +637,7 @@ func SetUserWorkMomentsLevel(c *gin.Context) { var ok bool var errInfo string var userID string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/third/ali_oss_credential.go b/internal/api/third/ali_oss_credential.go index 14ce0f9fa..ce3d34be7 100644 --- a/internal/api/third/ali_oss_credential.go +++ b/internal/api/third/ali_oss_credential.go @@ -5,7 +5,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "fmt" openapi "github.com/alibabacloud-go/darabonba-openapi/client" sts20150401 "github.com/alibabacloud-go/sts-20150401/client" @@ -58,7 +58,7 @@ func AliOSSCredential(c *gin.Context) { var ok bool var userID string var errInfo string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/third/aws_storage_credential.go b/internal/api/third/aws_storage_credential.go index e68073d01..9a7b9268d 100644 --- a/internal/api/third/aws_storage_credential.go +++ b/internal/api/third/aws_storage_credential.go @@ -5,7 +5,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/utils" "context" "net/http" @@ -30,7 +30,7 @@ func AwsStorageCredential(c *gin.Context) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) var ok bool var errInfo string - ok, _, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, _, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/third/fcm_update_token.go b/internal/api/third/fcm_update_token.go index 22b93a629..2b7a2da20 100644 --- a/internal/api/third/fcm_update_token.go +++ b/internal/api/third/fcm_update_token.go @@ -4,7 +4,7 @@ import ( api "Open_IM/pkg/api_struct" "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/utils" "net/http" @@ -23,7 +23,7 @@ func FcmUpdateToken(c *gin.Context) { } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) - ok, UserId, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, UserId, errInfo := tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/third/minio_storage_credential.go b/internal/api/third/minio_storage_credential.go index f500ffb8a..c57e8b1e9 100644 --- a/internal/api/third/minio_storage_credential.go +++ b/internal/api/third/minio_storage_credential.go @@ -6,8 +6,8 @@ import ( "Open_IM/pkg/common/constant" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" - _ "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" + _ "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" @@ -53,7 +53,7 @@ func MinioUploadFile(c *gin.Context) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) var ok bool var errInfo string - ok, _, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, _, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -127,7 +127,7 @@ func MinioStorageCredential(c *gin.Context) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) var ok bool var errInfo string - ok, _, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, _, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/third/rtc.go b/internal/api/third/rtc.go index 2e7d1044d..60a37856c 100644 --- a/internal/api/third/rtc.go +++ b/internal/api/third/rtc.go @@ -4,7 +4,7 @@ import ( api "Open_IM/pkg/api_struct" "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/utils" "github.com/gin-gonic/gin" "net/http" @@ -21,7 +21,7 @@ func GetRTCInvitationInfo(c *gin.Context) { return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) - ok, userID, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo := tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -66,7 +66,7 @@ func GetRTCInvitationInfoStartApp(c *gin.Context) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) var ok bool var errInfo string - ok, userID, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo := tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/third/set_app_badge.go b/internal/api/third/set_app_badge.go index 37dcad72a..e93b38a80 100644 --- a/internal/api/third/set_app_badge.go +++ b/internal/api/third/set_app_badge.go @@ -4,7 +4,7 @@ import ( api "Open_IM/pkg/api_struct" "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/utils" "github.com/gin-gonic/gin" "net/http" @@ -24,14 +24,14 @@ func SetAppBadge(c *gin.Context) { var ok bool var errInfo, opUserID string - ok, opUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, opUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": errMsg}) return } - if !token_verify.CheckAccess(c, opUserID, req.FromUserID) { + if !tokenverify.CheckAccess(c, opUserID, req.FromUserID) { log.NewError(req.OperationID, "CheckAccess false ", opUserID, req.FromUserID) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "no permission"}) } diff --git a/internal/api/third/tencent_cloud_storage_credential.go b/internal/api/third/tencent_cloud_storage_credential.go index 4cfbe485f..e36b49d5c 100644 --- a/internal/api/third/tencent_cloud_storage_credential.go +++ b/internal/api/third/tencent_cloud_storage_credential.go @@ -5,7 +5,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "github.com/fatih/structs" //"github.com/fatih/structs" @@ -26,7 +26,7 @@ func TencentCloudStorageCredential(c *gin.Context) { var ok bool var userID string var errInfo string - ok, userID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, userID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/api/user/user.go b/internal/api/user/user.go index 4f7b6391b..5a0b39e01 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -6,7 +6,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" cacheRpc "Open_IM/pkg/proto/cache" pbRelay "Open_IM/pkg/proto/relay" @@ -32,7 +32,7 @@ func GetUsersInfoFromCache(c *gin.Context) { utils.CopyStructFields(req, ¶ms) var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -80,7 +80,7 @@ func GetFriendIDListFromCache(c *gin.Context) { reqPb.OperationID = req.OperationID var ok bool var errInfo string - ok, reqPb.UserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.UserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -122,7 +122,7 @@ func GetBlackIDListFromCache(c *gin.Context) { reqPb.OperationID = req.OperationID var ok bool var errInfo string - ok, reqPb.UserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.UserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -172,7 +172,7 @@ func GetUsersPublicInfo(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -232,7 +232,7 @@ func UpdateUserInfo(c *gin.Context) { req.OperationID = params.OperationID var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -283,7 +283,7 @@ func SetGlobalRecvMessageOpt(c *gin.Context) { req.OperationID = params.OperationID var ok bool var errInfo string - ok, req.UserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.UserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -336,7 +336,7 @@ func GetSelfUserInfo(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(params.OperationID, errMsg) @@ -397,7 +397,7 @@ func GetUsersOnlineStatus(c *gin.Context) { var ok bool var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, req.OpUserID, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -471,7 +471,7 @@ func GetUsers(c *gin.Context) { } var ok bool var errInfo string - ok, _, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, _, errInfo = tokenverify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) diff --git a/internal/cms_api/group/group.go b/internal/cms_api/group/group.go index 1b6503aaf..3ca499646 100644 --- a/internal/cms_api/group/group.go +++ b/internal/cms_api/group/group.go @@ -5,7 +5,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" "Open_IM/pkg/getcdv3" - commonPb "Open_IM/pkg/proto/sdk_ws" + common "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" "net/http" @@ -29,7 +29,7 @@ func GetGroups(c *gin.Context) { } reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.Pagination = &commonPb.RequestPagination{} + reqPb.Pagination = &common.RequestPagination{} utils.CopyStructFields(&reqPb.Pagination, req) etcdConn := rpc.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) if etcdConn == nil { @@ -74,7 +74,7 @@ func GetGroupMembers(c *gin.Context) { } reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.Pagination = &commonPb.RequestPagination{ + reqPb.Pagination = &common.RequestPagination{ PageNumber: int32(req.PageNumber), ShowNumber: int32(req.ShowNumber), } diff --git a/internal/cms_api/user/user.go b/internal/cms_api/user/user.go index 439005a54..aed29444e 100644 --- a/internal/cms_api/user/user.go +++ b/internal/cms_api/user/user.go @@ -7,7 +7,7 @@ import ( "Open_IM/pkg/common/log" "Open_IM/pkg/getcdv3" pbAdminCms "Open_IM/pkg/proto/admin_cms" - commonPb "Open_IM/pkg/proto/sdk_ws" + common "Open_IM/pkg/proto/sdk_ws" pb "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" diff --git a/internal/common/check/access.go b/internal/common/check/access.go index fa6e15ee5..4f0df2643 100644 --- a/internal/common/check/access.go +++ b/internal/common/check/access.go @@ -1,7 +1,7 @@ package check import ( - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "context" ) @@ -10,5 +10,5 @@ func Access(ctx context.Context, ownerUserID string) (err error) { if err != nil { return err } - return token_verify.CheckAccessV3(ctx, ownerUserID) + return tokenverify.CheckAccessV3(ctx, ownerUserID) } diff --git a/internal/demo/register/CreateTencentSMSClient_test.go b/internal/demo/register/CreateTencentSMSClient_test.go deleted file mode 100644 index 7c3a06fd7..000000000 --- a/internal/demo/register/CreateTencentSMSClient_test.go +++ /dev/null @@ -1,14 +0,0 @@ -package register - -import ( - "fmt" - "github.com/stretchr/testify/assert" - "testing" -) - -func Test_CreateTencentSMSClient(t *testing.T) { - result, err := CreateTencentSMSClient() - assert.Nil(t, err) - fmt.Println("return result is ", result) - -} diff --git a/internal/demo/register/ali_sms.go b/internal/demo/register/ali_sms.go deleted file mode 100644 index b43e2813a..000000000 --- a/internal/demo/register/ali_sms.go +++ /dev/null @@ -1,59 +0,0 @@ -package register - -import ( - "Open_IM/pkg/common/config" - "errors" - "fmt" - openapi "github.com/alibabacloud-go/darabonba-openapi/client" - dysmsapi20170525 "github.com/alibabacloud-go/dysmsapi-20170525/v2/client" - "github.com/alibabacloud-go/tea/tea" -) - -type AliSMS struct { - client *dysmsapi20170525.Client -} - -func (a AliSMS) SendSms(code int, phoneNumber string) (resp interface{}, err error) { - sendSmsRequest := &dysmsapi20170525.SendSmsRequest{ - PhoneNumbers: tea.String(phoneNumber), - SignName: tea.String(config.Config.Demo.AliSMSVerify.SignName), - TemplateCode: tea.String(config.Config.Demo.AliSMSVerify.VerificationCodeTemplateCode), - TemplateParam: tea.String(fmt.Sprintf("{\"code\":\"%d\"}", code)), - } - response, err := a.client.SendSms(sendSmsRequest) - if err != nil { - //log.NewError(params.OperationID, "sendSms error", account, "err", err.Error()) - //c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) - return resp, err - } - if *response.Body.Code != "OK" { - //log.NewError(params.OperationID, "alibabacloud sendSms error", account, "err", response.Body.Code, response.Body.Message) - //c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) - //return - return resp, errors.New("alibabacloud sendSms error") - } - return resp, nil -} - -func NewAliSMS() (*AliSMS, error) { - var a AliSMS - client, err := createClient(tea.String(config.Config.Demo.AliSMSVerify.AccessKeyID), tea.String(config.Config.Demo.AliSMSVerify.AccessKeySecret)) - if err != nil { - return &a, err - } - a.client = client - return &a, nil -} -func createClient(accessKeyId *string, accessKeySecret *string) (result *dysmsapi20170525.Client, err error) { - c := &openapi.Config{ - // 您的AccessKey ID - AccessKeyId: accessKeyId, - // 您的AccessKey Secret - AccessKeySecret: accessKeySecret, - } - // 访问的域名 - c.Endpoint = tea.String("dysmsapi.aliyuncs.com") - result = &dysmsapi20170525.Client{} - result, err = dysmsapi20170525.NewClient(c) - return result, err -} diff --git a/internal/demo/register/login.go b/internal/demo/register/login.go deleted file mode 100644 index 7d05086eb..000000000 --- a/internal/demo/register/login.go +++ /dev/null @@ -1,94 +0,0 @@ -package register - -import ( - api "Open_IM/pkg/api_struct" - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - http2 "Open_IM/pkg/common/http" - "Open_IM/pkg/common/log" - "encoding/json" - "fmt" - "net/http" - - "github.com/gin-gonic/gin" -) - -type ParamsLogin struct { - UserID string `json:"userID"` - Email string `json:"email"` - PhoneNumber string `json:"phoneNumber"` - Password string `json:"password"` - Platform int32 `json:"platform"` - OperationID string `json:"operationID" binding:"required"` - AreaCode string `json:"areaCode"` -} - -func Login(c *gin.Context) { - params := ParamsLogin{} - if err := c.BindJSON(¶ms); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) - return - } - var account string - if params.Email != "" { - account = params.Email - } else if params.PhoneNumber != "" { - account = params.PhoneNumber - } else { - account = params.UserID - } - - r, err := im_mysql_model.GetRegister(account, params.AreaCode, params.UserID) - if err != nil { - log.NewError(params.OperationID, "user have not register", params.Password, account, err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.NotRegistered, "errMsg": "Mobile phone number is not registered"}) - return - } - if r.Password != params.Password { - log.NewError(params.OperationID, "password err", params.Password, account, r.Password, r.Account) - c.JSON(http.StatusOK, gin.H{"errCode": constant.PasswordErr, "errMsg": "password err"}) - return - } - var userID string - if r.UserID != "" { - userID = r.UserID - } else { - userID = r.Account - } - ip := c.Request.Header.Get("X-Forward-For") - if ip == "" { - ip = c.ClientIP() - } - url := fmt.Sprintf("%s/auth/user_token", config.Config.Demo.ImAPIURL) - openIMGetUserToken := api.UserTokenReq{} - openIMGetUserToken.OperationID = params.OperationID - openIMGetUserToken.Platform = params.Platform - openIMGetUserToken.Secret = config.Config.Secret - openIMGetUserToken.UserID = userID - openIMGetUserToken.LoginIp = ip - loginIp := c.Request.Header.Get("X-Forward-For") - if loginIp == "" { - loginIp = c.ClientIP() - } - openIMGetUserToken.LoginIp = loginIp - openIMGetUserTokenResp := api.UserTokenResp{} - bMsg, err := http2.Post(url, openIMGetUserToken, 2) - if err != nil { - log.NewError(params.OperationID, "request openIM get user token error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.GetIMTokenErr, "errMsg": err.Error()}) - return - } - err = json.Unmarshal(bMsg, &openIMGetUserTokenResp) - if err != nil || openIMGetUserTokenResp.ErrCode != 0 { - log.NewError(params.OperationID, "request get user token", account, "err", "") - if openIMGetUserTokenResp.ErrCode == constant.LoginLimit { - c.JSON(http.StatusOK, gin.H{"errCode": constant.LoginLimit, "errMsg": "用户登录被限制"}) - } else { - c.JSON(http.StatusOK, gin.H{"errCode": constant.GetIMTokenErr, "errMsg": ""}) - } - return - } - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": openIMGetUserTokenResp.UserToken}) - -} diff --git a/internal/demo/register/register_import_friend.go b/internal/demo/register/register_import_friend.go deleted file mode 100644 index c5bda07b2..000000000 --- a/internal/demo/register/register_import_friend.go +++ /dev/null @@ -1,52 +0,0 @@ -package register - -import ( - "Open_IM/pkg/common/config" - imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/common/log" - "Open_IM/pkg/getcdv3" - pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/pkg/utils" - "context" - "strings" -) - -var ChImportFriend chan *pbFriend.ImportFriendReq - -func init() { - ChImportFriend = make(chan *pbFriend.ImportFriendReq, 1000) -} - -func ImportFriendRoutine() { - for { - req := <-ChImportFriend - go func() { - friendUserIDList, err := imdb.GetRegisterAddFriendList(0, 0) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), req, err.Error()) - return - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "ImportFriendRoutine IDList", friendUserIDList) - if len(friendUserIDList) == 0 { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "len==0") - return - } - req.FriendUserIDList = friendUserIDList - etcdConn := rpc.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImFriendName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetConn == nil" - log.NewError(req.OperationID, errMsg) - return - } - client := pbFriend.NewFriendClient(etcdConn) - rpcResp, err := client.ImportFriend(context.Background(), req) - if err != nil { - log.NewError(req.OperationID, "ImportFriend failed ", err.Error(), req.String()) - return - } - if rpcResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "ImportFriend failed ", rpcResp) - } - }() - } -} diff --git a/internal/demo/register/reset_password.go b/internal/demo/register/reset_password.go deleted file mode 100644 index e3b1032c5..000000000 --- a/internal/demo/register/reset_password.go +++ /dev/null @@ -1,60 +0,0 @@ -package register - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db" - "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/common/log" - "Open_IM/pkg/utils" - "github.com/gin-gonic/gin" - "net/http" -) - -type resetPasswordRequest struct { - VerificationCode string `json:"verificationCode" binding:"required"` - Email string `json:"email"` - PhoneNumber string `json:"phoneNumber"` - NewPassword string `json:"newPassword" binding:"required"` - AreaCode string `json:"areaCode"` - OperationID string `json:"operationID"` -} - -func ResetPassword(c *gin.Context) { - var ( - req resetPasswordRequest - ) - if err := c.BindJSON(&req); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) - return - } - var account string - if req.Email != "" { - account = req.Email - } else { - account = req.PhoneNumber - } - - if (config.Config.Demo.UseSuperCode && req.VerificationCode != config.Config.Demo.SuperCode) || !config.Config.Demo.UseSuperCode { - accountKey := req.AreaCode + account + "_" + constant.VerificationCodeForResetSuffix - v, err := db.DB.GetAccountCode(accountKey) - if err != nil || v != req.VerificationCode { - log.NewError(req.OperationID, "password Verification code error", account, req.VerificationCode, v) - c.JSON(http.StatusOK, gin.H{"errCode": constant.CodeInvalidOrExpired, "errMsg": "Verification code error!"}) - return - } - } - user, err := im_mysql_model.GetRegister(account, req.AreaCode, "") - if err != nil || user.Account == "" { - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "get register error", err.Error()) - } - c.JSON(http.StatusOK, gin.H{"errCode": constant.NotRegistered, "errMsg": "user not register!"}) - return - } - if err := im_mysql_model.ResetPassword(account, req.NewPassword); err != nil { - c.JSON(http.StatusOK, gin.H{"errCode": constant.ResetPasswordFailed, "errMsg": "reset password failed: " + err.Error()}) - return - } - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "reset password success"}) -} diff --git a/internal/demo/register/send_code.go b/internal/demo/register/send_code.go deleted file mode 100644 index a0e6f9c76..000000000 --- a/internal/demo/register/send_code.go +++ /dev/null @@ -1,195 +0,0 @@ -package register - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db" - "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/common/log" - "Open_IM/pkg/common/utils" - "fmt" - "math/rand" - "net/http" - "time" - - "github.com/gin-gonic/gin" - "gopkg.in/gomail.v2" -) - -var sms SMS - -func init() { - var err error - if config.Config.Demo.AliSMSVerify.Enable { - sms, err = NewAliSMS() - if err != nil { - panic(err) - } - } else { - sms, err = NewTencentSMS() - if err != nil { - panic(err) - } - } -} - -type paramsVerificationCode struct { - Email string `json:"email"` - PhoneNumber string `json:"phoneNumber"` - OperationID string `json:"operationID" binding:"required"` - UsedFor int `json:"usedFor"` - AreaCode string `json:"areaCode"` - InvitationCode string `json:"invitationCode"` -} - -func SendVerificationCode(c *gin.Context) { - params := paramsVerificationCode{} - - if err := c.BindJSON(¶ms); err != nil { - log.NewError("", "BindJSON failed", "err:", err.Error(), "phoneNumber", params.PhoneNumber, "email", params.Email) - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) - return - } - operationID := params.OperationID - if operationID == "" { - operationID = utils.OperationIDGenerator() - } - log.Info(operationID, "SendVerificationCode args: ", "area code: ", params.AreaCode, "Phone Number: ", params.PhoneNumber) - var account string - if params.Email != "" { - account = params.Email - } else { - account = params.PhoneNumber - } - var accountKey = params.AreaCode + account - if params.UsedFor == 0 { - params.UsedFor = constant.VerificationCodeForRegister - } - switch params.UsedFor { - case constant.VerificationCodeForRegister: - _, err := im_mysql_model.GetRegister(account, params.AreaCode, "") - if err == nil { - log.NewError(params.OperationID, "The phone number has been registered", params) - c.JSON(http.StatusOK, gin.H{"errCode": constant.HasRegistered, "errMsg": "The phone number has been registered"}) - return - } - //需要邀请码 - if config.Config.Demo.NeedInvitationCode { - err = im_mysql_model.CheckInvitationCode(params.InvitationCode) - if err != nil { - log.NewError(params.OperationID, "邀请码错误", params) - c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "邀请码错误"}) - return - } - } - accountKey = accountKey + "_" + constant.VerificationCodeForRegisterSuffix - ok, err := db.DB.JudgeAccountEXISTS(accountKey) - if ok || err != nil { - log.NewError(params.OperationID, "Repeat send code", params, accountKey) - c.JSON(http.StatusOK, gin.H{"errCode": constant.RepeatSendCode, "errMsg": "Repeat send code"}) - return - } - - case constant.VerificationCodeForReset: - accountKey = accountKey + "_" + constant.VerificationCodeForResetSuffix - ok, err := db.DB.JudgeAccountEXISTS(accountKey) - if ok || err != nil { - log.NewError(params.OperationID, "Repeat send code", params, accountKey) - c.JSON(http.StatusOK, gin.H{"errCode": constant.RepeatSendCode, "errMsg": "Repeat send code"}) - return - } - } - rand.Seed(time.Now().UnixNano()) - code := 100000 + rand.Intn(900000) - log.NewInfo(params.OperationID, params.UsedFor, "begin store redis", accountKey, code) - err := db.DB.SetAccountCode(accountKey, code, config.Config.Demo.CodeTTL) - if err != nil { - log.NewError(params.OperationID, "set redis error", accountKey, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) - return - } - log.NewDebug(params.OperationID, config.Config.Demo) - if params.Email != "" { - m := gomail.NewMessage() - m.SetHeader(`From`, config.Config.Demo.Mail.SenderMail) - m.SetHeader(`To`, []string{account}...) - m.SetHeader(`Subject`, config.Config.Demo.Mail.Title) - m.SetBody(`text/html`, fmt.Sprintf("%d", code)) - if err := gomail.NewDialer(config.Config.Demo.Mail.SmtpAddr, config.Config.Demo.Mail.SmtpPort, config.Config.Demo.Mail.SenderMail, config.Config.Demo.Mail.SenderAuthorizationCode).DialAndSend(m); err != nil { - log.Error(params.OperationID, "send mail error", account, err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.MailSendCodeErr, "errMsg": ""}) - return - } - } else { - //client, err := CreateClient(tea.String(config.Config.Demo.AliSMSVerify.AccessKeyID), tea.String(config.Config.Demo.AliSMSVerify.AccessKeySecret)) - //if err != nil { - // log.NewError(params.OperationID, "create sendSms client err", "err", err.Error()) - // c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) - // return - //} - - //sendSmsRequest := &dysmsapi20170525.SendSmsRequest{ - // PhoneNumbers: tea.String(accountKey), - // SignName: tea.String(config.Config.Demo.AliSMSVerify.SignName), - // TemplateCode: tea.String(config.Config.Demo.AliSMSVerify.VerificationCodeTemplateCode), - // TemplateParam: tea.String(fmt.Sprintf("{\"code\":\"%d\"}", code)), - //} - response, err := sms.SendSms(code, params.AreaCode+params.PhoneNumber) - //response, err := client.SendSms(sendSmsRequest) - if err != nil { - log.NewError(params.OperationID, "sendSms error", account, "err", err.Error(), response) - c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) - return - } - } - log.Debug(params.OperationID, "send sms success", code, accountKey) - data := make(map[string]interface{}) - data["account"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "Verification code has been set!", "data": data}) -} - -//func CreateClient(accessKeyId *string, accessKeySecret *string) (result *dysmsapi20170525.Client, err error) { -// c := &openapi.Config{ -// // 您的AccessKey ID -// AccessKeyId: accessKeyId, -// // 您的AccessKey Secret -// AccessKeySecret: accessKeySecret, -// } -// -// // 访问的域名 -// c.Endpoint = tea.String("dysmsapi.aliyuncs.com") -// result = &dysmsapi20170525.Client{} -// result, err = dysmsapi20170525.NewClient(c) -// return result, err -//} -//func CreateTencentSMSClient() (string, error) { -// credential := common.NewCredential( -// config.Config.Demo.TencentSMS.SecretID, -// config.Config.Demo.TencentSMS.SecretKey, -// ) -// cpf := profile.NewClientProfile() -// client, err := sms.NewClient(credential, config.Config.Demo.TencentSMS.Region, cpf) -// if err != nil { -// return "", err -// } -// request := sms.NewSendSmsRequest() -// request.SmsSdkAppId = common.StringPtr(config.Config.Demo.TencentSMS.AppID) -// request.SignName = common.StringPtr(config.Config.Demo.TencentSMS.SignName) -// request.TemplateId = common.StringPtr(config.Config.Demo.TencentSMS.VerificationCodeTemplateCode) -// request.TemplateParamSet = common.StringPtrs([]string{"666666"}) -// request.PhoneNumberSet = common.StringPtrs([]string{"+971588232183"}) -// // 通过client对象调用想要访问的接口,需要传入请求对象 -// response, err := client.SendSms(request) -// // 非SDK异常,直接失败。实际代码中可以加入其他的处理。 -// if err != nil { -// log.Error("test", "send code to tencent err", err.Error()) -// } -// // 处理异常 -// if _, ok := err.(*errors.TencentCloudSDKError); ok { -// log.Error("test", "An API error has returned:", err.Error()) -// return "", err -// } -// -// b, _ := json.Marshal(response.Response) -// return string(b), nil -//} diff --git a/internal/demo/register/set_password.go b/internal/demo/register/set_password.go deleted file mode 100644 index e2f141080..000000000 --- a/internal/demo/register/set_password.go +++ /dev/null @@ -1,189 +0,0 @@ -package register - -import ( - api "Open_IM/pkg/api_struct" - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db" - imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - http2 "Open_IM/pkg/common/http" - "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" - pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/pkg/utils" - "encoding/json" - "math/big" - "net/http" - "strconv" - "time" - - "github.com/gin-gonic/gin" -) - -type ParamsSetPassword struct { - UserID string `json:"userID"` - Email string `json:"email"` - Nickname string `json:"nickname"` - PhoneNumber string `json:"phoneNumber"` - Password string `json:"password" binding:"required"` - VerificationCode string `json:"verificationCode"` - Platform int32 `json:"platform" binding:"required,min=1,max=12"` - Ex string `json:"ex"` - FaceURL string `json:"faceURL"` - OperationID string `json:"operationID" binding:"required"` - AreaCode string `json:"areaCode"` - InvitationCode string `json:"invitationCode"` - Gender int32 `json:"gender"` - Birth int32 `json:"birth"` -} - -func SetPassword(c *gin.Context) { - params := ParamsSetPassword{} - if err := c.BindJSON(¶ms); err != nil { - log.NewError(params.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) - return - } - ip := c.Request.Header.Get("X-Forward-For") - if ip == "" { - ip = c.ClientIP() - } - log.NewDebug(params.OperationID, utils.GetSelfFuncName(), "ip:", ip) - - ok, opUserID, _ := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), params.OperationID) - if !ok || !utils.IsContain(opUserID, config.Config.Manager.AppManagerUid) { - Limited, LimitError := imdb.IsLimitRegisterIp(ip) - if LimitError != nil { - log.Error(params.OperationID, utils.GetSelfFuncName(), LimitError, ip) - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError.Error()}) - return - } - if Limited { - log.NewInfo(params.OperationID, utils.GetSelfFuncName(), "is limited", ip, "params:", params) - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.RegisterLimit, "errMsg": "limited"}) - return - } - } - openIMRegisterReq := api.UserRegisterReq{} - var account string - if params.Email != "" { - account = params.Email - openIMRegisterReq.Email = params.Email - } else if params.PhoneNumber != "" { - account = params.PhoneNumber - openIMRegisterReq.PhoneNumber = params.PhoneNumber - } else { - account = params.UserID - } - if params.Nickname == "" { - params.Nickname = account - } - if params.UserID == "" { - if (config.Config.Demo.UseSuperCode && params.VerificationCode != config.Config.Demo.SuperCode) || !config.Config.Demo.UseSuperCode { - accountKey := params.AreaCode + account + "_" + constant.VerificationCodeForRegisterSuffix - v, err := db.DB.GetAccountCode(accountKey) - if err != nil || v != params.VerificationCode { - log.NewError(params.OperationID, "password Verification code error", account, params.VerificationCode) - data := make(map[string]interface{}) - data["PhoneNumber"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.CodeInvalidOrExpired, "errMsg": "Verification code error!", "data": data}) - return - } - } - if config.Config.Demo.NeedInvitationCode && params.InvitationCode != "" { - err := imdb.CheckInvitationCode(params.InvitationCode) - if err != nil { - c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "InvitationCode error"}) - return - } - } - } - //userID := utils.Base64Encode(account) - var userID string - if params.UserID == "" { - userID = utils.Md5(params.OperationID + strconv.FormatInt(time.Now().UnixNano(), 10)) - bi := big.NewInt(0) - bi.SetString(userID[0:8], 16) - userID = bi.String() - } else { - userID = params.UserID - } - url := config.Config.Demo.ImAPIURL + "/auth/user_register" - openIMRegisterReq.OperationID = params.OperationID - openIMRegisterReq.Platform = params.Platform - openIMRegisterReq.UserID = userID - openIMRegisterReq.Nickname = params.Nickname - openIMRegisterReq.Secret = config.Config.Secret - openIMRegisterReq.FaceURL = params.FaceURL - openIMRegisterReq.Gender = params.Gender - openIMRegisterReq.Birth = uint32(params.Birth) - openIMRegisterResp := api.UserRegisterResp{} - log.NewDebug(params.OperationID, utils.GetSelfFuncName(), "register req:", openIMRegisterReq) - bMsg, err := http2.Post(url, openIMRegisterReq, 2) - if err != nil { - log.NewError(params.OperationID, "request openIM register error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": err.Error()}) - return - } - err = json.Unmarshal(bMsg, &openIMRegisterResp) - if err != nil || openIMRegisterResp.ErrCode != 0 { - log.NewError(params.OperationID, "request openIM register error", account, "err", "resp: ", openIMRegisterResp.ErrCode) - if err != nil { - log.NewError(params.OperationID, utils.GetSelfFuncName(), err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register limit"}) - return - } - if openIMRegisterResp.ErrCode != 0 { - c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register failed: " + openIMRegisterResp.ErrMsg}) - return - } - } - log.Info(params.OperationID, "begin store mysql", account, params.Password, "info", params.FaceURL, params.Nickname) - err = imdb.SetPassword(account, params.Password, params.Ex, userID, params.AreaCode, ip) - if err != nil { - log.NewError(params.OperationID, "set phone number password error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": err.Error()}) - return - } - if config.Config.Demo.NeedInvitationCode && params.InvitationCode != "" { - //判断一下验证码的使用情况 - LockSucc := imdb.TryLockInvitationCode(params.InvitationCode, userID) - if LockSucc { - imdb.FinishInvitationCode(params.InvitationCode, userID) - } - } - if err := imdb.InsertIpRecord(userID, ip); err != nil { - log.NewError(params.OperationID, utils.GetSelfFuncName(), userID, ip, err.Error()) - } - - log.Info(params.OperationID, "end setuserInfo", account, params.Password) - // demo onboarding - if params.UserID == "" && config.Config.Demo.OnboardProcess { - select { - case Ch <- OnboardingProcessReq{ - OperationID: params.OperationID, - UserID: userID, - NickName: params.Nickname, - FaceURL: params.FaceURL, - PhoneNumber: params.AreaCode + params.PhoneNumber, - Email: params.Email, - }: - case <-time.After(time.Second * 2): - log.NewWarn(params.OperationID, utils.GetSelfFuncName(), "to ch timeOut") - } - } - - // register add friend - select { - case ChImportFriend <- &pbFriend.ImportFriendReq{ - OperationID: params.OperationID, - FromUserID: userID, - OpUserID: config.Config.Manager.AppManagerUid[0], - }: - case <-time.After(time.Second * 2): - log.NewWarn(params.OperationID, utils.GetSelfFuncName(), "to ChImportFriend timeOut") - } - - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": openIMRegisterResp.UserToken}) - return -} diff --git a/internal/demo/register/sms_interface.go b/internal/demo/register/sms_interface.go deleted file mode 100644 index 6830cc7ae..000000000 --- a/internal/demo/register/sms_interface.go +++ /dev/null @@ -1,5 +0,0 @@ -package register - -type SMS interface { - SendSms(code int, phoneNumber string) (resp interface{}, err error) -} diff --git a/internal/demo/register/tencent_sms.go b/internal/demo/register/tencent_sms.go deleted file mode 100644 index d83e4b724..000000000 --- a/internal/demo/register/tencent_sms.go +++ /dev/null @@ -1,54 +0,0 @@ -package register - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/log" - "Open_IM/pkg/utils" - "encoding/json" - "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" - "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" - "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile" - v20210111 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms/v20210111" -) - -type TencentSMS struct { - client *v20210111.Client -} - -func (t TencentSMS) SendSms(code int, phoneNumber string) (resp interface{}, err error) { - request := v20210111.NewSendSmsRequest() - request.SmsSdkAppId = common.StringPtr(config.Config.Demo.TencentSMS.AppID) - request.SignName = common.StringPtr(config.Config.Demo.TencentSMS.SignName) - request.TemplateId = common.StringPtr(config.Config.Demo.TencentSMS.VerificationCodeTemplateCode) - request.TemplateParamSet = common.StringPtrs([]string{utils.IntToString(code)}) - request.PhoneNumberSet = common.StringPtrs([]string{phoneNumber}) - // 通过client对象调用想要访问的接口,需要传入请求对象 - response, err := t.client.SendSms(request) - // 非SDK异常,直接失败。实际代码中可以加入其他的处理。 - if err != nil { - return response, err - } - // 处理异常 - if _, ok := err.(*errors.TencentCloudSDKError); ok { - return response, err - } - b, _ := json.Marshal(response.Response) - log.Debug("tencent send message is ", code, phoneNumber, string(b)) - return response, nil -} - -func NewTencentSMS() (*TencentSMS, error) { - var a TencentSMS - credential := common.NewCredential( - config.Config.Demo.TencentSMS.SecretID, - config.Config.Demo.TencentSMS.SecretKey, - ) - cpf := profile.NewClientProfile() - client, err := v20210111.NewClient(credential, config.Config.Demo.TencentSMS.Region, cpf) - if err != nil { - return &a, err - } - a.client = client - return &a, nil - -} diff --git a/internal/demo/register/verify.go b/internal/demo/register/verify.go deleted file mode 100644 index 137f319a3..000000000 --- a/internal/demo/register/verify.go +++ /dev/null @@ -1,86 +0,0 @@ -package register - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db" - "Open_IM/pkg/common/log" - "Open_IM/pkg/common/utils" - "github.com/gin-gonic/gin" - "net/http" -) - -type paramsCertification struct { - Email string `json:"email"` - PhoneNumber string `json:"phoneNumber"` - VerificationCode string `json:"verificationCode"` - OperationID string `json:"operationID" binding:"required"` - UsedFor int `json:"usedFor"` - AreaCode string `json:"areaCode"` -} - -func Verify(c *gin.Context) { - params := paramsCertification{} - operationID := params.OperationID - - if err := c.BindJSON(¶ms); err != nil { - log.NewError(operationID, "request params json parsing failed", "", "err", err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) - return - } - if operationID == "" { - operationID = utils.OperationIDGenerator() - } - log.NewInfo(operationID, "recv req: ", params) - - var account string - if params.Email != "" { - account = params.Email - } else { - account = params.AreaCode + params.PhoneNumber - } - - if config.Config.Demo.UseSuperCode && params.VerificationCode == config.Config.Demo.SuperCode { - log.NewInfo(params.OperationID, "Super Code Verified successfully", account) - data := make(map[string]interface{}) - data["account"] = account - data["verificationCode"] = params.VerificationCode - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "Verified successfully!", "data": data}) - return - } - log.NewInfo(params.OperationID, " params.VerificationCode != config.Config.Demo.SuperCode", params.VerificationCode, config.Config.Demo) - log.NewInfo(params.OperationID, "begin get form redis", account) - if params.UsedFor == 0 { - params.UsedFor = constant.VerificationCodeForRegister - } - var accountKey string - switch params.UsedFor { - case constant.VerificationCodeForRegister: - accountKey = account + "_" + constant.VerificationCodeForRegisterSuffix - case constant.VerificationCodeForReset: - accountKey = account + "_" + constant.VerificationCodeForResetSuffix - } - - code, err := db.DB.GetAccountCode(accountKey) - log.NewInfo(params.OperationID, "redis phone number and verificating Code", "key: ", accountKey, "code: ", code, "params: ", params) - if err != nil { - log.NewError(params.OperationID, "Verification code expired", accountKey, "err", err.Error()) - data := make(map[string]interface{}) - data["account"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.CodeInvalidOrExpired, "errMsg": "Verification code expired!", "data": data}) - return - } - if params.VerificationCode == code { - log.Info(params.OperationID, "Verified successfully", account) - data := make(map[string]interface{}) - data["account"] = account - data["verificationCode"] = params.VerificationCode - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "Verified successfully!", "data": data}) - return - } else { - log.Info(params.OperationID, "Verification code error", account, params.VerificationCode) - data := make(map[string]interface{}) - data["account"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.CodeInvalidOrExpired, "errMsg": "Verification code error!", "data": data}) - } -} diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index 28dc94318..2c96b65f3 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -5,7 +5,7 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" promePkg "Open_IM/pkg/common/prometheus" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" pbRelay "Open_IM/pkg/proto/relay" sdk_ws "Open_IM/pkg/proto/sdk_ws" @@ -145,7 +145,7 @@ func (r *RPCServer) OnlinePushMsg(_ context.Context, in *pbRelay.OnlinePushMsgRe } func (r *RPCServer) GetUsersOnlineStatus(_ context.Context, req *pbRelay.GetUsersOnlineStatusReq) (*pbRelay.GetUsersOnlineStatusResp, error) { log.NewInfo(req.OperationID, "rpc GetUsersOnlineStatus arrived server", req.String()) - if !token_verify.IsManagerUserID(req.OpUserID) { + if !tokenverify.IsManagerUserID(req.OpUserID) { log.NewError(req.OperationID, "no permission GetUsersOnlineStatus ", req.OpUserID) return &pbRelay.GetUsersOnlineStatusResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil } diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 9458b7b6a..078cc08a5 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -6,7 +6,7 @@ import ( "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" promePkg "Open_IM/pkg/common/prometheus" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" pbRelay "Open_IM/pkg/proto/relay" "Open_IM/pkg/utils" @@ -444,7 +444,7 @@ func (ws *WServer) headerCheck(w http.ResponseWriter, r *http.Request, operation status := http.StatusUnauthorized query := r.URL.Query() if len(query["token"]) != 0 && len(query["sendID"]) != 0 && len(query["platformID"]) != 0 { - if ok, err, msg := token_verify.WsVerifyToken(query["token"][0], query["sendID"][0], query["platformID"][0], operationID); !ok { + if ok, err, msg := tokenverify.WsVerifyToken(query["token"][0], query["sendID"][0], query["platformID"][0], operationID); !ok { if errors.Is(err, constant.ErrTokenExpired) { status = int(constant.ErrTokenExpired.ErrCode) } diff --git a/internal/push/logic/callback.go b/internal/push/logic/callback.go index f6d318bd8..357f556f4 100644 --- a/internal/push/logic/callback.go +++ b/internal/push/logic/callback.go @@ -7,12 +7,12 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" - commonPb "Open_IM/pkg/proto/sdk_ws" + common "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" http2 "net/http" ) -func callbackOfflinePush(operationID string, userIDList []string, msg *commonPb.MsgData, offlinePushUserIDList *[]string) cbApi.CommonCallbackResp { +func callbackOfflinePush(operationID string, userIDList []string, msg *common.MsgData, offlinePushUserIDList *[]string) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackOfflinePush.Enable { return callbackResp @@ -60,7 +60,7 @@ func callbackOfflinePush(operationID string, userIDList []string, msg *commonPb. return callbackResp } -func callbackOnlinePush(operationID string, userIDList []string, msg *commonPb.MsgData) cbApi.CommonCallbackResp { +func callbackOnlinePush(operationID string, userIDList []string, msg *common.MsgData) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackOnlinePush.Enable || utils.IsContain(msg.SendID, userIDList) { return callbackResp @@ -104,7 +104,7 @@ func callbackOnlinePush(operationID string, userIDList []string, msg *commonPb.M return callbackResp } -func callbackBeforeSuperGroupOnlinePush(operationID string, groupID string, msg *commonPb.MsgData, pushToUserList *[]string) cbApi.CommonCallbackResp { +func callbackBeforeSuperGroupOnlinePush(operationID string, groupID string, msg *common.MsgData, pushToUserList *[]string) cbApi.CommonCallbackResp { log.Debug(operationID, utils.GetSelfFuncName(), groupID, msg.String(), pushToUserList) callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackBeforeSuperGroupOnlinePush.Enable { diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 25d0dc338..b171356e7 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -8,11 +8,10 @@ import ( "Open_IM/pkg/common/db/relation" "Open_IM/pkg/common/log" promePkg "Open_IM/pkg/common/prometheus" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/common/tracelog" - "Open_IM/pkg/getcdv3" pbAdminCMS "Open_IM/pkg/proto/admin_cms" - server_api_params "Open_IM/pkg/proto/sdk_ws" + common "Open_IM/pkg/proto/sdk_ws" grpcPrometheus "github.com/grpc-ecosystem/go-grpc-prometheus" @@ -45,15 +44,15 @@ func NewAdminCMSServer(port int) *adminCMSServer { admin := &adminCMSServer{ rpcPort: port, rpcRegisterName: config.Config.RpcRegisterName.OpenImAdminCMSName, - etcdSchema: config.Config.Etcd.EtcdSchema, - etcdAddr: config.Config.Etcd.EtcdAddr, + etcdSchema: config.Config.Zookeeper.Schema, + etcdAddr: config.Config.Zookeeper.ZkAddr, } var mysql relation.Mysql var redis cache.RedisClient mysql.InitConn() redis.InitRedis() admin.userInterface = controller.NewUserController(mysql.GormConn()) - admin.groupInterface = controller.NewGroupController(mysql.GormConn(), redis.GetClient(), nil) + admin.groupInterface = controller.NewGroupInterface(mysql.GormConn(), redis.GetClient(), nil) admin.adminCMSInterface = controller.NewAdminCMSController(mysql.GormConn()) admin.chatLogInterface = controller.NewChatLogController(mysql.GormConn()) return admin @@ -68,7 +67,6 @@ func (s *adminCMSServer) Run() { listenIP = config.Config.ListenIP } address := listenIP + ":" + strconv.Itoa(s.rpcPort) - //listener network listener, err := net.Listen("tcp", address) if err != nil { @@ -116,7 +114,7 @@ func (s *adminCMSServer) AdminLogin(ctx context.Context, req *pbAdminCMS.AdminLo resp := &pbAdminCMS.AdminLoginResp{} for i, adminID := range config.Config.Manager.AppManagerUid { if adminID == req.AdminID && config.Config.Manager.Secrets[i] == req.Secret { - token, expTime, err := token_verify.CreateToken(adminID, constant.LinuxPlatformID) + token, expTime, err := tokenverify.CreateToken(adminID, constant.LinuxPlatformID) if err != nil { log.NewError(tracelog.GetOperationID(ctx), utils.GetSelfFuncName(), "generate token failed", "adminID: ", adminID, err.Error()) return nil, err @@ -140,7 +138,7 @@ func (s *adminCMSServer) AdminLogin(ctx context.Context, req *pbAdminCMS.AdminLo } func (s *adminCMSServer) GetUserToken(ctx context.Context, req *pbAdminCMS.GetUserTokenReq) (*pbAdminCMS.GetUserTokenResp, error) { - token, expTime, err := token_verify.CreateToken(req.UserID, int(req.PlatformID)) + token, expTime, err := tokenverify.CreateToken(req.UserID, int(req.PlatformID)) if err != nil { return nil, err } @@ -529,8 +527,8 @@ func (s *adminCMSServer) GetUserFriends(ctx context.Context, req *pbAdminCMS.Get resp.FriendNums = int32(count) } for _, v := range friendList { - friendInfo := &server_api_params.FriendInfo{} - userInfo := &server_api_params.UserInfo{UserID: v.FriendUserID, Nickname: v.Nickname} + friendInfo := &common.FriendInfo{} + userInfo := &common.UserInfo{UserID: v.FriendUserID, Nickname: v.Nickname} utils.CopyStructFields(friendInfo, v) friendInfo.FriendUser = userInfo resp.FriendInfoList = append(resp.FriendInfoList, friendInfo) diff --git a/internal/rpc/auth/auth.go b/internal/rpc/auth/auth.go index f43bc1ff1..baeb50cfa 100644 --- a/internal/rpc/auth/auth.go +++ b/internal/rpc/auth/auth.go @@ -7,7 +7,7 @@ import ( "Open_IM/pkg/common/db/controller" "Open_IM/pkg/common/log" promePkg "Open_IM/pkg/common/prometheus" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/common/tracelog" discoveryRegistry "Open_IM/pkg/discovery_registry" pbAuth "Open_IM/pkg/proto/auth" @@ -40,8 +40,8 @@ func (s *rpcAuth) UserToken(ctx context.Context, req *pbAuth.UserTokenReq) (*pbA return &resp, nil } -func (s *rpcAuth) parseToken(ctx context.Context, tokensString, operationID string) (claims *token_verify.Claims, err error) { - claims, err = token_verify.GetClaimFromToken(tokensString) +func (s *rpcAuth) parseToken(ctx context.Context, tokensString, operationID string) (claims *tokenverify.Claims, err error) { + claims, err = tokenverify.GetClaimFromToken(tokensString) if err != nil { return nil, utils.Wrap(err, "") } @@ -77,7 +77,7 @@ func (s *rpcAuth) ParseToken(ctx context.Context, req *pbAuth.ParseTokenReq) (*p func (s *rpcAuth) ForceLogout(ctx context.Context, req *pbAuth.ForceLogoutReq) (*pbAuth.ForceLogoutResp, error) { resp := pbAuth.ForceLogoutResp{} - if err := token_verify.CheckAdmin(ctx); err != nil { + if err := tokenverify.CheckAdmin(ctx); err != nil { return nil, err } if err := s.forceKickOff(ctx, req.UserID, req.PlatformID, tracelog.GetOperationID(ctx)); err != nil { diff --git a/internal/rpc/friend/black.go b/internal/rpc/friend/black.go index 55d4c396f..5d99b8f71 100644 --- a/internal/rpc/friend/black.go +++ b/internal/rpc/friend/black.go @@ -5,7 +5,7 @@ import ( "Open_IM/internal/common/convert" chat "Open_IM/internal/rpc/msg" "Open_IM/pkg/common/db/table/relation" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/common/tracelog" pbFriend "Open_IM/pkg/proto/friend" "context" @@ -53,7 +53,7 @@ func (s *friendServer) RemoveBlack(ctx context.Context, req *pbFriend.RemoveBlac func (s *friendServer) AddBlack(ctx context.Context, req *pbFriend.AddBlackReq) (*pbFriend.AddBlackResp, error) { resp := &pbFriend.AddBlackResp{} - if err := token_verify.CheckAccessV3(ctx, req.OwnerUserID); err != nil { + if err := tokenverify.CheckAccessV3(ctx, req.OwnerUserID); err != nil { return nil, err } black := relation.BlackModel{OwnerUserID: req.OwnerUserID, BlockUserID: req.BlackUserID, OperatorUserID: tracelog.GetOpUserID(ctx)} diff --git a/internal/rpc/friend/friend.go b/internal/rpc/friend/friend.go index 7dcd88e18..99be612b8 100644 --- a/internal/rpc/friend/friend.go +++ b/internal/rpc/friend/friend.go @@ -11,7 +11,7 @@ import ( "Open_IM/pkg/common/log" "Open_IM/pkg/common/middleware" promePkg "Open_IM/pkg/common/prometheus" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/common/tracelog" pbFriend "Open_IM/pkg/proto/friend" pbUser "Open_IM/pkg/proto/user" @@ -130,7 +130,7 @@ func (s *friendServer) Run() { // ok func (s *friendServer) ApplyToAddFriend(ctx context.Context, req *pbFriend.ApplyToAddFriendReq) (resp *pbFriend.ApplyToAddFriendResp, err error) { resp = &pbFriend.ApplyToAddFriendResp{} - if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil { + if err := tokenverify.CheckAccessV3(ctx, req.FromUserID); err != nil { return nil, err } if err := callbackBeforeAddFriendV1(ctx, req); err != nil { @@ -159,7 +159,7 @@ func (s *friendServer) ApplyToAddFriend(ctx context.Context, req *pbFriend.Apply // ok func (s *friendServer) ImportFriends(ctx context.Context, req *pbFriend.ImportFriendReq) (resp *pbFriend.ImportFriendResp, err error) { resp = &pbFriend.ImportFriendResp{} - if err := token_verify.CheckAdmin(ctx); err != nil { + if err := tokenverify.CheckAdmin(ctx); err != nil { return nil, err } if _, err := check.GetUsersInfo(ctx, req.OwnerUserID, req.FriendUserIDs); err != nil { diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index d04a44f9b..8fc126cbc 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -13,7 +13,7 @@ import ( "Open_IM/pkg/common/log" "Open_IM/pkg/common/middleware" promePkg "Open_IM/pkg/common/prometheus" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/common/tracelog" discoveryRegistry "Open_IM/pkg/discovery_registry" pbGroup "Open_IM/pkg/proto/group" @@ -128,7 +128,7 @@ func (s *groupServer) Run() { } func (s *groupServer) CheckGroupAdmin(ctx context.Context, groupID string) error { - if !token_verify.IsAppManagerUid(ctx) { + if !tokenverify.IsAppManagerUid(ctx) { groupMember, err := s.GroupInterface.TakeGroupMember(ctx, groupID, tracelog.GetOpUserID(ctx)) if err != nil { return err @@ -142,7 +142,7 @@ func (s *groupServer) CheckGroupAdmin(ctx context.Context, groupID string) error func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupReq) (*pbGroup.CreateGroupResp, error) { resp := &pbGroup.CreateGroupResp{GroupInfo: &open_im_sdk.GroupInfo{}} - if err := token_verify.CheckAccessV3(ctx, req.OwnerUserID); err != nil { + if err := tokenverify.CheckAccessV3(ctx, req.OwnerUserID); err != nil { return nil, err } if req.OwnerUserID == "" { @@ -216,7 +216,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJoinedGroupListReq) (*pbGroup.GetJoinedGroupListResp, error) { resp := &pbGroup.GetJoinedGroupListResp{} - if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil { + if err := tokenverify.CheckAccessV3(ctx, req.FromUserID); err != nil { return nil, err } total, members, err := s.GroupInterface.PageGroupMember(ctx, nil, []string{req.FromUserID}, nil, req.Pagination.PageNumber, req.Pagination.ShowNumber) @@ -286,7 +286,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite return nil, constant.ErrArgs.Wrap("user not found " + strings.Join(ids, ",")) } if group.NeedVerification == constant.AllNeedVerification { - if !token_verify.IsAppManagerUid(ctx) { + if !tokenverify.IsAppManagerUid(ctx) { opUserID := tracelog.GetOpUserID(ctx) member, ok := memberMap[opUserID] if !ok { @@ -418,7 +418,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou return nil, constant.ErrUserIDNotFound.Wrap(userID) } } - if !token_verify.IsAppManagerUid(ctx) { + if !tokenverify.IsAppManagerUid(ctx) { member := memberMap[opUserID] if member == nil { return nil, constant.ErrNoPermission.Wrap(fmt.Sprintf("opUserID %s no in group", opUserID)) @@ -549,7 +549,7 @@ func (s *groupServer) GroupApplicationResponse(ctx context.Context, req *pbGroup if !utils.Contain(req.HandleResult, constant.GroupResponseAgree, constant.GroupResponseRefuse) { return nil, constant.ErrArgs.Wrap("HandleResult unknown") } - if !token_verify.IsAppManagerUid(ctx) { + if !tokenverify.IsAppManagerUid(ctx) { groupMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupID, req.FromUserID) if err != nil { return nil, err @@ -682,7 +682,7 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq) func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInfoReq) (*pbGroup.SetGroupInfoResp, error) { resp := &pbGroup.SetGroupInfoResp{} - if !token_verify.IsAppManagerUid(ctx) { + if !tokenverify.IsAppManagerUid(ctx) { groupMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupInfoForSet.GroupID, tracelog.GetOpUserID(ctx)) if err != nil { return nil, err @@ -741,7 +741,7 @@ func (s *groupServer) TransferGroupOwner(ctx context.Context, req *pbGroup.Trans return nil, constant.ErrArgs.Wrap("NewOwnerUser not in group " + req.NewOwnerUserID) } oldOwner := memberMap[req.OldOwnerUserID] - if token_verify.IsAppManagerUid(ctx) { + if tokenverify.IsAppManagerUid(ctx) { if oldOwner == nil { oldOwner, err = s.GroupInterface.TakeGroupOwner(ctx, req.OldOwnerUserID) if err != nil { @@ -893,7 +893,7 @@ func (s *groupServer) MuteGroupMember(ctx context.Context, req *pbGroup.MuteGrou if err != nil { return nil, err } - if !(tracelog.GetOpUserID(ctx) == req.UserID || token_verify.IsAppManagerUid(ctx)) { + if !(tracelog.GetOpUserID(ctx) == req.UserID || tokenverify.IsAppManagerUid(ctx)) { opMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupID, req.UserID) if err != nil { return nil, err @@ -916,7 +916,7 @@ func (s *groupServer) CancelMuteGroupMember(ctx context.Context, req *pbGroup.Ca if err != nil { return nil, err } - if !(tracelog.GetOpUserID(ctx) == req.UserID || token_verify.IsAppManagerUid(ctx)) { + if !(tracelog.GetOpUserID(ctx) == req.UserID || tokenverify.IsAppManagerUid(ctx)) { opMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupID, tracelog.GetOpUserID(ctx)) if err != nil { return nil, err @@ -985,7 +985,7 @@ func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbGroup.SetGr if req.RoleLevel != nil { return nil, constant.ErrArgs.Wrap("update role level") } - } else if !token_verify.IsAppManagerUid(ctx) { + } else if !tokenverify.IsAppManagerUid(ctx) { opMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupID, tracelog.GetOpUserID(ctx)) if err != nil { return nil, err diff --git a/internal/rpc/msg/chat.go b/internal/rpc/msg/chat.go index 229aa4ab4..ff2debcb8 100644 --- a/internal/rpc/msg/chat.go +++ b/internal/rpc/msg/chat.go @@ -4,7 +4,7 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" pbChat "Open_IM/pkg/proto/msg" "Open_IM/pkg/utils" "context" @@ -12,7 +12,7 @@ import ( func (rpc *rpcChat) ClearMsg(_ context.Context, req *pbChat.ClearMsgReq) (*pbChat.ClearMsgResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc req: ", req.String()) - if req.OpUserID != req.UserID && !token_verify.IsManagerUserID(req.UserID) { + if req.OpUserID != req.UserID && !tokenverify.IsManagerUserID(req.UserID) { errMsg := "No permission" + req.OpUserID + req.UserID log.Error(req.OperationID, errMsg) return &pbChat.ClearMsgResp{ErrCode: constant.ErrNoPermission.ErrCode, ErrMsg: errMsg}, nil @@ -39,7 +39,7 @@ func (rpc *rpcChat) ClearMsg(_ context.Context, req *pbChat.ClearMsgReq) (*pbCha func (rpc *rpcChat) SetMsgMinSeq(_ context.Context, req *pbChat.SetMsgMinSeqReq) (*pbChat.SetMsgMinSeqResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc req: ", req.String()) - if req.OpUserID != req.UserID && !token_verify.IsManagerUserID(req.UserID) { + if req.OpUserID != req.UserID && !tokenverify.IsManagerUserID(req.UserID) { errMsg := "No permission" + req.OpUserID + req.UserID log.Error(req.OperationID, errMsg) return &pbChat.SetMsgMinSeqResp{ErrCode: constant.ErrNoPermission.ErrCode, ErrMsg: errMsg}, nil diff --git a/internal/rpc/msg/del_msg.go b/internal/rpc/msg/del_msg.go index 18731754f..7b92388fa 100644 --- a/internal/rpc/msg/del_msg.go +++ b/internal/rpc/msg/del_msg.go @@ -4,17 +4,17 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/proto/msg" - commonPb "Open_IM/pkg/proto/sdk_ws" + common "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" "time" ) -func (rpc *rpcChat) DelMsgList(_ context.Context, req *commonPb.DelMsgListReq) (*commonPb.DelMsgListResp, error) { +func (rpc *rpcChat) DelMsgList(_ context.Context, req *common.DelMsgListReq) (*common.DelMsgListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &commonPb.DelMsgListResp{} + resp := &common.DelMsgListResp{} select { case rpc.delMsgCh <- deleteMsg{ UserID: req.UserID, @@ -32,7 +32,7 @@ func (rpc *rpcChat) DelMsgList(_ context.Context, req *commonPb.DelMsgListReq) ( } func (rpc *rpcChat) DelSuperGroupMsg(ctx context.Context, req *msg.DelSuperGroupMsgReq) (*msg.DelSuperGroupMsgResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - if !token_verify.CheckAccess(ctx, req.OpUserID, req.UserID) { + if !tokenverify.CheckAccess(ctx, req.OpUserID, req.UserID) { log.NewError(req.OperationID, "CheckAccess false ", req.OpUserID, req.UserID) return &msg.DelSuperGroupMsgResp{ErrCode: constant.ErrNoPermission.ErrCode, ErrMsg: constant.ErrNoPermission.ErrMsg}, nil } diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 5d8521afa..f73ea3415 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -5,7 +5,7 @@ import ( "Open_IM/pkg/common/constant" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" utils2 "Open_IM/pkg/common/utils" pbGroup "Open_IM/pkg/proto/group" open_im_sdk "Open_IM/pkg/proto/sdk_ws" @@ -24,7 +24,7 @@ import ( //} creator->group func setOpUserInfo(opUserID, groupID string, groupMemberInfo *open_im_sdk.GroupMemberFullInfo) error { - if token_verify.IsManagerUserID(opUserID) { + if tokenverify.IsManagerUserID(opUserID) { u, err := imdb.GetUserByUserID(opUserID) if err != nil { return utils.Wrap(err, "GetUserByUserID failed") diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 1ffccf76e..0e6017fab 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -6,7 +6,7 @@ import ( "Open_IM/pkg/common/db" rocksCache "Open_IM/pkg/common/db/rocks_cache" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/getcdv3" cacheRpc "Open_IM/pkg/proto/cache" pbConversation "Open_IM/pkg/proto/conversation" @@ -182,7 +182,7 @@ func (rpc *rpcChat) messageVerification(ctx context.Context, data *pbChat.SendMs log.NewError(data.OperationID, errMsg) return false, 201, errMsg, nil } - if token_verify.IsManagerUserID(data.MsgData.SendID) { + if tokenverify.IsManagerUserID(data.MsgData.SendID) { return true, 0, "", userIDList } if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin { @@ -256,7 +256,7 @@ func (rpc *rpcChat) messageVerification(ctx context.Context, data *pbChat.SendMs log.NewError(data.OperationID, errMsg) return false, 201, errMsg, nil } - if token_verify.IsManagerUserID(data.MsgData.SendID) { + if tokenverify.IsManagerUserID(data.MsgData.SendID) { return true, 0, "", userIDList } if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin { diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 5849bf05f..d32bf1dfa 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -10,7 +10,7 @@ import ( relationTb "Open_IM/pkg/common/db/table/relation" "Open_IM/pkg/common/log" promePkg "Open_IM/pkg/common/prometheus" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/common/tracelog" server_api_params "Open_IM/pkg/proto/sdk_ws" pbUser "Open_IM/pkg/proto/user" @@ -179,7 +179,7 @@ func (s *userServer) GetAllPageFriends(ctx context.Context, ownerUserID string) // ok func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserInfoReq) (resp *pbUser.UpdateUserInfoResp, err error) { resp = &pbUser.UpdateUserInfoResp{} - err = token_verify.CheckAccessV3(ctx, req.UserInfo.UserID) + err = tokenverify.CheckAccessV3(ctx, req.UserInfo.UserID) if err != nil { return nil, err } @@ -240,7 +240,7 @@ func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckR if utils.Duplicate(req.CheckUserIDs) { return nil, constant.ErrArgs.Wrap("userID repeated") } - err = token_verify.CheckAdmin(ctx) + err = tokenverify.CheckAdmin(ctx) if err != nil { return nil, err } diff --git a/pkg/callback_struct/group.go b/pkg/callback_struct/group.go index 6b239b15e..00cc8e42c 100644 --- a/pkg/callback_struct/group.go +++ b/pkg/callback_struct/group.go @@ -2,13 +2,13 @@ package callback_struct import ( "Open_IM/pkg/proto/group" - commonPb "Open_IM/pkg/proto/sdk_ws" + common "Open_IM/pkg/proto/sdk_ws" ) type CallbackBeforeCreateGroupReq struct { CallbackCommand string `json:"callbackCommand"` OperationID string `json:"operationID"` - commonPb.GroupInfo + common.GroupInfo InitMemberList []*group.GroupAddMemberInfo `json:"initMemberList"` } diff --git a/pkg/callback_struct/push.go b/pkg/callback_struct/push.go index 3f2c8c4e5..e0cf585b4 100644 --- a/pkg/callback_struct/push.go +++ b/pkg/callback_struct/push.go @@ -1,10 +1,10 @@ package callback_struct -import commonPb "Open_IM/pkg/proto/sdk_ws" +import common "Open_IM/pkg/proto/sdk_ws" type CallbackBeforePushReq struct { UserStatusBatchCallbackReq - *commonPb.OfflinePushInfo + *common.OfflinePushInfo ClientMsgID string `json:"clientMsgID"` SendID string `json:"sendID"` GroupID string `json:"groupID"` @@ -16,12 +16,12 @@ type CallbackBeforePushReq struct { type CallbackBeforePushResp struct { *CommonCallbackResp - UserIDList []string `json:"userIDList"` - OfflinePushInfo *commonPb.OfflinePushInfo `json:"offlinePushInfo"` + UserIDList []string `json:"userIDList"` + OfflinePushInfo *common.OfflinePushInfo `json:"offlinePushInfo"` } type CallbackBeforeSuperGroupOnlinePushReq struct { - //*commonPb.OfflinePushInfo + //*common.OfflinePushInfo UserStatusBaseCallback ClientMsgID string `json:"clientMsgID"` SendID string `json:"sendID"` @@ -35,6 +35,6 @@ type CallbackBeforeSuperGroupOnlinePushReq struct { type CallbackBeforeSuperGroupOnlinePushResp struct { *CommonCallbackResp - UserIDList []string `json:"userIDList"` - OfflinePushInfo *commonPb.OfflinePushInfo `json:"offlinePushInfo"` + UserIDList []string `json:"userIDList"` + OfflinePushInfo *common.OfflinePushInfo `json:"offlinePushInfo"` } diff --git a/pkg/common/constant/err_info.go b/pkg/common/constant/error_info.go similarity index 100% rename from pkg/common/constant/err_info.go rename to pkg/common/constant/error_info.go diff --git a/pkg/common/db/cache/black.go b/pkg/common/db/cache/black.go index 9ccfdbf13..aedc616b6 100644 --- a/pkg/common/db/cache/black.go +++ b/pkg/common/db/cache/black.go @@ -15,6 +15,7 @@ const ( blackExpireTime = time.Second * 60 * 60 * 12 ) +// args fn will exec when no data in cache type BlackCache interface { //get blackIDs from cache GetBlackIDs(ctx context.Context, userID string, fn func(ctx context.Context, userID string) ([]string, error)) (blackIDs []string, err error) diff --git a/pkg/common/db/cache/conversation.go b/pkg/common/db/cache/conversation.go index 3a6b0e0ce..65681edb7 100644 --- a/pkg/common/db/cache/conversation.go +++ b/pkg/common/db/cache/conversation.go @@ -21,6 +21,7 @@ const ( conversationExpireTime = time.Second * 60 * 60 * 12 ) +// args fn will exec when no data in cache type ConversationCache interface { // get user's conversationIDs from cache GetUserConversationIDs(ctx context.Context, userID string, fn func(ctx context.Context, userID string) ([]string, error)) ([]string, error) diff --git a/pkg/common/db/cache/extend_msg_set.go b/pkg/common/db/cache/extend_msg_set.go index acceda2bf..dc5d0e3a5 100644 --- a/pkg/common/db/cache/extend_msg_set.go +++ b/pkg/common/db/cache/extend_msg_set.go @@ -1,13 +1,47 @@ package cache import ( - "Open_IM/pkg/common/db/relation" + "Open_IM/pkg/common/db/table/unrelation" + "Open_IM/pkg/common/tracelog" + "Open_IM/pkg/utils" + "context" "github.com/dtm-labs/rockscache" "time" ) type ExtendMsgSetCache struct { - friendDB *relation.FriendGorm expireTime time.Duration rcClient *rockscache.Client } + +func (e *ExtendMsgSetCache) GetExtendMsg(ctx context.Context, sourceID string, sessionType int32, clientMsgID string, firstModifyTime int64) (extendMsg *unrelation.ExtendMsg, err error) { + getExtendMsg := func() (string, error) { + extendMsg, err := db.DB.GetExtendMsg(sourceID, sessionType, clientMsgID, firstModifyTime) + if err != nil { + return "", utils.Wrap(err, "GetExtendMsgList failed") + } + bytes, err := json.Marshal(extendMsg) + if err != nil { + return "", utils.Wrap(err, "Marshal failed") + } + return string(bytes), nil + } + defer func() { + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "sourceID", sourceID, "sessionType", + sessionType, "clientMsgID", clientMsgID, "firstModifyTime", firstModifyTime, "extendMsg", extendMsg) + }() + extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+clientMsgID, time.Second*30*60, getExtendMsg) + if err != nil { + return nil, utils.Wrap(err, "Fetch failed") + } + extendMsg = &mongoDB.ExtendMsg{} + err = json.Unmarshal([]byte(extendMsgStr), extendMsg) + return extendMsg, utils.Wrap(err, "Unmarshal failed") +} + +func (e *ExtendMsgSetCache) DelExtendMsg(ctx context.Context, clientMsgID string) (err error) { + defer func() { + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "clientMsgID", clientMsgID) + }() + return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgCache+clientMsgID), "DelExtendMsg err") +} diff --git a/pkg/common/db/cache/friend.go b/pkg/common/db/cache/friend.go index fb6c5c8c4..4a3834eaa 100644 --- a/pkg/common/db/cache/friend.go +++ b/pkg/common/db/cache/friend.go @@ -19,12 +19,14 @@ const ( friendKey = "FRIEND_INFO:" ) +// args fn will exec when no data in cache type FriendCache interface { GetFriendIDs(ctx context.Context, ownerUserID string, fn func(ctx context.Context, ownerUserID string) (friendIDs []string, err error)) (friendIDs []string, err error) // call when friendID List changed DelFriendIDs(ctx context.Context, ownerUserID string) (err error) + // get single friendInfo from cache GetFriend(ctx context.Context, ownerUserID, friendUserID string, fn func(ctx context.Context, ownerUserID, friendUserID string) (friend *relationTb.FriendModel, err error)) (friend *relationTb.FriendModel, err error) - // del friend when friend info changed or remove it + // del friend when friend info changed DelFriend(ctx context.Context, ownerUserID, friendUserID string) (err error) } diff --git a/pkg/common/db/cache/group.go b/pkg/common/db/cache/group.go index f7e267360..b0825ae43 100644 --- a/pkg/common/db/cache/group.go +++ b/pkg/common/db/cache/group.go @@ -52,40 +52,40 @@ func NewGroupCacheRedis(rdb redis.UniversalClient, groupDB *relation.GroupGorm, } } -func (g *GroupCache) getRedisClient() *RedisClient { +func (g *GroupCacheRedis) getRedisClient() *RedisClient { return g.redisClient } -func (g *GroupCache) getGroupInfoKey(groupID string) string { +func (g *GroupCacheRedis) getGroupInfoKey(groupID string) string { return groupInfoKey + groupID } -func (g *GroupCache) getJoinedSuperGroupsIDKey(userID string) string { +func (g *GroupCacheRedis) getJoinedSuperGroupsIDKey(userID string) string { return joinedSuperGroupsKey + userID } -func (g *GroupCache) getJoinedGroupsKey(userID string) string { +func (g *GroupCacheRedis) getJoinedGroupsKey(userID string) string { return joinedGroupsKey + userID } -func (g *GroupCache) getGroupMembersHashKey(groupID string) string { +func (g *GroupCacheRedis) getGroupMembersHashKey(groupID string) string { return groupMembersHashKey + groupID } -func (g *GroupCache) getGroupMemberIDsKey(groupID string) string { +func (g *GroupCacheRedis) getGroupMemberIDsKey(groupID string) string { return groupMemberIDsKey + groupID } -func (g *GroupCache) getGroupMemberInfoKey(groupID, userID string) string { +func (g *GroupCacheRedis) getGroupMemberInfoKey(groupID, userID string) string { return groupMemberInfoKey + groupID + "-" + userID } -func (g *GroupCache) getGroupMemberNumKey(groupID string) string { +func (g *GroupCacheRedis) getGroupMemberNumKey(groupID string) string { return groupMemberNumKey + groupID } // / groupInfo -func (g *GroupCache) GetGroupsInfo(ctx context.Context, groupIDs []string) (groups []*relation.Group, err error) { +func (g *GroupCacheRedis) GetGroupsInfo(ctx context.Context, groupIDs []string) (groups []*relation.Group, err error) { for _, groupID := range groupIDs { group, err := g.GetGroupInfo(ctx, groupID) if err != nil { @@ -96,7 +96,7 @@ func (g *GroupCache) GetGroupsInfo(ctx context.Context, groupIDs []string) (grou return groups, nil } -func (g *GroupCache) GetGroupInfo(ctx context.Context, groupID string) (group *relation.GroupGorm, err error) { +func (g *GroupCacheRedis) GetGroupInfo(ctx context.Context, groupID string) (group *relation.GroupGorm, err error) { getGroup := func() (string, error) { groupInfo, err := g.group.Take(ctx, groupID) if err != nil { @@ -120,14 +120,14 @@ func (g *GroupCache) GetGroupInfo(ctx context.Context, groupID string) (group *r return group, utils.Wrap(err, "") } -func (g *GroupCache) DelGroupInfo(ctx context.Context, groupID string) (err error) { +func (g *GroupCacheRedis) DelGroupInfo(ctx context.Context, groupID string) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID) }() return g.rcClient.TagAsDeleted(g.getGroupInfoKey(groupID)) } -func (g *GroupCache) DelGroupsInfo(ctx context.Context, groupIDs []string) error { +func (g *GroupCacheRedis) DelGroupsInfo(ctx context.Context, groupIDs []string) error { for _, groupID := range groupIDs { if err := g.DelGroupInfo(ctx, groupID); err != nil { return err @@ -137,7 +137,7 @@ func (g *GroupCache) DelGroupsInfo(ctx context.Context, groupIDs []string) error } // userJoinSuperGroup -func (g *GroupCache) BatchDelJoinedSuperGroupIDs(ctx context.Context, userIDs []string) (err error) { +func (g *GroupCacheRedis) BatchDelJoinedSuperGroupIDs(ctx context.Context, userIDs []string) (err error) { for _, userID := range userIDs { if err := g.DelJoinedSuperGroupIDs(ctx, userID); err != nil { return err @@ -146,14 +146,14 @@ func (g *GroupCache) BatchDelJoinedSuperGroupIDs(ctx context.Context, userIDs [] return nil } -func (g *GroupCache) DelJoinedSuperGroupIDs(ctx context.Context, userID string) (err error) { +func (g *GroupCacheRedis) DelJoinedSuperGroupIDs(ctx context.Context, userID string) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID) }() return g.rcClient.TagAsDeleted(g.getJoinedSuperGroupsIDKey(userID)) } -func (g *GroupCache) GetJoinedSuperGroupIDs(ctx context.Context, userID string) (joinedSuperGroupIDs []string, err error) { +func (g *GroupCacheRedis) GetJoinedSuperGroupIDs(ctx context.Context, userID string) (joinedSuperGroupIDs []string, err error) { getJoinedSuperGroupIDList := func() (string, error) { userToSuperGroup, err := g.mongoDB.GetSuperGroupByUserID(ctx, userID) if err != nil { @@ -177,7 +177,7 @@ func (g *GroupCache) GetJoinedSuperGroupIDs(ctx context.Context, userID string) } // groupMembersHash -func (g *GroupCache) GetGroupMembersHash(ctx context.Context, groupID string) (hashCodeUint64 uint64, err error) { +func (g *GroupCacheRedis) GetGroupMembersHash(ctx context.Context, groupID string) (hashCodeUint64 uint64, err error) { generateHash := func() (string, error) { groupInfo, err := g.GetGroupInfo(ctx, groupID) if err != nil { @@ -210,7 +210,7 @@ func (g *GroupCache) GetGroupMembersHash(ctx context.Context, groupID string) (h return uint64(hashCode), err } -func (g *GroupCache) DelGroupMembersHash(ctx context.Context, groupID string) (err error) { +func (g *GroupCacheRedis) DelGroupMembersHash(ctx context.Context, groupID string) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID) }() @@ -219,7 +219,7 @@ func (g *GroupCache) DelGroupMembersHash(ctx context.Context, groupID string) (e // groupMemberIDs // from redis -func (g *GroupCache) GetGroupMemberIDs(ctx context.Context, groupID string) (groupMemberIDs []string, err error) { +func (g *GroupCacheRedis) GetGroupMemberIDs(ctx context.Context, groupID string) (groupMemberIDs []string, err error) { f := func() (string, error) { groupInfo, err := g.GetGroupInfo(ctx, groupID) if err != nil { @@ -255,7 +255,7 @@ func (g *GroupCache) GetGroupMemberIDs(ctx context.Context, groupID string) (gro return groupMemberIDs, nil } -func (g *GroupCache) DelGroupMemberIDs(ctx context.Context, groupID string) (err error) { +func (g *GroupCacheRedis) DelGroupMemberIDs(ctx context.Context, groupID string) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID) }() @@ -263,7 +263,7 @@ func (g *GroupCache) DelGroupMemberIDs(ctx context.Context, groupID string) (err } // JoinedGroups -func (g *GroupCache) GetJoinedGroupIDs(ctx context.Context, userID string) (joinedGroupIDs []string, err error) { +func (g *GroupCacheRedis) GetJoinedGroupIDs(ctx context.Context, userID string) (joinedGroupIDs []string, err error) { getJoinedGroupIDList := func() (string, error) { joinedGroupList, err := relation.GetJoinedGroupIDListByUserID(userID) if err != nil { @@ -286,7 +286,7 @@ func (g *GroupCache) GetJoinedGroupIDs(ctx context.Context, userID string) (join return joinedGroupIDs, utils.Wrap(err, "") } -func (g *GroupCache) DelJoinedGroupIDs(ctx context.Context, userID string) (err error) { +func (g *GroupCacheRedis) DelJoinedGroupIDs(ctx context.Context, userID string) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID) }() @@ -294,7 +294,7 @@ func (g *GroupCache) DelJoinedGroupIDs(ctx context.Context, userID string) (err } // GetGroupMemberInfo -func (g *GroupCache) GetGroupMemberInfo(ctx context.Context, groupID, userID string) (groupMember *relation.GroupMember, err error) { +func (g *GroupCacheRedis) GetGroupMemberInfo(ctx context.Context, groupID, userID string) (groupMember *relation.GroupMember, err error) { getGroupMemberInfo := func() (string, error) { groupMemberInfo, err := relation.GetGroupMemberInfoByGroupIDAndUserID(groupID, userID) if err != nil { @@ -318,7 +318,7 @@ func (g *GroupCache) GetGroupMemberInfo(ctx context.Context, groupID, userID str return groupMember, utils.Wrap(err, "") } -func (g *GroupCache) GetGroupMembersInfo(ctx context.Context, count, offset int32, groupID string) (groupMembers []*relation.GroupMember, err error) { +func (g *GroupCacheRedis) GetGroupMembersInfo(ctx context.Context, count, offset int32, groupID string) (groupMembers []*relation.GroupMember, err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "count", count, "offset", offset, "groupID", groupID, "groupMember", groupMembers) }() @@ -363,7 +363,7 @@ func (g *GroupCache) GetGroupMembersInfo(ctx context.Context, count, offset int3 return groupMemberList, nil } -func (g *GroupCache) DelGroupMemberInfo(ctx context.Context, groupID, userID string) (err error) { +func (g *GroupCacheRedis) DelGroupMemberInfo(ctx context.Context, groupID, userID string) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID, "userID", userID) }() @@ -371,7 +371,7 @@ func (g *GroupCache) DelGroupMemberInfo(ctx context.Context, groupID, userID str } // groupMemberNum -func (g *GroupCache) GetGroupMemberNum(ctx context.Context, groupID string) (num int, err error) { +func (g *GroupCacheRedis) GetGroupMemberNum(ctx context.Context, groupID string) (num int, err error) { getGroupMemberNum := func() (string, error) { num, err := relation.GetGroupMemberNumByGroupID(groupID) if err != nil { @@ -389,7 +389,7 @@ func (g *GroupCache) GetGroupMemberNum(ctx context.Context, groupID string) (num return strconv.Atoi(groupMember) } -func (g *GroupCache) DelGroupMemberNum(ctx context.Context, groupID string) (err error) { +func (g *GroupCacheRedis) DelGroupMemberNum(ctx context.Context, groupID string) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID) }() diff --git a/pkg/common/db/cache/redis.go b/pkg/common/db/cache/redis.go index 6f090228a..f9b090f2e 100644 --- a/pkg/common/db/cache/redis.go +++ b/pkg/common/db/cache/redis.go @@ -20,28 +20,36 @@ import ( ) const ( - accountTempCode = "ACCOUNT_TEMP_CODE" - resetPwdTempCode = "RESET_PWD_TEMP_CODE" - userIncrSeq = "REDIS_USER_INCR_SEQ:" // user incr seq - appleDeviceToken = "DEVICE_TOKEN" - userMinSeq = "REDIS_USER_MIN_SEQ:" - uidPidToken = "UID_PID_TOKEN_STATUS:" - conversationReceiveMessageOpt = "CON_RECV_MSG_OPT:" - getuiToken = "GETUI_TOKEN" - getuiTaskID = "GETUI_TASK_ID" - messageCache = "MESSAGE_CACHE:" - SignalCache = "SIGNAL_CACHE:" - SignalListCache = "SIGNAL_LIST_CACHE:" - GlobalMsgRecvOpt = "GLOBAL_MSG_RECV_OPT" - FcmToken = "FCM_TOKEN:" - groupUserMinSeq = "GROUP_USER_MIN_SEQ:" - groupMaxSeq = "GROUP_MAX_SEQ:" - groupMinSeq = "GROUP_MIN_SEQ:" - sendMsgFailedFlag = "SEND_MSG_FAILED_FLAG:" - userBadgeUnreadCountSum = "USER_BADGE_UNREAD_COUNT_SUM:" - exTypeKeyLocker = "EX_LOCK:" + userIncrSeq = "REDIS_USER_INCR_SEQ:" // user incr seq + appleDeviceToken = "DEVICE_TOKEN" + userMinSeq = "REDIS_USER_MIN_SEQ:" + uidPidToken = "UID_PID_TOKEN_STATUS:" + getuiToken = "GETUI_TOKEN" + getuiTaskID = "GETUI_TASK_ID" + messageCache = "MESSAGE_CACHE:" + signalCache = "SIGNAL_CACHE:" + signalListCache = "SIGNAL_LIST_CACHE:" + FcmToken = "FCM_TOKEN:" + groupUserMinSeq = "GROUP_USER_MIN_SEQ:" + groupMaxSeq = "GROUP_MAX_SEQ:" + groupMinSeq = "GROUP_MIN_SEQ:" + sendMsgFailedFlag = "SEND_MSG_FAILED_FLAG:" + userBadgeUnreadCountSum = "USER_BADGE_UNREAD_COUNT_SUM:" + exTypeKeyLocker = "EX_LOCK:" ) +type Cache interface { + IncrUserSeq(uid string) (uint64, error) + GetUserMaxSeq(uid string) (uint64, error) + SetUserMaxSeq(uid string, maxSeq uint64) error + SetUserMinSeq(uid string, minSeq uint32) (err error) + GetUserMinSeq(uid string) (uint64, error) + SetGroupUserMinSeq(groupID, userID string, minSeq uint64) (err error) + GetGroupUserMinSeq(groupID, userID string) (uint64, error) +} + +// native redis operate + type RedisClient struct { rdb redis.UniversalClient } @@ -86,25 +94,6 @@ func NewRedisClient(rdb redis.UniversalClient) *RedisClient { return &RedisClient{rdb: rdb} } -func (r *RedisClient) JudgeAccountEXISTS(account string) (bool, error) { - key := accountTempCode + account - n, err := r.rdb.Exists(context.Background(), key).Result() - if n > 0 { - return true, err - } else { - return false, err - } -} - -func (r *RedisClient) SetAccountCode(account string, code, ttl int) (err error) { - key := accountTempCode + account - return r.rdb.Set(context.Background(), key, code, time.Duration(ttl)*time.Second).Err() -} -func (r *RedisClient) GetAccountCode(account string) (string, error) { - key := accountTempCode + account - return r.rdb.Get(context.Background(), key).Result() -} - //Perform seq auto-increment operation of user messages func (r *RedisClient) IncrUserSeq(uid string) (uint64, error) { key := userIncrSeq + uid @@ -195,36 +184,12 @@ func (r *RedisClient) SetTokenMapByUidPid(userID string, platformID int, m map[s } return r.rdb.HSet(context.Background(), key, mm).Err() } + func (r *RedisClient) DeleteTokenByUidPid(userID string, platformID int, fields []string) error { key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID) return r.rdb.HDel(context.Background(), key, fields...).Err() } -func (r *RedisClient) SetSingleConversationRecvMsgOpt(userID, conversationID string, opt int32) error { - key := conversationReceiveMessageOpt + userID - return r.rdb.HSet(context.Background(), key, conversationID, opt).Err() -} -func (r *RedisClient) GetSingleConversationRecvMsgOpt(userID, conversationID string) (int, error) { - key := conversationReceiveMessageOpt + userID - result, err := r.rdb.HGet(context.Background(), key, conversationID).Result() - return utils.StringToInt(result), err -} -func (r *RedisClient) SetUserGlobalMsgRecvOpt(userID string, opt int32) error { - key := conversationReceiveMessageOpt + userID - return r.rdb.HSet(context.Background(), key, GlobalMsgRecvOpt, opt).Err() -} -func (r *RedisClient) GetUserGlobalMsgRecvOpt(userID string) (int, error) { - key := conversationReceiveMessageOpt + userID - result, err := r.rdb.HGet(context.Background(), key, GlobalMsgRecvOpt).Result() - if err != nil { - if err == redis.Nil { - return 0, nil - } else { - return 0, err - } - } - return utils.StringToInt(result), err -} func (r *RedisClient) GetMessageListBySeq(userID string, seqList []uint32, operationID string) (seqMsg []*pbCommon.MsgData, failedSeqList []uint32, errResult error) { for _, v := range seqList { //MESSAGE_CACHE:169.254.225.224_reliability1653387820_0_1 @@ -336,7 +301,7 @@ func (r *RedisClient) HandleSignalInfo(operationID string, msg *pbCommon.MsgData if err != nil { return false, err } - keyList := SignalListCache + userID + keyList := signalListCache + userID err = r.rdb.LPush(context.Background(), keyList, msg.ClientMsgID).Err() if err != nil { return false, err @@ -345,7 +310,7 @@ func (r *RedisClient) HandleSignalInfo(operationID string, msg *pbCommon.MsgData if err != nil { return false, err } - key := SignalCache + msg.ClientMsgID + key := signalCache + msg.ClientMsgID err = r.rdb.Set(context.Background(), key, msg.Content, time.Duration(timeout)*time.Second).Err() if err != nil { return false, err @@ -356,7 +321,7 @@ func (r *RedisClient) HandleSignalInfo(operationID string, msg *pbCommon.MsgData } func (r *RedisClient) GetSignalInfoFromCacheByClientMsgID(clientMsgID string) (invitationInfo *pbRtc.SignalInviteReq, err error) { - key := SignalCache + clientMsgID + key := signalCache + clientMsgID invitationInfo = &pbRtc.SignalInviteReq{} bytes, err := r.rdb.Get(context.Background(), key).Bytes() if err != nil { @@ -378,7 +343,7 @@ func (r *RedisClient) GetSignalInfoFromCacheByClientMsgID(clientMsgID string) (i } func (r *RedisClient) GetAvailableSignalInvitationInfo(userID string) (invitationInfo *pbRtc.SignalInviteReq, err error) { - keyList := SignalListCache + userID + keyList := signalListCache + userID result := r.rdb.LPop(context.Background(), keyList) if err = result.Err(); err != nil { return nil, utils.Wrap(err, "GetAvailableSignalInvitationInfo failed") @@ -400,7 +365,7 @@ func (r *RedisClient) GetAvailableSignalInvitationInfo(userID string) (invitatio } func (r *RedisClient) DelUserSignalList(userID string) error { - keyList := SignalListCache + userID + keyList := signalListCache + userID err := r.rdb.Del(context.Background(), keyList).Err() return err } @@ -516,17 +481,19 @@ func (r *RedisClient) SetMessageReactionExpire(clientMsgID string, sessionType i key := getMessageReactionExPrefix(clientMsgID, sessionType) return r.rdb.Expire(context.Background(), key, expiration).Result() } + func (r *RedisClient) GetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey string) (string, error) { key := getMessageReactionExPrefix(clientMsgID, sessionType) result, err := r.rdb.HGet(context.Background(), key, typeKey).Result() return result, err - } + func (r *RedisClient) SetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey, value string) error { key := getMessageReactionExPrefix(clientMsgID, sessionType) return r.rdb.HSet(context.Background(), key, typeKey, value).Err() } + func (r *RedisClient) LockMessageTypeKey(clientMsgID string, TypeKey string) error { key := exTypeKeyLocker + clientMsgID + "_" + TypeKey return r.rdb.SetNX(context.Background(), key, 1, time.Minute).Err() @@ -537,7 +504,7 @@ func (r *RedisClient) UnLockMessageTypeKey(clientMsgID string, TypeKey string) e } -func getMessageReactionExPrefix(clientMsgID string, sessionType int32) string { +func (r *RedisClient) getMessageReactionExPrefix(clientMsgID string, sessionType int32) string { switch sessionType { case constant.SingleChatType: return "EX_SINGLE_" + clientMsgID diff --git a/pkg/common/db/cache/redis_test.go b/pkg/common/db/cache/redis_test.go index d748a25df..69605e619 100644 --- a/pkg/common/db/cache/redis_test.go +++ b/pkg/common/db/cache/redis_test.go @@ -3,7 +3,7 @@ package cache import ( "Open_IM/pkg/common/constant" pbChat "Open_IM/pkg/proto/msg" - server_api_params "Open_IM/pkg/proto/sdk_ws" + common "Open_IM/pkg/proto/sdk_ws" "context" "flag" "fmt" @@ -11,6 +11,8 @@ import ( "testing" ) +var DB RedisClient + func Test_SetTokenMapByUidPid(t *testing.T) { m := make(map[string]int, 0) m["test1"] = 1 @@ -35,7 +37,7 @@ func Test_GetKeyTTL(t *testing.T) { ctx := context.Background() key := flag.String("key", "key", "key value") flag.Parse() - ttl, err := DB.RDB.TTL(ctx, *key).Result() + ttl, err := DB.GetClient().TTL(ctx, *key).Result() assert.Nil(t, err) fmt.Println(ttl) } @@ -43,7 +45,7 @@ func Test_HGetAll(t *testing.T) { ctx := context.Background() key := flag.String("key", "key", "key value") flag.Parse() - ttl, err := DB.RDB.TTL(ctx, *key).Result() + ttl, err := DB.GetClient().TTL(ctx, *key).Result() assert.Nil(t, err) fmt.Println(ttl) } @@ -51,14 +53,14 @@ func Test_HGetAll(t *testing.T) { func Test_NewSetMessageToCache(t *testing.T) { var msg pbChat.MsgDataToMQ m := make(map[string]bool) - var offlinePush server_api_params.OfflinePushInfo + var offlinePush common.OfflinePushInfo offlinePush.Title = "3" offlinePush.Ex = "34" offlinePush.IOSPushSound = "+1" offlinePush.IOSBadgeCount = true m[constant.IsPersistent] = true m[constant.IsHistory] = true - var data server_api_params.MsgData + var data common.MsgData uid := "test_uid" data.Seq = 11 data.ClientMsgID = "23jwhjsdf" @@ -77,7 +79,7 @@ func Test_NewSetMessageToCache(t *testing.T) { } func Test_NewGetMessageListBySeq(t *testing.T) { var msg pbChat.MsgDataToMQ - var data server_api_params.MsgData + var data common.MsgData uid := "test_uid" data.Seq = 11 data.ClientMsgID = "23jwhjsdf" @@ -88,37 +90,7 @@ func Test_NewGetMessageListBySeq(t *testing.T) { fmt.Println(seqMsg, failedSeqList) } -func Test_SetUserGlobalMsgRecvOpt(t *testing.T) { - var opt int32 - uid := "test_uid" - opt = 1 - err := DB.SetUserGlobalMsgRecvOpt(uid, opt) - assert.Nil(t, err) -} -func Test_GetUserGlobalMsgRecvOpt(t *testing.T) { - uid := "test_uid" - opt, err := DB.GetUserGlobalMsgRecvOpt(uid) - assert.Nil(t, err) - fmt.Println("get opt", opt) -} -func Test_JudgeAccountEXISTS(t *testing.T) { - uid := "test_uid" - b, err := DB.JudgeAccountEXISTS(uid) - assert.Nil(t, err) - fmt.Println(b) -} -func Test_SetAccountCode(t *testing.T) { - uid := "test_uid" - code := 666666 - err := DB.SetAccountCode(uid, code, 100) - assert.Nil(t, err) -} -func Test_GetAccountCode(t *testing.T) { - uid := "test_uid" - code, err := DB.GetAccountCode(uid) - assert.Nil(t, err) - fmt.Println(code) -} + func Test_SetFcmToken(t *testing.T) { uid := "test_uid" token := "dfnWBtOjSj-XIZnUvDlegv:APA91bG09XTtiXfpE6U7gUVMOhnKcUkNCv4WHn0UZr2clUi-tS1jEH-HiCEW8GIAhjLIGcfUJ6NIKteC023ZxDH7J0PJ5sTxoup3fHDUPLU7KgQoZS4tPyFqCbZ6bRB7esDPEnD1n_s0" @@ -133,10 +105,3 @@ func Test_GetFcmToken(t *testing.T) { assert.Nil(t, err) fmt.Println("token is :", token) } - -//func Test_GetGroupMemberList(t *testing.T) { -// groupID := "3791742301" -// list, err := DB.GetGroupMemberIDListFromCache(groupID) -// assert.Nil(t, err) -// fmt.Println(list) -//} diff --git a/pkg/common/db/cache/rockscache.go b/pkg/common/db/cache/rockscache.go index c7da91df8..5a6120f57 100644 --- a/pkg/common/db/cache/rockscache.go +++ b/pkg/common/db/cache/rockscache.go @@ -604,35 +604,3 @@ func DelConversationFromCache(ctx context.Context, ownerUserID, conversationID s }() return utils.Wrap(db.DB.Rc.TagAsDeleted(conversationCache+ownerUserID+":"+conversationID), "DelConversationFromCache err") } - -func GetExtendMsg(ctx context.Context, sourceID string, sessionType int32, clientMsgID string, firstModifyTime int64) (extendMsg *mongoDB.ExtendMsg, err error) { - getExtendMsg := func() (string, error) { - extendMsg, err := db.DB.GetExtendMsg(sourceID, sessionType, clientMsgID, firstModifyTime) - if err != nil { - return "", utils.Wrap(err, "GetExtendMsgList failed") - } - bytes, err := json.Marshal(extendMsg) - if err != nil { - return "", utils.Wrap(err, "Marshal failed") - } - return string(bytes), nil - } - defer func() { - tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "sourceID", sourceID, "sessionType", - sessionType, "clientMsgID", clientMsgID, "firstModifyTime", firstModifyTime, "extendMsg", extendMsg) - }() - extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+clientMsgID, time.Second*30*60, getExtendMsg) - if err != nil { - return nil, utils.Wrap(err, "Fetch failed") - } - extendMsg = &mongoDB.ExtendMsg{} - err = json.Unmarshal([]byte(extendMsgStr), extendMsg) - return extendMsg, utils.Wrap(err, "Unmarshal failed") -} - -func DelExtendMsg(ctx context.Context, clientMsgID string) (err error) { - defer func() { - tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "clientMsgID", clientMsgID) - }() - return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgCache+clientMsgID), "DelExtendMsg err") -} diff --git a/pkg/common/db/controller/group.go b/pkg/common/db/controller/group.go index 3d0bd5923..c90215b2a 100644 --- a/pkg/common/db/controller/group.go +++ b/pkg/common/db/controller/group.go @@ -4,8 +4,8 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db/cache" "Open_IM/pkg/common/db/relation" - relation2 "Open_IM/pkg/common/db/table/relation" - unrelation2 "Open_IM/pkg/common/db/table/unrelation" + relationTb "Open_IM/pkg/common/db/table/relation" + unrelationTb "Open_IM/pkg/common/db/table/unrelation" "Open_IM/pkg/common/db/unrelation" "Open_IM/pkg/utils" "context" @@ -20,31 +20,31 @@ import ( //type GroupInterface GroupDataBaseInterface type GroupInterface interface { - CreateGroup(ctx context.Context, groups []*relation2.GroupModel, groupMembers []*relation2.GroupMemberModel) error - TakeGroup(ctx context.Context, groupID string) (group *relation2.GroupModel, err error) - FindGroup(ctx context.Context, groupIDs []string) (groups []*relation2.GroupModel, err error) - SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relation2.GroupModel, error) + CreateGroup(ctx context.Context, groups []*relationTb.GroupModel, groupMembers []*relationTb.GroupMemberModel) error + TakeGroup(ctx context.Context, groupID string) (group *relationTb.GroupModel, err error) + FindGroup(ctx context.Context, groupIDs []string) (groups []*relationTb.GroupModel, err error) + SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupModel, error) UpdateGroup(ctx context.Context, groupID string, data map[string]any) error DismissGroup(ctx context.Context, groupID string) error // 解散群,并删除群成员 // GroupMember - TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relation2.GroupMemberModel, err error) - TakeGroupOwner(ctx context.Context, groupID string) (*relation2.GroupMemberModel, error) - FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relation2.GroupMemberModel, error) - PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relation2.GroupMemberModel, error) - SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relation2.GroupMemberModel, error) - HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relation2.GroupMemberModel) error + TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relationTb.GroupMemberModel, err error) + TakeGroupOwner(ctx context.Context, groupID string) (*relationTb.GroupMemberModel, error) + FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relationTb.GroupMemberModel, error) + PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) + SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) + HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relationTb.GroupMemberModel) error DeleteGroupMember(ctx context.Context, groupID string, userIDs []string) error MapGroupMemberUserID(ctx context.Context, groupIDs []string) (map[string][]string, error) MapGroupMemberNum(ctx context.Context, groupIDs []string) (map[string]uint32, error) TransferGroupOwner(ctx context.Context, groupID string, oldOwnerUserID, newOwnerUserID string, roleLevel int32) error // 转让群 UpdateGroupMember(ctx context.Context, groupID, userID string, data map[string]any) error // GroupRequest - CreateGroupRequest(ctx context.Context, requests []*relation2.GroupRequestModel) error - TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relation2.GroupRequestModel, error) - PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relation2.GroupRequestModel, error) + CreateGroupRequest(ctx context.Context, requests []*relationTb.GroupRequestModel) error + TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relationTb.GroupRequestModel, error) + PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupRequestModel, error) // SuperGroup - FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelation2.SuperGroupModel, error) - FindJoinSuperGroup(ctx context.Context, userID string) (superGroup *unrelation2.UserToSuperGroupModel, err error) + FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelationTb.SuperGroupModel, error) + FindJoinSuperGroup(ctx context.Context, userID string) (superGroup *unrelationTb.UserToSuperGroupModel, err error) CreateSuperGroup(ctx context.Context, groupID string, initMemberIDList []string) error DeleteSuperGroup(ctx context.Context, groupID string) error DeleteSuperGroupMember(ctx context.Context, groupID string, userIDs []string) error @@ -53,27 +53,27 @@ type GroupInterface interface { var _ GroupInterface = (*GroupController)(nil) -func NewGroupInterface(database GroupDataBaseInterface) GroupInterface { - return &GroupController{database: database} +func NewGroupInterface(db *gorm.DB, rdb redis.UniversalClient, mgoClient *mongo.Client) GroupInterface { + return &GroupController{database: NewGroupDatabase(db, rdb, mgoClient)} } type GroupController struct { database GroupDataBaseInterface } -func (g *GroupController) CreateGroup(ctx context.Context, groups []*relation2.GroupModel, groupMembers []*relation2.GroupMemberModel) error { +func (g *GroupController) CreateGroup(ctx context.Context, groups []*relationTb.GroupModel, groupMembers []*relationTb.GroupMemberModel) error { return g.database.CreateGroup(ctx, groups, groupMembers) } -func (g *GroupController) TakeGroup(ctx context.Context, groupID string) (group *relation2.GroupModel, err error) { +func (g *GroupController) TakeGroup(ctx context.Context, groupID string) (group *relationTb.GroupModel, err error) { return g.TakeGroup(ctx, groupID) } -func (g *GroupController) FindGroup(ctx context.Context, groupIDs []string) (groups []*relation2.GroupModel, err error) { +func (g *GroupController) FindGroup(ctx context.Context, groupIDs []string) (groups []*relationTb.GroupModel, err error) { return g.database.FindGroup(ctx, groupIDs) } -func (g *GroupController) SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relation2.GroupModel, error) { +func (g *GroupController) SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupModel, error) { return g.database.SearchGroup(ctx, keyword, pageNumber, showNumber) } @@ -85,27 +85,27 @@ func (g *GroupController) DismissGroup(ctx context.Context, groupID string) erro return g.database.DismissGroup(ctx, groupID) } -func (g *GroupController) TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relation2.GroupMemberModel, err error) { +func (g *GroupController) TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relationTb.GroupMemberModel, err error) { return g.database.TakeGroupMember(ctx, groupID, userID) } -func (g *GroupController) TakeGroupOwner(ctx context.Context, groupID string) (*relation2.GroupMemberModel, error) { +func (g *GroupController) TakeGroupOwner(ctx context.Context, groupID string) (*relationTb.GroupMemberModel, error) { return g.database.TakeGroupOwner(ctx, groupID) } -func (g *GroupController) FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relation2.GroupMemberModel, error) { +func (g *GroupController) FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relationTb.GroupMemberModel, error) { return g.database.FindGroupMember(ctx, groupIDs, userIDs, roleLevels) } -func (g *GroupController) PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relation2.GroupMemberModel, error) { +func (g *GroupController) PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) { return g.database.PageGroupMember(ctx, groupIDs, userIDs, roleLevels, pageNumber, showNumber) } -func (g *GroupController) SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relation2.GroupMemberModel, error) { +func (g *GroupController) SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) { return g.database.SearchGroupMember(ctx, keyword, groupIDs, userIDs, roleLevels, pageNumber, showNumber) } -func (g *GroupController) HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relation2.GroupMemberModel) error { +func (g *GroupController) HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relationTb.GroupMemberModel) error { return g.database.HandlerGroupRequest(ctx, groupID, userID, handledMsg, handleResult, member) } @@ -129,26 +129,26 @@ func (g *GroupController) UpdateGroupMember(ctx context.Context, groupID, userID return g.database.UpdateGroupMember(ctx, groupID, userID, data) } -func (g *GroupController) CreateGroupRequest(ctx context.Context, requests []*relation2.GroupRequestModel) error { +func (g *GroupController) CreateGroupRequest(ctx context.Context, requests []*relationTb.GroupRequestModel) error { return g.database.CreateGroupRequest(ctx, requests) } -func (g *GroupController) TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relation2.GroupRequestModel, error) { +func (g *GroupController) TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relationTb.GroupRequestModel, error) { return g.database.TakeGroupRequest(ctx, groupID, userID) } -func (g *GroupController) PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relation2.GroupRequestModel, error) { +func (g *GroupController) PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupRequestModel, error) { return g.database.PageGroupRequestUser(ctx, userID, pageNumber, showNumber) } -// func (g *GroupController) TakeSuperGroup(ctx context.Context, groupID string) (superGroup *unrelation2.SuperGroupModel, err error) { +// func (g *GroupController) TakeSuperGroup(ctx context.Context, groupID string) (superGroup *unrelationTb.SuperGroupModel, err error) { // return g.database.TakeSuperGroup(ctx, groupID) // } -func (g *GroupController) FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelation2.SuperGroupModel, error) { +func (g *GroupController) FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelationTb.SuperGroupModel, error) { return g.database.FindSuperGroup(ctx, groupIDs) } -func (g *GroupController) FindJoinSuperGroup(ctx context.Context, userID string) (*unrelation2.UserToSuperGroupModel, error) { +func (g *GroupController) FindJoinSuperGroup(ctx context.Context, userID string) (*unrelationTb.UserToSuperGroupModel, error) { return g.database.FindJoinSuperGroup(ctx, userID) } @@ -169,31 +169,31 @@ func (g *GroupController) CreateSuperGroupMember(ctx context.Context, groupID st } type GroupDataBaseInterface interface { - CreateGroup(ctx context.Context, groups []*relation2.GroupModel, groupMembers []*relation2.GroupMemberModel) error - TakeGroup(ctx context.Context, groupID string) (group *relation2.GroupModel, err error) - FindGroup(ctx context.Context, groupIDs []string) (groups []*relation2.GroupModel, err error) - SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relation2.GroupModel, error) + CreateGroup(ctx context.Context, groups []*relationTb.GroupModel, groupMembers []*relationTb.GroupMemberModel) error + TakeGroup(ctx context.Context, groupID string) (group *relationTb.GroupModel, err error) + FindGroup(ctx context.Context, groupIDs []string) (groups []*relationTb.GroupModel, err error) + SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupModel, error) UpdateGroup(ctx context.Context, groupID string, data map[string]any) error DismissGroup(ctx context.Context, groupID string) error // 解散群,并删除群成员 // GroupMember - TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relation2.GroupMemberModel, err error) - TakeGroupOwner(ctx context.Context, groupID string) (*relation2.GroupMemberModel, error) - FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relation2.GroupMemberModel, error) - PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relation2.GroupMemberModel, error) - SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relation2.GroupMemberModel, error) - HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relation2.GroupMemberModel) error + TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relationTb.GroupMemberModel, err error) + TakeGroupOwner(ctx context.Context, groupID string) (*relationTb.GroupMemberModel, error) + FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relationTb.GroupMemberModel, error) + PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) + SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) + HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relationTb.GroupMemberModel) error DeleteGroupMember(ctx context.Context, groupID string, userIDs []string) error MapGroupMemberUserID(ctx context.Context, groupIDs []string) (map[string][]string, error) MapGroupMemberNum(ctx context.Context, groupIDs []string) (map[string]uint32, error) TransferGroupOwner(ctx context.Context, groupID string, oldOwnerUserID, newOwnerUserID string, roleLevel int32) error // 转让群 UpdateGroupMember(ctx context.Context, groupID, userID string, data map[string]any) error // GroupRequest - CreateGroupRequest(ctx context.Context, requests []*relation2.GroupRequestModel) error - TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relation2.GroupRequestModel, error) - PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relation2.GroupRequestModel, error) + CreateGroupRequest(ctx context.Context, requests []*relationTb.GroupRequestModel) error + TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relationTb.GroupRequestModel, error) + PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupRequestModel, error) // SuperGroup - FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelation2.SuperGroupModel, error) - FindJoinSuperGroup(ctx context.Context, userID string) (*unrelation2.UserToSuperGroupModel, error) + FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelationTb.SuperGroupModel, error) + FindJoinSuperGroup(ctx context.Context, userID string) (*unrelationTb.UserToSuperGroupModel, error) CreateSuperGroup(ctx context.Context, groupID string, initMemberIDList []string) error DeleteSuperGroup(ctx context.Context, groupID string) error DeleteSuperGroupMember(ctx context.Context, groupID string, userIDs []string) error @@ -225,16 +225,16 @@ func NewGroupDatabase(db *gorm.DB, rdb redis.UniversalClient, mgoClient *mongo.C var _ GroupDataBaseInterface = (*GroupDataBase)(nil) type GroupDataBase struct { - groupDB relation2.GroupModelInterface - groupMemberDB relation2.GroupMemberModelInterface - groupRequestDB relation2.GroupRequestModelInterface + groupDB relationTb.GroupModelInterface + groupMemberDB relationTb.GroupMemberModelInterface + groupRequestDB relationTb.GroupRequestModelInterface db *gorm.DB cache *cache.GroupCache mongoDB *unrelation.SuperGroupMongoDriver } -func (g *GroupDataBase) CreateGroup(ctx context.Context, groups []*relation2.GroupModel, groupMembers []*relation2.GroupMemberModel) error { +func (g *GroupDataBase) CreateGroup(ctx context.Context, groups []*relationTb.GroupModel, groupMembers []*relationTb.GroupMemberModel) error { if len(groups) > 0 && len(groupMembers) > 0 { return g.db.Transaction(func(tx *gorm.DB) error { if err := g.groupDB.Create(ctx, groups, tx); err != nil { @@ -252,15 +252,15 @@ func (g *GroupDataBase) CreateGroup(ctx context.Context, groups []*relation2.Gro return nil } -func (g *GroupDataBase) TakeGroup(ctx context.Context, groupID string) (group *relation2.GroupModel, err error) { +func (g *GroupDataBase) TakeGroup(ctx context.Context, groupID string) (group *relationTb.GroupModel, err error) { return g.groupDB.Take(ctx, groupID) } -func (g *GroupDataBase) FindGroup(ctx context.Context, groupIDs []string) (groups []*relation2.GroupModel, err error) { +func (g *GroupDataBase) FindGroup(ctx context.Context, groupIDs []string) (groups []*relationTb.GroupModel, err error) { return g.groupDB.Find(ctx, groupIDs) } -func (g *GroupDataBase) SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relation2.GroupModel, error) { +func (g *GroupDataBase) SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupModel, error) { return g.groupDB.Search(ctx, keyword, pageNumber, showNumber) } @@ -277,27 +277,27 @@ func (g *GroupDataBase) DismissGroup(ctx context.Context, groupID string) error }) } -func (g *GroupDataBase) TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relation2.GroupMemberModel, err error) { +func (g *GroupDataBase) TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relationTb.GroupMemberModel, err error) { return g.groupMemberDB.Take(ctx, groupID, userID) } -func (g *GroupDataBase) TakeGroupOwner(ctx context.Context, groupID string) (*relation2.GroupMemberModel, error) { +func (g *GroupDataBase) TakeGroupOwner(ctx context.Context, groupID string) (*relationTb.GroupMemberModel, error) { return g.groupMemberDB.TakeOwner(ctx, groupID) } -func (g *GroupDataBase) FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relation2.GroupMemberModel, error) { +func (g *GroupDataBase) FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relationTb.GroupMemberModel, error) { return g.groupMemberDB.Find(ctx, groupIDs, userIDs, roleLevels) } -func (g *GroupDataBase) PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relation2.GroupMemberModel, error) { +func (g *GroupDataBase) PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) { return g.groupMemberDB.SearchMember(ctx, "", groupIDs, userIDs, roleLevels, pageNumber, showNumber) } -func (g *GroupDataBase) SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relation2.GroupMemberModel, error) { +func (g *GroupDataBase) SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) { return g.groupMemberDB.SearchMember(ctx, keyword, groupIDs, userIDs, roleLevels, pageNumber, showNumber) } -func (g *GroupDataBase) HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relation2.GroupMemberModel) error { +func (g *GroupDataBase) HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relationTb.GroupMemberModel) error { if member == nil { return g.groupRequestDB.UpdateHandler(ctx, groupID, userID, handledMsg, handleResult) } @@ -305,7 +305,7 @@ func (g *GroupDataBase) HandlerGroupRequest(ctx context.Context, groupID string, if err := g.groupRequestDB.UpdateHandler(ctx, groupID, userID, handledMsg, handleResult, tx); err != nil { return err } - return g.groupMemberDB.Create(ctx, []*relation2.GroupMemberModel{member}, tx) + return g.groupMemberDB.Create(ctx, []*relationTb.GroupMemberModel{member}, tx) }) } @@ -345,46 +345,46 @@ func (g *GroupDataBase) UpdateGroupMember(ctx context.Context, groupID, userID s return g.groupMemberDB.Update(ctx, groupID, userID, data) } -func (g *GroupDataBase) CreateGroupRequest(ctx context.Context, requests []*relation2.GroupRequestModel) error { +func (g *GroupDataBase) CreateGroupRequest(ctx context.Context, requests []*relationTb.GroupRequestModel) error { return g.groupRequestDB.Create(ctx, requests) } -func (g *GroupDataBase) TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relation2.GroupRequestModel, error) { +func (g *GroupDataBase) TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relationTb.GroupRequestModel, error) { return g.groupRequestDB.Take(ctx, groupID, userID) } -func (g *GroupDataBase) PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relation2.GroupRequestModel, error) { +func (g *GroupDataBase) PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupRequestModel, error) { return g.groupRequestDB.Page(ctx, userID, pageNumber, showNumber) } -func (g *GroupDataBase) FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelation2.SuperGroupModel, error) { +func (g *GroupDataBase) FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelationTb.SuperGroupModel, error) { return g.mongoDB.FindSuperGroup(ctx, groupIDs) } -func (g *GroupDataBase) FindJoinSuperGroup(ctx context.Context, userID string) (*unrelation2.UserToSuperGroupModel, error) { +func (g *GroupDataBase) FindJoinSuperGroup(ctx context.Context, userID string) (*unrelationTb.UserToSuperGroupModel, error) { return g.mongoDB.GetSuperGroupByUserID(ctx, userID) } func (g *GroupDataBase) CreateSuperGroup(ctx context.Context, groupID string, initMemberIDList []string) error { - return g.mongoDB.Transaction(ctx, func(s unrelation2.SuperGroupModelInterface, tx any) error { + return g.mongoDB.Transaction(ctx, func(s unrelationTb.SuperGroupModelInterface, tx any) error { return s.CreateSuperGroup(ctx, groupID, initMemberIDList, tx) }) } func (g *GroupDataBase) DeleteSuperGroup(ctx context.Context, groupID string) error { - return g.mongoDB.Transaction(ctx, func(s unrelation2.SuperGroupModelInterface, tx any) error { + return g.mongoDB.Transaction(ctx, func(s unrelationTb.SuperGroupModelInterface, tx any) error { return s.DeleteSuperGroup(ctx, groupID, tx) }) } func (g *GroupDataBase) DeleteSuperGroupMember(ctx context.Context, groupID string, userIDs []string) error { - return g.mongoDB.Transaction(ctx, func(s unrelation2.SuperGroupModelInterface, tx any) error { + return g.mongoDB.Transaction(ctx, func(s unrelationTb.SuperGroupModelInterface, tx any) error { return s.RemoverUserFromSuperGroup(ctx, groupID, userIDs, tx) }) } func (g *GroupDataBase) CreateSuperGroupMember(ctx context.Context, groupID string, userIDs []string) error { - return g.mongoDB.Transaction(ctx, func(s unrelation2.SuperGroupModelInterface, tx any) error { + return g.mongoDB.Transaction(ctx, func(s unrelationTb.SuperGroupModelInterface, tx any) error { return s.AddUserToSuperGroup(ctx, groupID, userIDs, tx) }) } diff --git a/pkg/common/db/controller/user.go b/pkg/common/db/controller/user.go index 81f90e732..83c56808c 100644 --- a/pkg/common/db/controller/user.go +++ b/pkg/common/db/controller/user.go @@ -3,24 +3,24 @@ package controller import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db/relation" - relation2 "Open_IM/pkg/common/db/table/relation" + relationTb "Open_IM/pkg/common/db/table/relation" "context" "gorm.io/gorm" ) type UserInterface interface { //获取指定用户的信息 如有userID未找到 也返回错误 - FindWithError(ctx context.Context, userIDs []string) (users []*relation2.UserModel, err error) + FindWithError(ctx context.Context, userIDs []string) (users []*relationTb.UserModel, err error) //获取指定用户的信息 如有userID未找到 不返回错误 - Find(ctx context.Context, userIDs []string) (users []*relation2.UserModel, err error) + Find(ctx context.Context, userIDs []string) (users []*relationTb.UserModel, err error) //插入多条 外部保证userID 不重复 且在db中不存在 - Create(ctx context.Context, users []*relation2.UserModel) (err error) + Create(ctx context.Context, users []*relationTb.UserModel) (err error) //更新(非零值) 外部保证userID存在 - Update(ctx context.Context, users []*relation2.UserModel) (err error) + Update(ctx context.Context, users []*relationTb.UserModel) (err error) //更新(零值) 外部保证userID存在 UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) //如果没找到,不返回错误 - Page(ctx context.Context, pageNumber, showNumber int32) (users []*relation2.UserModel, count int64, err error) + Page(ctx context.Context, pageNumber, showNumber int32) (users []*relationTb.UserModel, count int64, err error) //只要有一个存在就为true IsExist(ctx context.Context, userIDs []string) (exist bool, err error) } @@ -29,21 +29,21 @@ type UserController struct { database UserDatabaseInterface } -func (u *UserController) Find(ctx context.Context, userIDs []string) (users []*relation2.UserModel, err error) { +func (u *UserController) Find(ctx context.Context, userIDs []string) (users []*relationTb.UserModel, err error) { return u.database.Find(ctx, userIDs) } -func (u *UserController) Create(ctx context.Context, users []*relation2.UserModel) error { +func (u *UserController) Create(ctx context.Context, users []*relationTb.UserModel) error { return u.database.Create(ctx, users) } -func (u *UserController) Update(ctx context.Context, users []*relation2.UserModel) (err error) { +func (u *UserController) Update(ctx context.Context, users []*relationTb.UserModel) (err error) { return u.database.Update(ctx, users) } func (u *UserController) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) { return u.database.UpdateByMap(ctx, userID, args) } -func (u *UserController) Get(ctx context.Context, pageNumber, showNumber int32) (users []*relation2.UserModel, count int64, err error) { +func (u *UserController) Get(ctx context.Context, pageNumber, showNumber int32) (users []*relationTb.UserModel, count int64, err error) { return u.database.Get(ctx, pageNumber, showNumber) } @@ -56,11 +56,11 @@ func NewUserController(db *gorm.DB) *UserController { } type UserDatabaseInterface interface { - Find(ctx context.Context, userIDs []string) (users []*relation2.UserModel, err error) - Create(ctx context.Context, users []*relation2.UserModel) error - Update(ctx context.Context, users []*relation2.UserModel) (err error) + Find(ctx context.Context, userIDs []string) (users []*relationTb.UserModel, err error) + Create(ctx context.Context, users []*relationTb.UserModel) error + Update(ctx context.Context, users []*relationTb.UserModel) (err error) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) - Get(ctx context.Context, pageNumber, showNumber int32) (users []*relation2.UserModel, count int64, err error) + Get(ctx context.Context, pageNumber, showNumber int32) (users []*relationTb.UserModel, count int64, err error) IsExist(ctx context.Context, userIDs []string) (exist bool, err error) } @@ -77,7 +77,7 @@ func newUserDatabase(db *gorm.DB) *UserDatabase { } // 获取指定用户的信息 如有userID未找到 也返回错误 -func (u *UserDatabase) Find(ctx context.Context, userIDs []string) (users []*relation2.UserModel, err error) { +func (u *UserDatabase) Find(ctx context.Context, userIDs []string) (users []*relationTb.UserModel, err error) { users, err = u.user.Find(ctx, userIDs) if err != nil { return @@ -89,12 +89,12 @@ func (u *UserDatabase) Find(ctx context.Context, userIDs []string) (users []*rel } // 插入多条 外部保证userID 不重复 且在db中不存在 -func (u *UserDatabase) Create(ctx context.Context, users []*relation2.UserModel) (err error) { +func (u *UserDatabase) Create(ctx context.Context, users []*relationTb.UserModel) (err error) { return u.user.Create(ctx, users) } // 更新(非零值) 外部保证userID存在 -func (u *UserDatabase) Update(ctx context.Context, users []*relation2.UserModel) (err error) { +func (u *UserDatabase) Update(ctx context.Context, users []*relationTb.UserModel) (err error) { return u.user.Update(ctx, users) } @@ -104,7 +104,7 @@ func (u *UserDatabase) UpdateByMap(ctx context.Context, userID string, args map[ } // 获取,如果没找到,不返回错误 -func (u *UserDatabase) Get(ctx context.Context, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) { +func (u *UserDatabase) Get(ctx context.Context, showNumber, pageNumber int32) (users []*relationTb.UserModel, count int64, err error) { return u.user.Get(ctx, showNumber, pageNumber) } diff --git a/pkg/common/db/localcache/conversation.go b/pkg/common/db/localcache/conversation.go index 3a4775367..70a02d126 100644 --- a/pkg/common/db/localcache/conversation.go +++ b/pkg/common/db/localcache/conversation.go @@ -7,7 +7,7 @@ import ( ) type ConversationLocalCacheInterface interface { - GetRecvMsgNotNotifyUserIDs(ctx context.Context, groupID string) []string + GetRecvMsgNotNotifyUserIDs(ctx context.Context, groupID string) ([]string, error) } type ConversationLocalCache struct { @@ -23,7 +23,7 @@ func NewConversationLocalCache(client discoveryRegistry.SvcDiscoveryRegistry) Co } } -func (g *ConversationLocalCache) GetRecvMsgNotNotifyUserIDs(ctx context.Context, groupID string) []string { +func (g *ConversationLocalCache) GetRecvMsgNotNotifyUserIDs(ctx context.Context, groupID string) ([]string, error) { g.client.GetConn() return []string{} } diff --git a/pkg/common/db/table/unrelation/extend_msg_set.go b/pkg/common/db/table/unrelation/extend_msg_set.go index 197368a0c..ead513f9c 100644 --- a/pkg/common/db/table/unrelation/extend_msg_set.go +++ b/pkg/common/db/table/unrelation/extend_msg_set.go @@ -1,7 +1,7 @@ package unrelation import ( - commonPb "Open_IM/pkg/proto/sdk_ws" + common "Open_IM/pkg/proto/sdk_ws" "context" "strconv" "strings" @@ -13,7 +13,7 @@ const ( ExtendMsgMaxNum = 100 ) -type ExtendMsgSet struct { +type ExtendMsgSetModel struct { SourceID string `bson:"source_id" json:"sourceID"` SessionType int32 `bson:"session_type" json:"sessionType"` ExtendMsgs map[string]ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` @@ -22,33 +22,33 @@ type ExtendMsgSet struct { MaxMsgUpdateTime int64 `bson:"max_msg_update_time" json:"maxMsgUpdateTime"` // index find msg } -type KeyValue struct { +type KeyValueModel struct { TypeKey string `bson:"type_key" json:"typeKey"` Value string `bson:"value" json:"value"` LatestUpdateTime int64 `bson:"latest_update_time" json:"latestUpdateTime"` } type ExtendMsg struct { - ReactionExtensionList map[string]KeyValue `bson:"reaction_extension_list" json:"reactionExtensionList"` - ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` - MsgFirstModifyTime int64 `bson:"msg_first_modify_time" json:"msgFirstModifyTime"` // this extendMsg create time - AttachedInfo string `bson:"attached_info" json:"attachedInfo"` - Ex string `bson:"ex" json:"ex"` + ReactionExtensionList map[string]KeyValueModel `bson:"reaction_extension_list" json:"reactionExtensionList"` + ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` + MsgFirstModifyTime int64 `bson:"msg_first_modify_time" json:"msgFirstModifyTime"` // this extendMsg create time + AttachedInfo string `bson:"attached_info" json:"attachedInfo"` + Ex string `bson:"ex" json:"ex"` } -func (ExtendMsgSet) TableName() string { +func (ExtendMsgSetModel) TableName() string { return CExtendMsgSet } -func (ExtendMsgSet) GetExtendMsgMaxNum() int32 { +func (ExtendMsgSetModel) GetExtendMsgMaxNum() int32 { return ExtendMsgMaxNum } -func (ExtendMsgSet) GetSourceID(ID string, index int32) string { +func (ExtendMsgSetModel) GetSourceID(ID string, index int32) string { return ID + ":" + strconv.Itoa(int(index)) } -func (e *ExtendMsgSet) SplitSourceIDAndGetIndex() int32 { +func (e *ExtendMsgSetModel) SplitSourceIDAndGetIndex() int32 { l := strings.Split(e.SourceID, ":") index, _ := strconv.Atoi(l[len(l)-1]) return int32(index) @@ -59,11 +59,11 @@ type GetAllExtendMsgSetOpts struct { } type ExtendMsgSetInterface interface { - CreateExtendMsgSet(ctx context.Context, set *ExtendMsgSet) error - GetAllExtendMsgSet(ctx context.Context, ID string, opts *GetAllExtendMsgSetOpts) (sets []*ExtendMsgSet, err error) - GetExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, maxMsgUpdateTime int64) (*ExtendMsgSet, error) + CreateExtendMsgSet(ctx context.Context, set *ExtendMsgSetModel) error + GetAllExtendMsgSet(ctx context.Context, ID string, opts *GetAllExtendMsgSetOpts) (sets []*ExtendMsgSetModel, err error) + GetExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, maxMsgUpdateTime int64) (*ExtendMsgSetModel, error) InsertExtendMsg(ctx context.Context, sourceID string, sessionType int32, msg *ExtendMsg) error - InsertOrUpdateReactionExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList map[string]*commonPb.KeyValue) error - DeleteReactionExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList map[string]*commonPb.KeyValue) error + InsertOrUpdateReactionExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList map[string]*common.KeyValue) error + DeleteReactionExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList map[string]*common.KeyValue) error GetExtendMsg(ctx context.Context, sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) (extendMsg *ExtendMsg, err error) } diff --git a/pkg/common/token_verify/jwt_token.go b/pkg/common/tokenverify/jwt_token.go similarity index 99% rename from pkg/common/token_verify/jwt_token.go rename to pkg/common/tokenverify/jwt_token.go index 084f07003..ca428229d 100644 --- a/pkg/common/token_verify/jwt_token.go +++ b/pkg/common/tokenverify/jwt_token.go @@ -1,4 +1,4 @@ -package token_verify +package tokenverify import ( "Open_IM/pkg/common/config" diff --git a/pkg/common/token_verify/jwt_token_test.go b/pkg/common/tokenverify/jwt_token_test.go similarity index 94% rename from pkg/common/token_verify/jwt_token_test.go rename to pkg/common/tokenverify/jwt_token_test.go index 64d64f263..f7caaac82 100644 --- a/pkg/common/token_verify/jwt_token_test.go +++ b/pkg/common/tokenverify/jwt_token_test.go @@ -1,4 +1,4 @@ -package token_verify +package tokenverify import ( "github.com/stretchr/testify/assert" diff --git a/pkg/utils/jwt_token_test.go b/pkg/utils/jwt_token_test.go index fe7a6b320..3c4f8e4ce 100644 --- a/pkg/utils/jwt_token_test.go +++ b/pkg/utils/jwt_token_test.go @@ -3,7 +3,7 @@ package utils import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/common/tokenverify" "testing" "time" @@ -14,7 +14,7 @@ func Test_BuildClaims(t *testing.T) { uid := "1" platform := "PC" ttl := int64(-1) - claim := token_verify.BuildClaims(uid, platform, ttl) + claim := tokenverify.BuildClaims(uid, platform, ttl) now := time.Now().Unix() assert.Equal(t, claim.UID, uid, "uid should equal") @@ -26,7 +26,7 @@ func Test_BuildClaims(t *testing.T) { ttl = int64(60) now = time.Now().Unix() - claim = token_verify.BuildClaims(uid, platform, ttl) + claim = tokenverify.BuildClaims(uid, platform, ttl) // time difference within 1s assert.Equal(t, claim.RegisteredClaims.ExpiresAt, int64(60)+now, "StandardClaims.ExpiresAt should be equal") assert.Equal(t, claim.RegisteredClaims.IssuedAt, now, "StandardClaims.IssuedAt should be equal") @@ -38,7 +38,7 @@ func Test_CreateToken(t *testing.T) { platform := int32(1) now := time.Now().Unix() - tokenString, expiresAt, err := token_verify.CreateToken(uid, int(platform)) + tokenString, expiresAt, err := tokenverify.CreateToken(uid, int(platform)) assert.NotEmpty(t, tokenString) assert.Equal(t, expiresAt, 604800+now) @@ -48,26 +48,26 @@ func Test_CreateToken(t *testing.T) { func Test_VerifyToken(t *testing.T) { uid := "1" platform := int32(1) - tokenString, _, _ := token_verify.CreateToken(uid, int(platform)) - result, _ := token_verify.VerifyToken(tokenString, uid) + tokenString, _, _ := tokenverify.CreateToken(uid, int(platform)) + result, _ := tokenverify.VerifyToken(tokenString, uid) assert.True(t, result) - result, _ = token_verify.VerifyToken(tokenString, "2") + result, _ = tokenverify.VerifyToken(tokenString, "2") assert.False(t, result) } func Test_ParseRedisInterfaceToken(t *testing.T) { uid := "1" platform := int32(1) - tokenString, _, _ := token_verify.CreateToken(uid, int(platform)) + tokenString, _, _ := tokenverify.CreateToken(uid, int(platform)) - claims, err := token_verify.ParseRedisInterfaceToken([]uint8(tokenString)) + claims, err := tokenverify.ParseRedisInterfaceToken([]uint8(tokenString)) assert.Nil(t, err) assert.Equal(t, claims.UID, uid) // timeout config.Config.TokenPolicy.AccessExpire = -80 - tokenString, _, _ = token_verify.CreateToken(uid, int(platform)) - claims, err = token_verify.ParseRedisInterfaceToken([]uint8(tokenString)) + tokenString, _, _ = tokenverify.CreateToken(uid, int(platform)) + claims, err = tokenverify.ParseRedisInterfaceToken([]uint8(tokenString)) assert.Equal(t, err, constant.ExpiredToken) assert.Nil(t, claims) } @@ -75,15 +75,15 @@ func Test_ParseRedisInterfaceToken(t *testing.T) { func Test_ParseToken(t *testing.T) { uid := "1" platform := int32(1) - tokenString, _, _ := token_verify.CreateToken(uid, int(platform)) - claims, err := token_verify.ParseToken(tokenString, "") + tokenString, _, _ := tokenverify.CreateToken(uid, int(platform)) + claims, err := tokenverify.ParseToken(tokenString, "") if err == nil { assert.Equal(t, claims.UID, uid) } } func Test_GetClaimFromToken(t *testing.T) { token := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVSUQiOiJvcGVuSU0xMjM0NTYiLCJQbGF0Zm9ybSI6IiIsImV4cCI6MTYzODg0NjQ3NiwibmJmIjoxNjM4MjQxNjc2LCJpYXQiOjE2MzgyNDE2NzZ9.W8RZB7ec5ySFj-rGE2Aho2z32g3MprQMdCyPiQu_C2I" - c, err := token_verify.GetClaimFromToken(token) + c, err := tokenverify.GetClaimFromToken(token) assert.Nil(t, c) assert.Nil(t, err) } From ccc7e6b3c8f8eb189b6b60c524732b44e3cc4beb Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 9 Feb 2023 16:11:18 +0800 Subject: [PATCH 2/3] errcode --- cmd/open_im_cms_api/main.go | 2 +- go.mod | 96 +------------------ go.sum | 87 +++++++++++++++-- internal/api/group/group_test.go | 4 +- internal/{api_to_rpc => api2rpc}/api.go | 1 - internal/{api_to_rpc => api2rpc}/copy.go | 0 internal/{cms_api => cmsapi}/admin/admin.go | 0 internal/{cms_api => cmsapi}/friend/friend.go | 0 internal/{cms_api => cmsapi}/group/group.go | 0 .../message_cms/message.go | 0 internal/{cms_api => cmsapi}/router.go | 2 +- .../statistics/statistics.go | 0 internal/{cms_api => cmsapi}/user/user.go | 4 +- internal/common/rpc_server/a.go | 2 +- internal/{cron_task => crontask}/clear_msg.go | 0 .../{cron_task => crontask}/clear_msg_test.go | 0 internal/{cron_task => crontask}/cron_task.go | 1 - .../gate/batch_push.go | 0 .../gate/callback.go | 0 .../{msg_gateway => msggateway}/gate/init.go | 0 .../{msg_gateway => msggateway}/gate/logic.go | 0 .../gate/open_im_media/room.go | 0 .../gate/relay_rpc_server.go | 0 .../gate/validate.go | 0 .../gate/ws_server.go | 0 .../{msg_transfer => msgtransfer}/logic/db.go | 0 .../logic/init.go | 0 .../logic/modify_msg_handler.go | 6 +- .../logic/online_history_msg_handler.go | 0 .../logic/online_msg_to_mongo_handler.go | 0 .../logic/persistent_msg_handler.go | 0 internal/rpc/group/group.go | 2 +- internal/rpc/msg/extend_msg.notification.go | 4 +- pkg/{api_struct => apistruct}/auth.go | 2 +- pkg/{api_struct => apistruct}/aws.go | 2 +- pkg/{api_struct => apistruct}/client_init.go | 2 +- pkg/{api_struct => apistruct}/common.go | 2 +- pkg/{api_struct => apistruct}/conversation.go | 2 +- pkg/{api_struct => apistruct}/cos.go | 2 +- pkg/{api_struct => apistruct}/friend.go | 2 +- pkg/{api_struct => apistruct}/group.go | 2 +- pkg/{api_struct => apistruct}/manage.go | 2 +- pkg/{api_struct => apistruct}/msg.go | 2 +- pkg/{api_struct => apistruct}/office.go | 2 +- pkg/{api_struct => apistruct}/organization.go | 2 +- pkg/{api_struct => apistruct}/oss.go | 2 +- pkg/{api_struct => apistruct}/pagination.go | 2 +- pkg/{api_struct => apistruct}/public.go | 2 +- pkg/{api_struct => apistruct}/super_group.go | 2 +- .../swagger_example.go | 2 +- pkg/{api_struct => apistruct}/third.go | 2 +- pkg/{api_struct => apistruct}/user.go | 2 +- pkg/{api_struct => apistruct}/work_moments.go | 2 +- .../common.go | 2 +- .../friend.go | 2 +- .../group.go | 2 +- .../message.go | 2 +- .../msg_gateway.go | 2 +- .../push.go | 2 +- pkg/{cms_struct => cmsstruct}/admin.go | 6 +- pkg/{cms_struct => cmsstruct}/common.go | 2 +- pkg/{cms_struct => cmsstruct}/friend.go | 2 +- pkg/{cms_struct => cmsstruct}/group.go | 2 +- pkg/{cms_struct => cmsstruct}/message_cms.go | 2 +- pkg/{cms_struct => cmsstruct}/statistics.go | 2 +- pkg/{cms_struct => cmsstruct}/user.go | 2 +- pkg/common/db/cache/group.go | 21 ++++ pkg/common/db/controller/group.go | 1 + pkg/common/db/localcache/conversation.go | 2 +- pkg/common/db/localcache/group.go | 3 +- pkg/discovery_registry/zk.go | 1 - .../discovery_register.go | 2 +- .../startegy.go | 2 +- 73 files changed, 153 insertions(+), 160 deletions(-) rename internal/{api_to_rpc => api2rpc}/api.go (99%) rename internal/{api_to_rpc => api2rpc}/copy.go (100%) rename internal/{cms_api => cmsapi}/admin/admin.go (100%) rename internal/{cms_api => cmsapi}/friend/friend.go (100%) rename internal/{cms_api => cmsapi}/group/group.go (100%) rename internal/{cms_api => cmsapi}/message_cms/message.go (100%) rename internal/{cms_api => cmsapi}/router.go (99%) rename internal/{cms_api => cmsapi}/statistics/statistics.go (100%) rename internal/{cms_api => cmsapi}/user/user.go (94%) rename internal/{cron_task => crontask}/clear_msg.go (100%) rename internal/{cron_task => crontask}/clear_msg_test.go (100%) rename internal/{cron_task => crontask}/cron_task.go (99%) rename internal/{msg_gateway => msggateway}/gate/batch_push.go (100%) rename internal/{msg_gateway => msggateway}/gate/callback.go (100%) rename internal/{msg_gateway => msggateway}/gate/init.go (100%) rename internal/{msg_gateway => msggateway}/gate/logic.go (100%) rename internal/{msg_gateway => msggateway}/gate/open_im_media/room.go (100%) rename internal/{msg_gateway => msggateway}/gate/relay_rpc_server.go (100%) rename internal/{msg_gateway => msggateway}/gate/validate.go (100%) rename internal/{msg_gateway => msggateway}/gate/ws_server.go (100%) rename internal/{msg_transfer => msgtransfer}/logic/db.go (100%) rename internal/{msg_transfer => msgtransfer}/logic/init.go (100%) rename internal/{msg_transfer => msgtransfer}/logic/modify_msg_handler.go (96%) rename internal/{msg_transfer => msgtransfer}/logic/online_history_msg_handler.go (100%) rename internal/{msg_transfer => msgtransfer}/logic/online_msg_to_mongo_handler.go (100%) rename internal/{msg_transfer => msgtransfer}/logic/persistent_msg_handler.go (100%) rename pkg/{api_struct => apistruct}/auth.go (98%) rename pkg/{api_struct => apistruct}/aws.go (96%) rename pkg/{api_struct => apistruct}/client_init.go (95%) rename pkg/{api_struct => apistruct}/common.go (93%) rename pkg/{api_struct => apistruct}/conversation.go (99%) rename pkg/{api_struct => apistruct}/cos.go (95%) rename pkg/{api_struct => apistruct}/friend.go (99%) rename pkg/{api_struct => apistruct}/group.go (99%) rename pkg/{api_struct => apistruct}/manage.go (99%) rename pkg/{api_struct => apistruct}/msg.go (99%) rename pkg/{api_struct => apistruct}/office.go (99%) rename pkg/{api_struct => apistruct}/organization.go (99%) rename pkg/{api_struct => apistruct}/oss.go (96%) rename pkg/{api_struct => apistruct}/pagination.go (88%) rename pkg/{api_struct => apistruct}/public.go (98%) rename pkg/{api_struct => apistruct}/super_group.go (92%) rename pkg/{api_struct => apistruct}/swagger_example.go (93%) rename pkg/{api_struct => apistruct}/third.go (99%) rename pkg/{api_struct => apistruct}/user.go (98%) rename pkg/{api_struct => apistruct}/work_moments.go (99%) rename pkg/{callback_struct => callbackstruct}/common.go (98%) rename pkg/{callback_struct => callbackstruct}/friend.go (93%) rename pkg/{callback_struct => callbackstruct}/group.go (98%) rename pkg/{callback_struct => callbackstruct}/message.go (99%) rename pkg/{callback_struct => callbackstruct}/msg_gateway.go (96%) rename pkg/{callback_struct => callbackstruct}/push.go (98%) rename pkg/{cms_struct => cmsstruct}/admin.go (94%) rename pkg/{cms_struct => cmsstruct}/common.go (93%) rename pkg/{cms_struct => cmsstruct}/friend.go (97%) rename pkg/{cms_struct => cmsstruct}/group.go (99%) rename pkg/{cms_struct => cmsstruct}/message_cms.go (99%) rename pkg/{cms_struct => cmsstruct}/statistics.go (99%) rename pkg/{cms_struct => cmsstruct}/user.go (99%) delete mode 100644 pkg/discovery_registry/zk.go rename pkg/{discovery_registry => discoveryregistry}/discovery_register.go (98%) rename pkg/{discovery_registry => discoveryregistry}/startegy.go (93%) diff --git a/cmd/open_im_cms_api/main.go b/cmd/open_im_cms_api/main.go index 0e42781e1..d917a69ff 100644 --- a/cmd/open_im_cms_api/main.go +++ b/cmd/open_im_cms_api/main.go @@ -15,7 +15,7 @@ import ( func main() { gin.SetMode(gin.ReleaseMode) - router := cms_api.NewGinRouter() + router := cmsapi.NewGinRouter() router.Use(utils.CorsHandler()) defaultPorts := config.Config.CmsApi.GinPort ginPort := flag.Int("port", defaultPorts[0], "get ginServerPort from cmd,default 10006 as port") diff --git a/go.mod b/go.mod index 7b68502f8..ea7280cec 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module Open_IM -go 1.18 +go 1.16 require ( firebase.google.com/go v3.13.0+incompatible @@ -9,7 +9,6 @@ require ( github.com/OpenIMSDK/open_utils v1.0.8 github.com/Shopify/sarama v1.32.0 github.com/alibabacloud-go/darabonba-openapi v0.1.11 - github.com/alibabacloud-go/dysmsapi-20170525/v2 v2.0.8 github.com/alibabacloud-go/sts-20150401 v1.1.0 github.com/alibabacloud-go/tea v1.1.17 github.com/antonfisher/nested-logrus-formatter v1.3.1 @@ -43,8 +42,6 @@ require ( github.com/swaggo/files v0.0.0-20220610200504-28940afbdbfe github.com/swaggo/gin-swagger v1.5.0 github.com/swaggo/swag v1.8.3 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.428 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.428 github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca go.etcd.io/etcd/client/v3 v3.5.6 // indirect go.mongodb.org/mongo-driver v1.8.3 @@ -54,7 +51,6 @@ require ( google.golang.org/api v0.103.0 google.golang.org/grpc v1.52.3 google.golang.org/protobuf v1.28.1 - gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 gopkg.in/yaml.v3 v3.0.1 gorm.io/driver/mysql v1.3.5 @@ -62,109 +58,19 @@ require ( ) require ( - cloud.google.com/go v0.105.0 // indirect - cloud.google.com/go/compute v1.13.0 // indirect - cloud.google.com/go/compute/metadata v0.2.1 // indirect - cloud.google.com/go/firestore v1.9.0 // indirect - cloud.google.com/go/iam v0.8.0 // indirect - cloud.google.com/go/longrunning v0.3.0 // indirect - cloud.google.com/go/storage v1.27.0 // indirect - github.com/KyleBanks/depth v1.2.1 // indirect - github.com/OpenIMSDK/open_log v1.0.0 // indirect - github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 // indirect - github.com/alibabacloud-go/endpoint-util v1.1.0 // indirect - github.com/alibabacloud-go/openapi-util v0.0.9 // indirect - github.com/alibabacloud-go/tea-utils v1.3.9 // indirect - github.com/aliyun/credentials-go v1.1.2 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.8 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.14 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.8 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.3.15 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.8 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.11.12 // indirect - github.com/aws/smithy-go v1.12.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/coreos/go-semver v0.3.0 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/dustin/go-humanize v1.0.0 // indirect - github.com/eapache/go-resiliency v1.2.0 // indirect - github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect - github.com/eapache/queue v1.1.0 // indirect - github.com/gin-contrib/sse v0.1.0 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.20.0 // indirect github.com/go-openapi/spec v0.20.6 // indirect github.com/go-openapi/swag v0.21.1 // indirect github.com/go-playground/locales v0.14.1 // indirect - github.com/go-playground/universal-translator v0.18.0 // indirect - github.com/go-sql-driver/mysql v1.6.0 // indirect - github.com/go-stack/stack v1.8.0 // indirect - github.com/go-zookeeper/zk v1.0.3 // indirect github.com/goccy/go-json v0.10.0 // indirect - github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect - github.com/golang/snappy v0.0.3 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect - github.com/googleapis/gax-go/v2 v2.7.0 // indirect - github.com/hashicorp/go-uuid v1.0.2 // indirect - github.com/jcmturner/aescts/v2 v2.0.0 // indirect - github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect - github.com/jcmturner/gofork v1.0.0 // indirect - github.com/jcmturner/gokrb5/v8 v8.4.2 // indirect - github.com/jcmturner/rpc/v2 v2.0.3 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/jinzhu/now v1.1.5 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.13.6 // indirect - github.com/klauspost/cpuid v1.3.1 // indirect - github.com/leodido/go-urn v1.2.1 // indirect - github.com/lestrrat-go/strftime v1.0.6 // indirect - github.com/lithammer/shortuuid v3.0.0+incompatible // indirect - github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-isatty v0.0.17 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect - github.com/minio/md5-simd v1.1.0 // indirect - github.com/minio/sha256-simd v0.1.1 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect - github.com/pierrec/lz4 v2.6.0+incompatible // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/rs/xid v1.2.1 // indirect - github.com/tjfoc/gmsm v1.3.2 // indirect github.com/ugorji/go/codec v1.2.8 // indirect - github.com/xdg-go/pbkdf2 v1.0.0 // indirect - github.com/xdg-go/scram v1.0.2 // indirect - github.com/xdg-go/stringprep v1.0.2 // indirect - github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect - go.etcd.io/etcd/api/v3 v3.5.6 // indirect - go.etcd.io/etcd/client/pkg/v3 v3.5.6 // indirect - go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.9.0 // indirect go.uber.org/zap v1.24.0 // indirect golang.org/x/crypto v0.5.0 // indirect - golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect - golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.4.0 // indirect - golang.org/x/text v0.6.0 // indirect - golang.org/x/time v0.1.0 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect - gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/ini.v1 v1.66.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect ) replace github.com/Shopify/sarama => github.com/Shopify/sarama v1.29.0 diff --git a/go.sum b/go.sum index 91c586d20..f2231afbb 100644 --- a/go.sum +++ b/go.sum @@ -26,6 +26,7 @@ cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+Y cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= @@ -38,6 +39,7 @@ cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= @@ -80,6 +82,7 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= @@ -142,6 +145,7 @@ cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4c cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= @@ -163,6 +167,7 @@ cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1 cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= @@ -190,6 +195,7 @@ cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZ cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= @@ -202,6 +208,7 @@ cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+ cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= @@ -210,11 +217,13 @@ cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiP cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= @@ -263,6 +272,9 @@ cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2k cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= @@ -317,6 +329,7 @@ cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5 cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= @@ -357,6 +370,7 @@ cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= @@ -383,6 +397,7 @@ github.com/OpenIMSDK/openKeeper v0.9.7 h1:oWPAsXAHpMpZh8NPB9B8FktVfxk1Ec8tQPdxhz github.com/OpenIMSDK/openKeeper v0.9.7/go.mod h1:RvyRXEcvWbonkmHLtT8KxGSCNlXY7OfDohhu53E6INU= github.com/OpenIMSDK/open_log v1.0.0 h1:ZQ908aWgPqfHOfkQ/oFSV20AZdRwPw+sZjC/sAPd5cA= github.com/OpenIMSDK/open_log v1.0.0/go.mod h1:qWvqF4iT2qBAP1eGGbinc0aAng1Y25X8A9Si1WS3oB4= +github.com/OpenIMSDK/open_utils v1.0.1/go.mod h1:PPRayByXnfu8PR5Xv9wzUMBrm1BV3y7s29GGg8ae47s= github.com/OpenIMSDK/open_utils v1.0.8 h1:IopxWgJwEF5ZAPsRuiZZOfcxNOQOCt/p8VDENcHN9r4= github.com/OpenIMSDK/open_utils v1.0.8/go.mod h1:FLoaQblWUVKQgqt2LrNzfSZLT6D3DICBn1kcOMDLUOI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -403,8 +418,6 @@ github.com/alibabacloud-go/darabonba-openapi v0.1.11/go.mod h1:MPJMxv7HYrFm5m9uO github.com/alibabacloud-go/darabonba-string v1.0.0/go.mod h1:93cTfV3vuPhhEwGGpKKqhVW4jLe7tDpo3LUM0i0g6mA= github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 h1:NqugFkGxx1TXSh/pBcU00Y6bljgDPaFdh5MUSeJ7e50= github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68/go.mod h1:6pb/Qy8c+lqua8cFpEy7g39NRRqOWc3rOwAy8m5Y2BY= -github.com/alibabacloud-go/dysmsapi-20170525/v2 v2.0.8 h1:KXMiCg99Jx7B6V+DlRFbWwL9UCGippE5z1wGzhyimiA= -github.com/alibabacloud-go/dysmsapi-20170525/v2 v2.0.8/go.mod h1:8aL6tSyQIWJygF7W/Vqxdf/QDbN2S+u57k36bEA8hD8= github.com/alibabacloud-go/endpoint-util v1.1.0 h1:r/4D3VSw888XGaeNpP994zDUaxdgTSHBbVfZlzf6b5Q= github.com/alibabacloud-go/endpoint-util v1.1.0/go.mod h1:O5FuCALmCKs2Ff7JFJMudHs0I5EBgecXXxZRyswlEjE= github.com/alibabacloud-go/openapi-util v0.0.8/go.mod h1:sQuElr4ywwFRlCCberQwKRFhRzIyG4QTP/P4y1CJ6Ws= @@ -451,6 +464,7 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.16.9/go.mod h1:O1IvkYxr+39hRf960Us6j github.com/aws/smithy-go v1.12.0 h1:gXpeZel/jPoWQ7OEmLIgCUnhkFftqNfwWUwAHSlp1v0= github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -458,6 +472,8 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0= github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= @@ -513,7 +529,9 @@ github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8 github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/gzip v0.0.5 h1:mhnVU32YnnBh2LPH2iqRqsA/eR7SAqRaD388jL2s/j0= github.com/gin-contrib/gzip v0.0.5/go.mod h1:OPIK6HR0Um2vNmBUTlayD7qle4yVVRZT0PyhdUigrKk= @@ -521,6 +539,7 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.7.4/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/gin-gonic/gin v1.8.2 h1:UzKToD9/PoFj/V4rvlKqTRKnQYyz8Sc1MJlv4JHPtvY= github.com/gin-gonic/gin v1.8.2/go.mod h1:qw5AYuDrzRTnhvusDsrov+fDIxp9Dleuu12h8nfB398= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -557,6 +576,7 @@ github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+ github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI= @@ -566,8 +586,11 @@ github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfC github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= +github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.0 h1:mXKd9Qw4NuzShiRlOXKews24ufknHO7gx30lsDyokKA= github.com/goccy/go-json v0.10.0/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -647,10 +670,12 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -683,6 +708,7 @@ github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2I github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= @@ -707,6 +733,7 @@ github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jonboulle/clockwork v0.3.0 h1:9BSCMi8C+0qdApAp4auwX0RkLGUjs956h0EkuQymUhg= +github.com/jonboulle/clockwork v0.3.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= @@ -724,6 +751,7 @@ github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= +github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= @@ -757,6 +785,8 @@ github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= @@ -784,17 +814,29 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/olivere/elastic/v7 v7.0.23 h1:b7tjMogDMhf2CisGI+L02LXLVa0ZyE82Z15XfW1e8t8= github.com/olivere/elastic/v7 v7.0.23/go.mod h1:OuWmD2DiuYhddWegBKPWQuelVKBLrW0fa/VUYgxuGTY= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= +github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/otiai10/copy v1.7.0/go.mod h1:rmRl6QPdJj6EiUqXQ/4Nn2lLXoNQjFCQbbNrxgc/t3U= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.3/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= +github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pierrec/lz4 v2.6.0+incompatible h1:Ix9yFKn1nSPBLFl/yZknTp8TU5G4Ps0JDmguYK6iH1A= @@ -851,6 +893,7 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -882,10 +925,6 @@ github.com/swaggo/gin-swagger v1.5.0/go.mod h1:3mKpZClKx7mnUGsiwJeEkNhnr1VHMkMaT github.com/swaggo/swag v1.8.1/go.mod h1:ugemnJsPZm/kRwFUnzBlbHRd0JY9zE1M4F+uy2pAaPQ= github.com/swaggo/swag v1.8.3 h1:3pZSSCQ//gAH88lfmxM3Cd1+JCsxV8Md6f36b9hrZ5s= github.com/swaggo/swag v1.8.3/go.mod h1:jMLeXOOmYyjk8PvHTsXBdrubsNd9gUJTTCzL5iBnseg= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.428 h1:146Tg+UznuAJbNLZXo34QksEhCSj0m5+9qwdpViL1lU= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.428/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.428 h1:HPgQZFVh69foPdKzyFg7Zx8IA1IDrjAXOwALy+ueYv8= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.428/go.mod h1:Rso2ljUOZ0uwlIY6G8wL/hhPdj6iTcjYaLE7tbR48Fk= github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca h1:G/aIr3WiUesWHL2YGYgEqjM5tCAJ43Ml+0C18wDkWWs= github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca/go.mod h1:b18KQa4IxHbxeseW1GcZox53d7J0z39VNONTxvvlkXw= github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= @@ -893,7 +932,10 @@ github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhV github.com/tjfoc/gmsm v1.3.2 h1:7JVkAn5bvUJ7HtU08iW6UiD+UTmJTIToHCfeFzkcCxM= github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= +github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ugorji/go/codec v1.2.8 h1:sgBJS6COt0b/P40VouWKdseidkDgHxYGm0SAglUHfP0= github.com/ugorji/go/codec v1.2.8/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= @@ -914,11 +956,15 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.etcd.io/etcd/api/v3 v3.5.5/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= go.etcd.io/etcd/api/v3 v3.5.6 h1:Cy2qx3npLcYqTKqGJzMypnMv2tiRyifZJ17BlWIWA7A= go.etcd.io/etcd/api/v3 v3.5.6/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= +go.etcd.io/etcd/client/pkg/v3 v3.5.5/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= go.etcd.io/etcd/client/pkg/v3 v3.5.6 h1:TXQWYceBKqLp4sa87rcPs11SXxUA/mHwH975v+BDvLU= go.etcd.io/etcd/client/pkg/v3 v3.5.6/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= +go.etcd.io/etcd/client/v3 v3.5.5/go.mod h1:aApjR4WGlSumpnJ2kloS75h6aHUmAyaPLjHMxpc7E7c= go.etcd.io/etcd/client/v3 v3.5.6 h1:coLs69PWCXE9G4FKquzNaSHrRyMCAXwF+IX1tAPVO8E= go.etcd.io/etcd/client/v3 v3.5.6/go.mod h1:f6GRinRMCsFVv9Ht42EyY7nfsVGwrNO0WEoS2pRKzQk= go.mongodb.org/mongo-driver v1.8.3 h1:TDKlTkGDKm9kkJVUOAXDK5/fkqKHJVwYQSpoRfB43R4= @@ -937,6 +983,7 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= @@ -954,6 +1001,7 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= @@ -970,6 +1018,7 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20220902085622-e7cb96979f69/go.mod h1:doUCurBvlfPMKfmIpRIywoHmhN3VyhnoFDbvIEWF4hY= golang.org/x/image v0.3.0 h1:HTDXbdK9bjfSWkPzDJIw89W8CAtfFGduujWs33NLLsg= golang.org/x/image v0.3.0/go.mod h1:fXd9211C/0VTlYuAcOhW8dY/RtEJqODXOWBDpmYBf+A= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -995,10 +1044,12 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1021,6 +1072,7 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -1035,9 +1087,11 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210427231257-85d9c07bbe3a/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1098,6 +1152,7 @@ golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1108,8 +1163,11 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1135,6 +1193,7 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1156,6 +1215,7 @@ golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1182,6 +1242,7 @@ golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXR golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1199,6 +1260,7 @@ golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1249,6 +1311,7 @@ golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82u golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= @@ -1258,6 +1321,7 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1432,7 +1496,10 @@ google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -1471,6 +1538,7 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.52.3 h1:pf7sOysg4LdgBqduXveGKrcEwbStiK2rtfghdzlUYDQ= google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= @@ -1491,8 +1559,6 @@ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= -gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1500,14 +1566,15 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE= -gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.56.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/internal/api/group/group_test.go b/internal/api/group/group_test.go index 1cfeb0810..03d1f8e5e 100644 --- a/internal/api/group/group_test.go +++ b/internal/api/group/group_test.go @@ -59,13 +59,13 @@ func TestName(t *testing.T) { //NewRpc(bind, "", group.NewGroupClient, temp) var c *gin.Context - NewRpc(NewApiBind[api_struct.KickGroupMemberReq, api_struct.KickGroupMemberResp](c), "", group.NewGroupClient, group.GroupClient.KickGroupMember) + NewRpc(NewApiBind[apistruct.KickGroupMemberReq, apistruct.KickGroupMemberResp](c), "", group.NewGroupClient, group.GroupClient.KickGroupMember) } func KickGroupMember(c *gin.Context) { // 默认 全部自动 - NewRpc(NewApiBind[api_struct.KickGroupMemberReq, api_struct.KickGroupMemberResp](c), "", group.NewGroupClient, group.GroupClient.KickGroupMember).Execute() + NewRpc(NewApiBind[apistruct.KickGroupMemberReq, apistruct.KickGroupMemberResp](c), "", group.NewGroupClient, group.GroupClient.KickGroupMember).Execute() // 可以自定义编辑请求和响应 NewRpc(NewApiBind[api_struct.KickGroupMemberReq, api_struct.KickGroupMemberResp](c), "", group.NewGroupClient, group.GroupClient.KickGroupMember).Before(func(apiReq *api_struct.KickGroupMemberReq, rpcReq *group.KickGroupMemberReq, bind func() error) error { return bind() diff --git a/internal/api_to_rpc/api.go b/internal/api2rpc/api.go similarity index 99% rename from internal/api_to_rpc/api.go rename to internal/api2rpc/api.go index 4d1f44df7..cfa1842a6 100644 --- a/internal/api_to_rpc/api.go +++ b/internal/api2rpc/api.go @@ -4,7 +4,6 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" "Open_IM/pkg/common/tracelog" - "Open_IM/pkg/getcdv3" utils2 "Open_IM/pkg/utils" "context" "fmt" diff --git a/internal/api_to_rpc/copy.go b/internal/api2rpc/copy.go similarity index 100% rename from internal/api_to_rpc/copy.go rename to internal/api2rpc/copy.go diff --git a/internal/cms_api/admin/admin.go b/internal/cmsapi/admin/admin.go similarity index 100% rename from internal/cms_api/admin/admin.go rename to internal/cmsapi/admin/admin.go diff --git a/internal/cms_api/friend/friend.go b/internal/cmsapi/friend/friend.go similarity index 100% rename from internal/cms_api/friend/friend.go rename to internal/cmsapi/friend/friend.go diff --git a/internal/cms_api/group/group.go b/internal/cmsapi/group/group.go similarity index 100% rename from internal/cms_api/group/group.go rename to internal/cmsapi/group/group.go diff --git a/internal/cms_api/message_cms/message.go b/internal/cmsapi/message_cms/message.go similarity index 100% rename from internal/cms_api/message_cms/message.go rename to internal/cmsapi/message_cms/message.go diff --git a/internal/cms_api/router.go b/internal/cmsapi/router.go similarity index 99% rename from internal/cms_api/router.go rename to internal/cmsapi/router.go index 7b2695a9c..0c19f4b5d 100644 --- a/internal/cms_api/router.go +++ b/internal/cmsapi/router.go @@ -1,4 +1,4 @@ -package cms_api +package cmsapi import ( "Open_IM/internal/cms_api/admin" diff --git a/internal/cms_api/statistics/statistics.go b/internal/cmsapi/statistics/statistics.go similarity index 100% rename from internal/cms_api/statistics/statistics.go rename to internal/cmsapi/statistics/statistics.go diff --git a/internal/cms_api/user/user.go b/internal/cmsapi/user/user.go similarity index 94% rename from internal/cms_api/user/user.go rename to internal/cmsapi/user/user.go index aed29444e..a432ef2c7 100644 --- a/internal/cms_api/user/user.go +++ b/internal/cmsapi/user/user.go @@ -19,8 +19,8 @@ import ( func GetUserIDByEmailAndPhoneNumber(c *gin.Context) { var ( - req cms_struct.GetUserIDByEmailAndPhoneNumberRequest - resp cms_struct.GetUserIDByEmailAndPhoneNumberResponse + req cmsstruct.GetUserIDByEmailAndPhoneNumberRequest + resp cmsstruct.GetUserIDByEmailAndPhoneNumberResponse reqPb pbAdminCms.GetUserIDByEmailAndPhoneNumberReq respPb *pbAdminCms.GetUserIDByEmailAndPhoneNumberResp ) diff --git a/internal/common/rpc_server/a.go b/internal/common/rpc_server/a.go index 19852a1f5..75223eaf6 100644 --- a/internal/common/rpc_server/a.go +++ b/internal/common/rpc_server/a.go @@ -4,7 +4,7 @@ import ( "Open_IM/internal/common/network" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" - discoveryRegistry "Open_IM/pkg/discovery_registry" + discoveryRegistry "Open_IM/pkg/discoveryregistry" "github.com/OpenIMSDK/openKeeper" "net" "strconv" diff --git a/internal/cron_task/clear_msg.go b/internal/crontask/clear_msg.go similarity index 100% rename from internal/cron_task/clear_msg.go rename to internal/crontask/clear_msg.go diff --git a/internal/cron_task/clear_msg_test.go b/internal/crontask/clear_msg_test.go similarity index 100% rename from internal/cron_task/clear_msg_test.go rename to internal/crontask/clear_msg_test.go diff --git a/internal/cron_task/cron_task.go b/internal/crontask/cron_task.go similarity index 99% rename from internal/cron_task/cron_task.go rename to internal/crontask/cron_task.go index e67147e71..2a54b2c26 100644 --- a/internal/cron_task/cron_task.go +++ b/internal/crontask/cron_task.go @@ -45,7 +45,6 @@ func StartCronTask(userID, workingGroupID string) { } } - func getCronTaskOperationID() string { return cronTaskOperationID + utils.OperationIDGenerator() } diff --git a/internal/msg_gateway/gate/batch_push.go b/internal/msggateway/gate/batch_push.go similarity index 100% rename from internal/msg_gateway/gate/batch_push.go rename to internal/msggateway/gate/batch_push.go diff --git a/internal/msg_gateway/gate/callback.go b/internal/msggateway/gate/callback.go similarity index 100% rename from internal/msg_gateway/gate/callback.go rename to internal/msggateway/gate/callback.go diff --git a/internal/msg_gateway/gate/init.go b/internal/msggateway/gate/init.go similarity index 100% rename from internal/msg_gateway/gate/init.go rename to internal/msggateway/gate/init.go diff --git a/internal/msg_gateway/gate/logic.go b/internal/msggateway/gate/logic.go similarity index 100% rename from internal/msg_gateway/gate/logic.go rename to internal/msggateway/gate/logic.go diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msggateway/gate/open_im_media/room.go similarity index 100% rename from internal/msg_gateway/gate/open_im_media/room.go rename to internal/msggateway/gate/open_im_media/room.go diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msggateway/gate/relay_rpc_server.go similarity index 100% rename from internal/msg_gateway/gate/relay_rpc_server.go rename to internal/msggateway/gate/relay_rpc_server.go diff --git a/internal/msg_gateway/gate/validate.go b/internal/msggateway/gate/validate.go similarity index 100% rename from internal/msg_gateway/gate/validate.go rename to internal/msggateway/gate/validate.go diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msggateway/gate/ws_server.go similarity index 100% rename from internal/msg_gateway/gate/ws_server.go rename to internal/msggateway/gate/ws_server.go diff --git a/internal/msg_transfer/logic/db.go b/internal/msgtransfer/logic/db.go similarity index 100% rename from internal/msg_transfer/logic/db.go rename to internal/msgtransfer/logic/db.go diff --git a/internal/msg_transfer/logic/init.go b/internal/msgtransfer/logic/init.go similarity index 100% rename from internal/msg_transfer/logic/init.go rename to internal/msgtransfer/logic/init.go diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msgtransfer/logic/modify_msg_handler.go similarity index 96% rename from internal/msg_transfer/logic/modify_msg_handler.go rename to internal/msgtransfer/logic/modify_msg_handler.go index 14990225d..0c89f556d 100644 --- a/internal/msg_transfer/logic/modify_msg_handler.go +++ b/internal/msgtransfer/logic/modify_msg_handler.go @@ -61,7 +61,7 @@ func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msg continue } if msgDataToMQ.MsgData.ContentType == constant.ReactionMessageModifier { - notification := &api_struct.ReactionMessageModifierNotification{} + notification := &apistruct.ReactionMessageModifierNotification{} if err := json.Unmarshal(msgDataToMQ.MsgData.Content, notification); err != nil { continue } @@ -104,7 +104,7 @@ func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msg } } } else if msgDataToMQ.MsgData.ContentType == constant.ReactionMessageDeleter { - notification := &api_struct.ReactionMessageDeleteNotification{} + notification := &apistruct.ReactionMessageDeleteNotification{} if err := json.Unmarshal(msgDataToMQ.MsgData.Content, notification); err != nil { continue } @@ -116,7 +116,7 @@ func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msg } -func UnMarshallSetReactionMsgContent(content []byte) (notification *api_struct.ReactionMessageModifierNotification, err error) { +func UnMarshallSetReactionMsgContent(content []byte) (notification *apistruct.ReactionMessageModifierNotification, err error) { return notification, nil } diff --git a/internal/msg_transfer/logic/online_history_msg_handler.go b/internal/msgtransfer/logic/online_history_msg_handler.go similarity index 100% rename from internal/msg_transfer/logic/online_history_msg_handler.go rename to internal/msgtransfer/logic/online_history_msg_handler.go diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msgtransfer/logic/online_msg_to_mongo_handler.go similarity index 100% rename from internal/msg_transfer/logic/online_msg_to_mongo_handler.go rename to internal/msgtransfer/logic/online_msg_to_mongo_handler.go diff --git a/internal/msg_transfer/logic/persistent_msg_handler.go b/internal/msgtransfer/logic/persistent_msg_handler.go similarity index 100% rename from internal/msg_transfer/logic/persistent_msg_handler.go rename to internal/msgtransfer/logic/persistent_msg_handler.go diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index baa17a54f..a24af9801 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -15,7 +15,7 @@ import ( promePkg "Open_IM/pkg/common/prometheus" "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/common/tracelog" - discoveryRegistry "Open_IM/pkg/discovery_registry" + discoveryRegistry "Open_IM/pkg/discoveryregistry" pbGroup "Open_IM/pkg/proto/group" open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 5913cdec6..11ab90224 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -14,7 +14,7 @@ import ( func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { - var m api_struct.ReactionMessageModifierNotification + var m apistruct.ReactionMessageModifierNotification m.SourceID = req.SourceID m.OpUserID = req.OpUserID m.SessionType = req.SessionType @@ -37,7 +37,7 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin } func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, sessionType int32, req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { - var m api_struct.ReactionMessageDeleteNotification + var m apistruct.ReactionMessageDeleteNotification m.SourceID = req.SourceID m.OpUserID = req.OpUserID m.SessionType = req.SessionType diff --git a/pkg/api_struct/auth.go b/pkg/apistruct/auth.go similarity index 98% rename from pkg/api_struct/auth.go rename to pkg/apistruct/auth.go index 5e39ddf8c..2942519c3 100644 --- a/pkg/api_struct/auth.go +++ b/pkg/apistruct/auth.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct type UserRegisterReq struct { Secret string `json:"secret" binding:"required,max=32"` diff --git a/pkg/api_struct/aws.go b/pkg/apistruct/aws.go similarity index 96% rename from pkg/api_struct/aws.go rename to pkg/apistruct/aws.go index 0479080e4..f7f275d62 100644 --- a/pkg/api_struct/aws.go +++ b/pkg/apistruct/aws.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct type AwsStorageCredentialReq struct { OperationID string `json:"operationID"` diff --git a/pkg/api_struct/client_init.go b/pkg/apistruct/client_init.go similarity index 95% rename from pkg/api_struct/client_init.go rename to pkg/apistruct/client_init.go index 4ceed6221..17f85ffa2 100644 --- a/pkg/api_struct/client_init.go +++ b/pkg/apistruct/client_init.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct type SetClientInitConfigReq struct { OperationID string `json:"operationID" binding:"required"` diff --git a/pkg/api_struct/common.go b/pkg/apistruct/common.go similarity index 93% rename from pkg/api_struct/common.go rename to pkg/apistruct/common.go index e17c6f036..66c2af78a 100644 --- a/pkg/api_struct/common.go +++ b/pkg/apistruct/common.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct type RequestPagination struct { PageNumber int `json:"pageNumber" binding:"required"` diff --git a/pkg/api_struct/conversation.go b/pkg/apistruct/conversation.go similarity index 99% rename from pkg/api_struct/conversation.go rename to pkg/apistruct/conversation.go index da4b5ced9..aeb5b329c 100644 --- a/pkg/api_struct/conversation.go +++ b/pkg/apistruct/conversation.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct type OptResult struct { ConversationID string `json:"conversationID"` diff --git a/pkg/api_struct/cos.go b/pkg/apistruct/cos.go similarity index 95% rename from pkg/api_struct/cos.go rename to pkg/apistruct/cos.go index 0c9e92a5b..60162fa47 100644 --- a/pkg/api_struct/cos.go +++ b/pkg/apistruct/cos.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import sts "github.com/tencentyun/qcloud-cos-sts-sdk/go" diff --git a/pkg/api_struct/friend.go b/pkg/apistruct/friend.go similarity index 99% rename from pkg/api_struct/friend.go rename to pkg/apistruct/friend.go index b89ba3208..9558e69c5 100644 --- a/pkg/api_struct/friend.go +++ b/pkg/apistruct/friend.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct //type ParamsCommFriend struct { // OperationID string `json:"operationID" binding:"required"` diff --git a/pkg/api_struct/group.go b/pkg/apistruct/group.go similarity index 99% rename from pkg/api_struct/group.go rename to pkg/apistruct/group.go index a2c3c99c9..e799204fc 100644 --- a/pkg/api_struct/group.go +++ b/pkg/apistruct/group.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import ( open_im_sdk "Open_IM/pkg/proto/sdk_ws" diff --git a/pkg/api_struct/manage.go b/pkg/apistruct/manage.go similarity index 99% rename from pkg/api_struct/manage.go rename to pkg/apistruct/manage.go index 0d5bb4307..e6bc43d08 100644 --- a/pkg/api_struct/manage.go +++ b/pkg/apistruct/manage.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import ( pbRelay "Open_IM/pkg/proto/relay" diff --git a/pkg/api_struct/msg.go b/pkg/apistruct/msg.go similarity index 99% rename from pkg/api_struct/msg.go rename to pkg/apistruct/msg.go index 6451f8542..962c8ca02 100644 --- a/pkg/api_struct/msg.go +++ b/pkg/apistruct/msg.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import ( "Open_IM/pkg/proto/msg" diff --git a/pkg/api_struct/office.go b/pkg/apistruct/office.go similarity index 99% rename from pkg/api_struct/office.go rename to pkg/apistruct/office.go index 3eeb1ed3f..b4f830577 100644 --- a/pkg/api_struct/office.go +++ b/pkg/apistruct/office.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import ( pbOffice "Open_IM/pkg/proto/office" diff --git a/pkg/api_struct/organization.go b/pkg/apistruct/organization.go similarity index 99% rename from pkg/api_struct/organization.go rename to pkg/apistruct/organization.go index c6c1d8327..a3aed68da 100644 --- a/pkg/api_struct/organization.go +++ b/pkg/apistruct/organization.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import open_im_sdk "Open_IM/pkg/proto/sdk_ws" diff --git a/pkg/api_struct/oss.go b/pkg/apistruct/oss.go similarity index 96% rename from pkg/api_struct/oss.go rename to pkg/apistruct/oss.go index 9cbac79f8..d1ecae757 100644 --- a/pkg/api_struct/oss.go +++ b/pkg/apistruct/oss.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct type OSSCredentialReq struct { OperationID string `json:"operationID"` diff --git a/pkg/api_struct/pagination.go b/pkg/apistruct/pagination.go similarity index 88% rename from pkg/api_struct/pagination.go rename to pkg/apistruct/pagination.go index 717664cb1..9b64ad8c1 100644 --- a/pkg/api_struct/pagination.go +++ b/pkg/apistruct/pagination.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct type Pagination struct { PageNumber int32 `json:"pageNumber" binding:"required"` diff --git a/pkg/api_struct/public.go b/pkg/apistruct/public.go similarity index 98% rename from pkg/api_struct/public.go rename to pkg/apistruct/public.go index 99109bf76..9bb0c2bf4 100644 --- a/pkg/api_struct/public.go +++ b/pkg/apistruct/public.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import ( "net/http" diff --git a/pkg/api_struct/super_group.go b/pkg/apistruct/super_group.go similarity index 92% rename from pkg/api_struct/super_group.go rename to pkg/apistruct/super_group.go index 449892e75..6c8bf9515 100644 --- a/pkg/api_struct/super_group.go +++ b/pkg/apistruct/super_group.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct type GetJoinedSuperGroupListReq struct { GetJoinedGroupListReq diff --git a/pkg/api_struct/swagger_example.go b/pkg/apistruct/swagger_example.go similarity index 93% rename from pkg/api_struct/swagger_example.go rename to pkg/apistruct/swagger_example.go index 8c5598614..bc16c0c9e 100644 --- a/pkg/api_struct/swagger_example.go +++ b/pkg/apistruct/swagger_example.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct type Swagger400Resp struct { ErrCode int32 `json:"errCode" example:"400"` diff --git a/pkg/api_struct/third.go b/pkg/apistruct/third.go similarity index 99% rename from pkg/api_struct/third.go rename to pkg/apistruct/third.go index 258c19a42..0be86b141 100644 --- a/pkg/api_struct/third.go +++ b/pkg/apistruct/third.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import "mime/multipart" diff --git a/pkg/api_struct/user.go b/pkg/apistruct/user.go similarity index 98% rename from pkg/api_struct/user.go rename to pkg/apistruct/user.go index 7cd165fbb..5e9d642aa 100644 --- a/pkg/api_struct/user.go +++ b/pkg/apistruct/user.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import ( open_im_sdk "Open_IM/pkg/proto/sdk_ws" diff --git a/pkg/api_struct/work_moments.go b/pkg/apistruct/work_moments.go similarity index 99% rename from pkg/api_struct/work_moments.go rename to pkg/apistruct/work_moments.go index ce7fe59a4..acf3d4d6f 100644 --- a/pkg/api_struct/work_moments.go +++ b/pkg/apistruct/work_moments.go @@ -1,4 +1,4 @@ -package api_struct +package apistruct import "Open_IM/pkg/proto/office" diff --git a/pkg/callback_struct/common.go b/pkg/callbackstruct/common.go similarity index 98% rename from pkg/callback_struct/common.go rename to pkg/callbackstruct/common.go index d83988a7a..8c96a132d 100644 --- a/pkg/callback_struct/common.go +++ b/pkg/callbackstruct/common.go @@ -1,4 +1,4 @@ -package callback_struct +package callbackstruct import ( "Open_IM/pkg/common/constant" diff --git a/pkg/callback_struct/friend.go b/pkg/callbackstruct/friend.go similarity index 93% rename from pkg/callback_struct/friend.go rename to pkg/callbackstruct/friend.go index 74de6feac..fa1cffe28 100644 --- a/pkg/callback_struct/friend.go +++ b/pkg/callbackstruct/friend.go @@ -1,4 +1,4 @@ -package callback_struct +package callbackstruct type CallbackBeforeAddFriendReq struct { CallbackCommand string `json:"callbackCommand"` diff --git a/pkg/callback_struct/group.go b/pkg/callbackstruct/group.go similarity index 98% rename from pkg/callback_struct/group.go rename to pkg/callbackstruct/group.go index 00cc8e42c..518f65b09 100644 --- a/pkg/callback_struct/group.go +++ b/pkg/callbackstruct/group.go @@ -1,4 +1,4 @@ -package callback_struct +package callbackstruct import ( "Open_IM/pkg/proto/group" diff --git a/pkg/callback_struct/message.go b/pkg/callbackstruct/message.go similarity index 99% rename from pkg/callback_struct/message.go rename to pkg/callbackstruct/message.go index b97d3446e..eedfe5cbb 100644 --- a/pkg/callback_struct/message.go +++ b/pkg/callbackstruct/message.go @@ -1,4 +1,4 @@ -package callback_struct +package callbackstruct import ( "Open_IM/pkg/proto/msg" diff --git a/pkg/callback_struct/msg_gateway.go b/pkg/callbackstruct/msg_gateway.go similarity index 96% rename from pkg/callback_struct/msg_gateway.go rename to pkg/callbackstruct/msg_gateway.go index a3d7ee2b8..02509ac3f 100644 --- a/pkg/callback_struct/msg_gateway.go +++ b/pkg/callbackstruct/msg_gateway.go @@ -1,4 +1,4 @@ -package callback_struct +package callbackstruct type CallbackUserOnlineReq struct { UserStatusCallbackReq diff --git a/pkg/callback_struct/push.go b/pkg/callbackstruct/push.go similarity index 98% rename from pkg/callback_struct/push.go rename to pkg/callbackstruct/push.go index e0cf585b4..a35fcbb27 100644 --- a/pkg/callback_struct/push.go +++ b/pkg/callbackstruct/push.go @@ -1,4 +1,4 @@ -package callback_struct +package callbackstruct import common "Open_IM/pkg/proto/sdk_ws" diff --git a/pkg/cms_struct/admin.go b/pkg/cmsstruct/admin.go similarity index 94% rename from pkg/cms_struct/admin.go rename to pkg/cmsstruct/admin.go index 55e9f5bfa..26362d72f 100644 --- a/pkg/cms_struct/admin.go +++ b/pkg/cmsstruct/admin.go @@ -1,4 +1,4 @@ -package cms_struct +package cmsstruct import ( "Open_IM/pkg/api_struct" @@ -47,10 +47,10 @@ type ReduceUserRegisterAddFriendIDListResponse struct { type GetUserRegisterAddFriendIDListRequest struct { OperationID string `json:"operationID" binding:"required"` - api_struct.RequestPagination + apistruct.RequestPagination } type GetUserRegisterAddFriendIDListResponse struct { Users []*server_api_params.UserInfo `json:"users"` - api_struct.ResponsePagination + apistruct.ResponsePagination } diff --git a/pkg/cms_struct/common.go b/pkg/cmsstruct/common.go similarity index 93% rename from pkg/cms_struct/common.go rename to pkg/cmsstruct/common.go index 264ec7942..ed679c287 100644 --- a/pkg/cms_struct/common.go +++ b/pkg/cmsstruct/common.go @@ -1,4 +1,4 @@ -package cms_struct +package cmsstruct type RequestPagination struct { PageNumber int `json:"pageNumber" binding:"required"` diff --git a/pkg/cms_struct/friend.go b/pkg/cmsstruct/friend.go similarity index 97% rename from pkg/cms_struct/friend.go rename to pkg/cmsstruct/friend.go index 40b8dd843..26017c795 100644 --- a/pkg/cms_struct/friend.go +++ b/pkg/cmsstruct/friend.go @@ -1,4 +1,4 @@ -package cms_struct +package cmsstruct type GetFriendsReq struct { OperationID string `json:"operationID"` diff --git a/pkg/cms_struct/group.go b/pkg/cmsstruct/group.go similarity index 99% rename from pkg/cms_struct/group.go rename to pkg/cmsstruct/group.go index 8acd4d459..2cf90692d 100644 --- a/pkg/cms_struct/group.go +++ b/pkg/cmsstruct/group.go @@ -1,4 +1,4 @@ -package cms_struct +package cmsstruct type GroupResponse struct { GroupOwnerName string `json:"GroupOwnerName"` diff --git a/pkg/cms_struct/message_cms.go b/pkg/cmsstruct/message_cms.go similarity index 99% rename from pkg/cms_struct/message_cms.go rename to pkg/cmsstruct/message_cms.go index 27033e72f..3e5556012 100644 --- a/pkg/cms_struct/message_cms.go +++ b/pkg/cmsstruct/message_cms.go @@ -1,4 +1,4 @@ -package cms_struct +package cmsstruct import ( pbCommon "Open_IM/pkg/proto/sdk_ws" diff --git a/pkg/cms_struct/statistics.go b/pkg/cmsstruct/statistics.go similarity index 99% rename from pkg/cms_struct/statistics.go rename to pkg/cmsstruct/statistics.go index f1dc2b0c9..0f95039de 100644 --- a/pkg/cms_struct/statistics.go +++ b/pkg/cmsstruct/statistics.go @@ -1,4 +1,4 @@ -package cms_struct +package cmsstruct type GetStatisticsRequest struct { From string `json:"from" binding:"required"` diff --git a/pkg/cms_struct/user.go b/pkg/cmsstruct/user.go similarity index 99% rename from pkg/cms_struct/user.go rename to pkg/cmsstruct/user.go index 400514ac9..e217c830e 100644 --- a/pkg/cms_struct/user.go +++ b/pkg/cmsstruct/user.go @@ -1,4 +1,4 @@ -package cms_struct +package cmsstruct type UserResponse struct { FaceURL string `json:"faceURL"` diff --git a/pkg/common/db/cache/group.go b/pkg/common/db/cache/group.go index b0825ae43..eb94ccb22 100644 --- a/pkg/common/db/cache/group.go +++ b/pkg/common/db/cache/group.go @@ -33,6 +33,27 @@ type GroupCache interface { DelGroupsInfo(ctx context.Context, groupID string) (err error) GetGroupInfo(ctx context.Context, groupID string, fn func(ctx context.Context, groupID string) (group *relationTb.GroupModel, err error)) (group *relationTb.GroupModel, err error) DelGroupInfo(ctx context.Context, groupID string) (err error) + + BatchDelJoinedSuperGroupIDs(ctx context.Context, userIDs []string, fn func(ctx context.Context, userIDs []string) error) (err error) + + GetJoinedSuperGroupIDs(ctx context.Context, userID string, fn func(ctx context.Context, userID string) (joinedSuperGroupIDs []string, err error)) (joinedSuperGroupIDs []string, err error) + DelJoinedSuperGroupIDs(ctx context.Context, userID string, fn func(ctx context.Context, userID string) error) (err error) + + GetGroupMembersHash(ctx context.Context, groupID string, fn func(ctx context.Context, groupID string) (hashCodeUint64 uint64, err error)) (hashCodeUint64 uint64, err error) + DelGroupMembersHash(ctx context.Context, groupID string) (err error) + + GetGroupMemberIDs(ctx context.Context, groupID string, fn func(ctx context.Context, groupID string) (groupMemberIDs []string, err error)) (groupMemberIDs []string, err error) + DelGroupMemberIDs(ctx context.Context, groupID string) + + GetJoinedGroupIDs(ctx context.Context, userID string, fn func(ctx context.Context, userID string) (joinedGroupIDs []string, err error)) (joinedGroupIDs []string, err error) + DelJoinedGroupIDs(ctx context.Context, userID string) (err error) + + GetGroupMemberInfo(ctx context.Context, groupID, userID string, fn func(ctx context.Context, groupID, userID string) (groupMember *relationTb.GroupMemberModel, err error)) (groupMember *relationTb.GroupMemberModel, err error) + GetGroupMembersInfo(ctx context.Context, count, offset int32, groupID string, fn func(ctx context.Context, count, offset int32, groupID string) (groupMembers []*relationTb.GroupMemberModel, err error)) (groupMembers []*relationTb.GroupMemberModel, err error) + DelGroupMemberInfo(ctx context.Context, groupID, userID string) (err error) + + GetGroupMemberNum(ctx context.Context, groupID string, fn func(ctx context.Context, groupID string) (num int, err error)) (num int, err error) + DelGroupMemberNum(ctx context.Context, groupID string) (err error) } type GroupCacheRedis struct { diff --git a/pkg/common/db/controller/group.go b/pkg/common/db/controller/group.go index c90215b2a..10325f315 100644 --- a/pkg/common/db/controller/group.go +++ b/pkg/common/db/controller/group.go @@ -274,6 +274,7 @@ func (g *GroupDataBase) DismissGroup(ctx context.Context, groupID string) error return err } return g.groupMemberDB.DeleteGroup(ctx, []string{groupID}, tx) + }) } diff --git a/pkg/common/db/localcache/conversation.go b/pkg/common/db/localcache/conversation.go index 70a02d126..2bcb4056f 100644 --- a/pkg/common/db/localcache/conversation.go +++ b/pkg/common/db/localcache/conversation.go @@ -1,7 +1,7 @@ package localcache import ( - discoveryRegistry "Open_IM/pkg/discovery_registry" + discoveryRegistry "Open_IM/pkg/discoveryregistry" "context" "sync" ) diff --git a/pkg/common/db/localcache/group.go b/pkg/common/db/localcache/group.go index 87d9d2f27..01f299c43 100644 --- a/pkg/common/db/localcache/group.go +++ b/pkg/common/db/localcache/group.go @@ -3,7 +3,7 @@ package localcache import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" - discoveryRegistry "Open_IM/pkg/discovery_registry" + discoveryRegistry "Open_IM/pkg/discoveryregistry" "Open_IM/pkg/proto/group" "context" "sync" @@ -52,6 +52,7 @@ func (g *GroupLocalCache) GetGroupMemberIDs(ctx context.Context, groupID string) if ok && localHashInfo.memberListHash == resp.GroupAbstractInfos[0].GroupMemberListHash { return localHashInfo.userIDs, nil } + groupMembersResp, err := client.GetGroupMemberList(ctx, &group.GetGroupMemberListReq{ GroupID: groupID, }) diff --git a/pkg/discovery_registry/zk.go b/pkg/discovery_registry/zk.go deleted file mode 100644 index 7b2312cef..000000000 --- a/pkg/discovery_registry/zk.go +++ /dev/null @@ -1 +0,0 @@ -package discoveryRegistry diff --git a/pkg/discovery_registry/discovery_register.go b/pkg/discoveryregistry/discovery_register.go similarity index 98% rename from pkg/discovery_registry/discovery_register.go rename to pkg/discoveryregistry/discovery_register.go index 56b2eaf34..95284aacf 100644 --- a/pkg/discovery_registry/discovery_register.go +++ b/pkg/discoveryregistry/discovery_register.go @@ -1,4 +1,4 @@ -package discoveryRegistry +package discoveryregistry import ( "google.golang.org/grpc" diff --git a/pkg/discovery_registry/startegy.go b/pkg/discoveryregistry/startegy.go similarity index 93% rename from pkg/discovery_registry/startegy.go rename to pkg/discoveryregistry/startegy.go index 5cd84c298..79bde210e 100644 --- a/pkg/discovery_registry/startegy.go +++ b/pkg/discoveryregistry/startegy.go @@ -1,4 +1,4 @@ -package discoveryRegistry +package discoveryregistry import "google.golang.org/grpc" From 8a1702fcf7e823f9bd63af7f8fe98776a4df27a9 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 9 Feb 2023 16:15:18 +0800 Subject: [PATCH 3/3] errcode --- pkg/common/db/cache/friend.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/common/db/cache/friend.go b/pkg/common/db/cache/friend.go index 4a3834eaa..5f7fda202 100644 --- a/pkg/common/db/cache/friend.go +++ b/pkg/common/db/cache/friend.go @@ -56,7 +56,7 @@ func (f *FriendCacheRedis) getFriendKey(ownerUserID, friendUserID string) string return friendKey + ownerUserID + "-" + friendUserID } -func (f *FriendCacheRedis) GetFriendIDs(ctx context.Context, ownerUserID string) (friendIDs []string, err error) { +func (f *FriendCacheRedis) GetFriendIDs(ctx context.Context, ownerUserID string, fn func(ctx context.Context, ownerUserID string) (friendIDs []string, err error)) (friendIDs []string, err error) { getFriendIDs := func() (string, error) { friendIDs, err := f.friendDB.GetFriendIDs(ctx, ownerUserID) if err != nil { @@ -110,7 +110,7 @@ func (f *FriendCacheRedis) DelTwoWayFriendIDs(ctx context.Context, ownerUserID s return f.rcClient.TagAsDeleted(f.getTwoWayFriendsIDsKey(ownerUserID)) } -func (f *FriendCacheRedis) GetFriend(ctx context.Context, ownerUserID, friendUserID string) (friend *relationTb.FriendModel, err error) { +func (f *FriendCacheRedis) GetFriend(ctx context.Context, ownerUserID, friendUserID string, fn func(ctx context.Context, ownerUserID, friendUserID string) (friend *relationTb.FriendModel, err error)) (friend *relationTb.FriendModel, err error) { getFriend := func() (string, error) { friend, err = f.friendDB.Take(ctx, ownerUserID, friendUserID) if err != nil {