From 414915eb3babd3e687a5e7bc480472dd225fc9e7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 9 Feb 2023 14:40:49 +0800 Subject: [PATCH] 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) }