mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
errcode
This commit is contained in:
parent
8c6c7ee21f
commit
414915eb3b
@ -14,7 +14,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/middleware"
|
"Open_IM/pkg/common/middleware"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"flag"
|
"flag"
|
||||||
@ -98,7 +98,7 @@ func main() {
|
|||||||
//group related routing group
|
//group related routing group
|
||||||
groupRouterGroup := r.Group("/group")
|
groupRouterGroup := r.Group("/group")
|
||||||
groupRouterGroup.Use(func(c *gin.Context) {
|
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 {
|
if err != nil {
|
||||||
c.String(400, err.Error())
|
c.String(400, err.Error())
|
||||||
c.Abort()
|
c.Abort()
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
rpc "Open_IM/pkg/proto/auth"
|
rpc "Open_IM/pkg/proto/auth"
|
||||||
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -165,7 +165,7 @@ func ParseToken(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var expireTime int64
|
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 {
|
if !ok {
|
||||||
errMsg := params.OperationID + " " + "GetUserIDFromTokenExpireTime failed " + errInfo
|
errMsg := params.OperationID + " " + "GetUserIDFromTokenExpireTime failed " + errInfo
|
||||||
log.NewError(params.OperationID, errMsg)
|
log.NewError(params.OperationID, errMsg)
|
||||||
@ -204,7 +204,7 @@ func ForceLogout(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
api "Open_IM/pkg/api_struct"
|
api "Open_IM/pkg/api_struct"
|
||||||
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ func SetClientInitConfig(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
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 {
|
if err != nil {
|
||||||
errMsg := "ParseTokenGetUserID failed " + err.Error() + c.Request.Header.Get("token")
|
errMsg := "ParseTokenGetUserID failed " + err.Error() + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg, errMsg)
|
log.NewError(req.OperationID, errMsg, errMsg)
|
||||||
@ -52,7 +52,7 @@ func GetClientInitConfig(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
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 {
|
if err != nil {
|
||||||
errMsg := "ParseTokenGetUserID failed " + err.Error() + c.Request.Header.Get("token")
|
errMsg := "ParseTokenGetUserID failed " + err.Error() + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg, errMsg)
|
log.NewError(req.OperationID, errMsg, errMsg)
|
||||||
|
@ -5,7 +5,7 @@ package friend
|
|||||||
// api "Open_IM/pkg/api_struct"
|
// api "Open_IM/pkg/api_struct"
|
||||||
// "Open_IM/pkg/common/config"
|
// "Open_IM/pkg/common/config"
|
||||||
// "Open_IM/pkg/common/log"
|
// "Open_IM/pkg/common/log"
|
||||||
// "Open_IM/pkg/common/token_verify"
|
// "Open_IM/pkg/common/tokenverify"
|
||||||
// "Open_IM/pkg/getcdv3"
|
// "Open_IM/pkg/getcdv3"
|
||||||
// rpc "Open_IM/pkg/proto/friend"
|
// rpc "Open_IM/pkg/proto/friend"
|
||||||
// open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
// open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -39,7 +39,7 @@ package friend
|
|||||||
// utils.CopyStructFields(req.CommID, ¶ms)
|
// utils.CopyStructFields(req.CommID, ¶ms)
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -84,7 +84,7 @@ package friend
|
|||||||
// utils.CopyStructFields(req, ¶ms)
|
// utils.CopyStructFields(req, ¶ms)
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.OperationID, errMsg)
|
// log.NewError(req.OperationID, errMsg)
|
||||||
@ -146,7 +146,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -202,7 +202,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -258,7 +258,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -312,7 +312,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -373,7 +373,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -427,7 +427,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -480,7 +480,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -535,7 +535,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -591,7 +591,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
@ -647,7 +647,7 @@ package friend
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.CommID.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.CommID.OperationID, errMsg)
|
// log.NewError(req.CommID.OperationID, errMsg)
|
||||||
|
@ -6,7 +6,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/common/tracelog"
|
"Open_IM/pkg/common/tracelog"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
rpc "Open_IM/pkg/proto/group"
|
rpc "Open_IM/pkg/proto/group"
|
||||||
@ -52,7 +52,7 @@ func KickGroupMember(c *gin.Context) {
|
|||||||
utils.CopyStructFields(req, ¶ms)
|
utils.CopyStructFields(req, ¶ms)
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -115,7 +115,7 @@ func GetGroupMembersInfo(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -159,7 +159,7 @@ func GetGroupMemberList(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -216,7 +216,7 @@ func GetGroupAllMemberList(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -272,7 +272,7 @@ func GetJoinedGroupList(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -333,7 +333,7 @@ func InviteUserToGroup(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -406,7 +406,7 @@ func InviteUserToGroup(c *gin.Context) {
|
|||||||
//
|
//
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.OperationID, errMsg)
|
// log.NewError(req.OperationID, errMsg)
|
||||||
@ -471,7 +471,7 @@ func GetRecvGroupApplicationList(c *gin.Context) {
|
|||||||
utils.CopyStructFields(req, params)
|
utils.CopyStructFields(req, params)
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -542,7 +542,7 @@ func GetGroupsInfo(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -611,7 +611,7 @@ func ApplicationGroupResponse(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -665,7 +665,7 @@ func JoinGroup(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -718,7 +718,7 @@ func QuitGroup(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -772,7 +772,7 @@ func QuitGroup(c *gin.Context) {
|
|||||||
// argsHandle(¶ms, req)
|
// argsHandle(¶ms, req)
|
||||||
// var ok bool
|
// var ok bool
|
||||||
// var errInfo string
|
// 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 {
|
// if !ok {
|
||||||
// errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.OperationID, errMsg)
|
// log.NewError(req.OperationID, errMsg)
|
||||||
@ -845,7 +845,7 @@ func TransferGroupOwner(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -899,7 +899,7 @@ func DismissGroup(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -953,7 +953,7 @@ func MuteGroupMember(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -1009,7 +1009,7 @@ func CancelMuteGroupMember(c *gin.Context) {
|
|||||||
utils.CopyStructFields(req, ¶ms)
|
utils.CopyStructFields(req, ¶ms)
|
||||||
|
|
||||||
//var err error
|
//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)
|
// tracelog.WriteErrorResponse(nCtx, "ParseUserIDFromToken", err)
|
||||||
// return
|
// return
|
||||||
//}
|
//}
|
||||||
@ -1053,7 +1053,7 @@ func MuteGroup(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -1107,7 +1107,7 @@ func CancelMuteGroup(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -1151,7 +1151,7 @@ func SetGroupMemberNickname(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -1205,7 +1205,7 @@ func SetGroupMemberInfo(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req)
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req)
|
||||||
var opUserID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -1262,7 +1262,7 @@ func GetGroupAbstractInfo(c *gin.Context) {
|
|||||||
GroupMemberNumber int32 `json:"groupMemberNumber"`
|
GroupMemberNumber int32 `json:"groupMemberNumber"`
|
||||||
GroupMemberListHash uint64 `json:"groupMemberListHash"`
|
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())
|
common.ApiToRpc(c, &api.GetGroupAbstractInfoReq{}, &GetGroupAbstractInfoResp{}, config.Config.RpcRegisterName.OpenImGroupName, rpc.NewGroupClient, utils.GetSelfFuncName())
|
||||||
|
|
||||||
//var (
|
//var (
|
||||||
@ -1275,7 +1275,7 @@ func GetGroupAbstractInfo(c *gin.Context) {
|
|||||||
// c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
|
// c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
|
||||||
// return
|
// 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 {
|
//if !ok {
|
||||||
// errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
// errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
// log.NewError(req.OperationID, errMsg)
|
// log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
api "Open_IM/pkg/api_struct"
|
api "Open_IM/pkg/api_struct"
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
rpc "Open_IM/pkg/proto/group"
|
rpc "Open_IM/pkg/proto/group"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
@ -23,7 +23,7 @@ func GetJoinedSuperGroupList(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -59,7 +59,7 @@ func GetSuperGroupsInfo(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbChat "Open_IM/pkg/proto/msg"
|
pbChat "Open_IM/pkg/proto/msg"
|
||||||
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -174,7 +174,7 @@ func ManagementSendMsg(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
log.NewInfo(params.OperationID, data, params)
|
log.NewInfo(params.OperationID, data, params)
|
||||||
token := c.Request.Header.Get("token")
|
token := c.Request.Header.Get("token")
|
||||||
claims, err := token_verify.ParseToken(token, params.OperationID)
|
claims, err := tokenverify.ParseToken(token, params.OperationID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.NewError(params.OperationID, "parse token failed", err.Error(), token)
|
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": ""})
|
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)
|
log.NewInfo(params.OperationID, data, params)
|
||||||
token := c.Request.Header.Get("token")
|
token := c.Request.Header.Get("token")
|
||||||
claims, err := token_verify.ParseToken(token, params.OperationID)
|
claims, err := tokenverify.ParseToken(token, params.OperationID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.NewError(params.OperationID, "parse token failed", err.Error())
|
log.NewError(params.OperationID, "parse token failed", err.Error())
|
||||||
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "parse token failed", "sendTime": 0, "MsgID": ""})
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "parse token failed", "sendTime": 0, "MsgID": ""})
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbRelay "Open_IM/pkg/proto/relay"
|
pbRelay "Open_IM/pkg/proto/relay"
|
||||||
rpc "Open_IM/pkg/proto/user"
|
rpc "Open_IM/pkg/proto/user"
|
||||||
@ -46,7 +46,7 @@ func GetAllUsersUid(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -101,7 +101,7 @@ func AccountCheck(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -144,7 +144,7 @@ func GetUsersOnlineStatus(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
rpc "Open_IM/pkg/proto/msg"
|
rpc "Open_IM/pkg/proto/msg"
|
||||||
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -46,7 +46,7 @@ func DelMsg(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -88,7 +88,7 @@ func DelSuperGroupMsg(c *gin.Context) {
|
|||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req)
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req)
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + rpcReq.OpUserID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + rpcReq.OpUserID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -194,7 +194,7 @@ func ClearMsg(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -244,7 +244,7 @@ func SetMsgMinSeq(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
rpc "Open_IM/pkg/proto/msg"
|
rpc "Open_IM/pkg/proto/msg"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
@ -33,7 +33,7 @@ func SetMessageReactionExtensions(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -82,7 +82,7 @@ func GetMessageListReactionExtensions(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -128,7 +128,7 @@ func AddMessageReactionExtensions(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -173,7 +173,7 @@ func DeleteMessageReactionExtensions(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -3,7 +3,7 @@ package msg
|
|||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbChat "Open_IM/pkg/proto/msg"
|
pbChat "Open_IM/pkg/proto/msg"
|
||||||
sdk_ws "Open_IM/pkg/proto/sdk_ws"
|
sdk_ws "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -28,7 +28,7 @@ func GetSeq(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
token := c.Request.Header.Get("token")
|
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()})
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "token validate err" + err.Error()})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package msg
|
|||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
"Open_IM/pkg/proto/msg"
|
"Open_IM/pkg/proto/msg"
|
||||||
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -39,7 +39,7 @@ func PullMsgBySeqList(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
token := c.Request.Header.Get("token")
|
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 {
|
if err != nil {
|
||||||
log.NewError(params.OperationID, utils.GetSelfFuncName(), err.Error(), token, params.SendID)
|
log.NewError(params.OperationID, utils.GetSelfFuncName(), err.Error(), token, params.SendID)
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
api "Open_IM/pkg/api_struct"
|
api "Open_IM/pkg/api_struct"
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbOffice "Open_IM/pkg/proto/office"
|
pbOffice "Open_IM/pkg/proto/office"
|
||||||
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -44,7 +44,7 @@ func GetUserTags(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -110,7 +110,7 @@ func CreateTag(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -170,7 +170,7 @@ func DeleteTag(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -230,7 +230,7 @@ func SetTag(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -290,7 +290,7 @@ func SendMsg2Tag(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -347,7 +347,7 @@ func GetTagSendLogs(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -417,7 +417,7 @@ func GetUserTagByID(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
api "Open_IM/pkg/api_struct"
|
api "Open_IM/pkg/api_struct"
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbOffice "Open_IM/pkg/proto/office"
|
pbOffice "Open_IM/pkg/proto/office"
|
||||||
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -44,7 +44,7 @@ func CreateOneWorkMoment(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -108,7 +108,7 @@ func DeleteOneWorkMoment(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -171,7 +171,7 @@ func LikeOneWorkMoment(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -233,7 +233,7 @@ func CommentOneWorkMoment(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -297,7 +297,7 @@ func DeleteComment(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -355,7 +355,7 @@ func GetWorkMomentByID(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -421,7 +421,7 @@ func GetUserWorkMoments(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var opUserID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -534,7 +534,7 @@ func GetUserFriendWorkMoments(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -637,7 +637,7 @@ func SetUserWorkMomentsLevel(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
var errInfo string
|
||||||
var userID 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"fmt"
|
"fmt"
|
||||||
openapi "github.com/alibabacloud-go/darabonba-openapi/client"
|
openapi "github.com/alibabacloud-go/darabonba-openapi/client"
|
||||||
sts20150401 "github.com/alibabacloud-go/sts-20150401/client"
|
sts20150401 "github.com/alibabacloud-go/sts-20150401/client"
|
||||||
@ -58,7 +58,7 @@ func AliOSSCredential(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var userID string
|
var userID string
|
||||||
var errInfo 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -30,7 +30,7 @@ func AwsStorageCredential(c *gin.Context) {
|
|||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
api "Open_IM/pkg/api_struct"
|
api "Open_IM/pkg/api_struct"
|
||||||
"Open_IM/pkg/common/db"
|
"Open_IM/pkg/common/db"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ func FcmUpdateToken(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req)
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -6,8 +6,8 @@ import (
|
|||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
_ "Open_IM/pkg/common/token_verify"
|
_ "Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@ -53,7 +53,7 @@ func MinioUploadFile(c *gin.Context) {
|
|||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req)
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req)
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -127,7 +127,7 @@ func MinioStorageCredential(c *gin.Context) {
|
|||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
api "Open_IM/pkg/api_struct"
|
api "Open_IM/pkg/api_struct"
|
||||||
"Open_IM/pkg/common/db"
|
"Open_IM/pkg/common/db"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -21,7 +21,7 @@ func GetRTCInvitationInfo(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -66,7 +66,7 @@ func GetRTCInvitationInfoStartApp(c *gin.Context) {
|
|||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
api "Open_IM/pkg/api_struct"
|
api "Open_IM/pkg/api_struct"
|
||||||
"Open_IM/pkg/common/db"
|
"Open_IM/pkg/common/db"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -24,14 +24,14 @@ func SetAppBadge(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo, opUserID string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": errMsg})
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": errMsg})
|
||||||
return
|
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)
|
log.NewError(req.OperationID, "CheckAccess false ", opUserID, req.FromUserID)
|
||||||
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "no permission"})
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "no permission"})
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"github.com/fatih/structs"
|
"github.com/fatih/structs"
|
||||||
|
|
||||||
//"github.com/fatih/structs"
|
//"github.com/fatih/structs"
|
||||||
@ -26,7 +26,7 @@ func TencentCloudStorageCredential(c *gin.Context) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var userID string
|
var userID string
|
||||||
var errInfo 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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -6,7 +6,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
cacheRpc "Open_IM/pkg/proto/cache"
|
cacheRpc "Open_IM/pkg/proto/cache"
|
||||||
pbRelay "Open_IM/pkg/proto/relay"
|
pbRelay "Open_IM/pkg/proto/relay"
|
||||||
@ -32,7 +32,7 @@ func GetUsersInfoFromCache(c *gin.Context) {
|
|||||||
utils.CopyStructFields(req, ¶ms)
|
utils.CopyStructFields(req, ¶ms)
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -80,7 +80,7 @@ func GetFriendIDListFromCache(c *gin.Context) {
|
|||||||
reqPb.OperationID = req.OperationID
|
reqPb.OperationID = req.OperationID
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -122,7 +122,7 @@ func GetBlackIDListFromCache(c *gin.Context) {
|
|||||||
reqPb.OperationID = req.OperationID
|
reqPb.OperationID = req.OperationID
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -172,7 +172,7 @@ func GetUsersPublicInfo(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -232,7 +232,7 @@ func UpdateUserInfo(c *gin.Context) {
|
|||||||
req.OperationID = params.OperationID
|
req.OperationID = params.OperationID
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -283,7 +283,7 @@ func SetGlobalRecvMessageOpt(c *gin.Context) {
|
|||||||
req.OperationID = params.OperationID
|
req.OperationID = params.OperationID
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -336,7 +336,7 @@ func GetSelfUserInfo(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(params.OperationID, errMsg)
|
log.NewError(params.OperationID, errMsg)
|
||||||
@ -397,7 +397,7 @@ func GetUsersOnlineStatus(c *gin.Context) {
|
|||||||
|
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
@ -471,7 +471,7 @@ func GetUsers(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
var ok bool
|
var ok bool
|
||||||
var errInfo string
|
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 {
|
if !ok {
|
||||||
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
|
||||||
log.NewError(req.OperationID, errMsg)
|
log.NewError(req.OperationID, errMsg)
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
commonPb "Open_IM/pkg/proto/sdk_ws"
|
common "Open_IM/pkg/proto/sdk_ws"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -29,7 +29,7 @@ func GetGroups(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
reqPb.OperationID = utils.OperationIDGenerator()
|
reqPb.OperationID = utils.OperationIDGenerator()
|
||||||
log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
||||||
reqPb.Pagination = &commonPb.RequestPagination{}
|
reqPb.Pagination = &common.RequestPagination{}
|
||||||
utils.CopyStructFields(&reqPb.Pagination, req)
|
utils.CopyStructFields(&reqPb.Pagination, req)
|
||||||
etcdConn := rpc.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID)
|
etcdConn := rpc.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID)
|
||||||
if etcdConn == nil {
|
if etcdConn == nil {
|
||||||
@ -74,7 +74,7 @@ func GetGroupMembers(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
reqPb.OperationID = utils.OperationIDGenerator()
|
reqPb.OperationID = utils.OperationIDGenerator()
|
||||||
log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req)
|
||||||
reqPb.Pagination = &commonPb.RequestPagination{
|
reqPb.Pagination = &common.RequestPagination{
|
||||||
PageNumber: int32(req.PageNumber),
|
PageNumber: int32(req.PageNumber),
|
||||||
ShowNumber: int32(req.ShowNumber),
|
ShowNumber: int32(req.ShowNumber),
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbAdminCms "Open_IM/pkg/proto/admin_cms"
|
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"
|
pb "Open_IM/pkg/proto/user"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package check
|
package check
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"context"
|
"context"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -10,5 +10,5 @@ func Access(ctx context.Context, ownerUserID string) (err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return token_verify.CheckAccessV3(ctx, ownerUserID)
|
return tokenverify.CheckAccessV3(ctx, ownerUserID)
|
||||||
}
|
}
|
||||||
|
@ -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)
|
|
||||||
|
|
||||||
}
|
|
@ -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
|
|
||||||
}
|
|
@ -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})
|
|
||||||
|
|
||||||
}
|
|
@ -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)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
}
|
|
@ -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"})
|
|
||||||
}
|
|
@ -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
|
|
||||||
//}
|
|
@ -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
|
|
||||||
}
|
|
@ -1,5 +0,0 @@
|
|||||||
package register
|
|
||||||
|
|
||||||
type SMS interface {
|
|
||||||
SendSms(code int, phoneNumber string) (resp interface{}, err error)
|
|
||||||
}
|
|
@ -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
|
|
||||||
|
|
||||||
}
|
|
@ -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})
|
|
||||||
}
|
|
||||||
}
|
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
promePkg "Open_IM/pkg/common/prometheus"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbRelay "Open_IM/pkg/proto/relay"
|
pbRelay "Open_IM/pkg/proto/relay"
|
||||||
sdk_ws "Open_IM/pkg/proto/sdk_ws"
|
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) {
|
func (r *RPCServer) GetUsersOnlineStatus(_ context.Context, req *pbRelay.GetUsersOnlineStatusReq) (*pbRelay.GetUsersOnlineStatusResp, error) {
|
||||||
log.NewInfo(req.OperationID, "rpc GetUsersOnlineStatus arrived server", req.String())
|
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)
|
log.NewError(req.OperationID, "no permission GetUsersOnlineStatus ", req.OpUserID)
|
||||||
return &pbRelay.GetUsersOnlineStatusResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil
|
return &pbRelay.GetUsersOnlineStatusResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ import (
|
|||||||
"Open_IM/pkg/common/db"
|
"Open_IM/pkg/common/db"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
promePkg "Open_IM/pkg/common/prometheus"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbRelay "Open_IM/pkg/proto/relay"
|
pbRelay "Open_IM/pkg/proto/relay"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
@ -444,7 +444,7 @@ func (ws *WServer) headerCheck(w http.ResponseWriter, r *http.Request, operation
|
|||||||
status := http.StatusUnauthorized
|
status := http.StatusUnauthorized
|
||||||
query := r.URL.Query()
|
query := r.URL.Query()
|
||||||
if len(query["token"]) != 0 && len(query["sendID"]) != 0 && len(query["platformID"]) != 0 {
|
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) {
|
if errors.Is(err, constant.ErrTokenExpired) {
|
||||||
status = int(constant.ErrTokenExpired.ErrCode)
|
status = int(constant.ErrTokenExpired.ErrCode)
|
||||||
}
|
}
|
||||||
|
@ -7,12 +7,12 @@ import (
|
|||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/http"
|
"Open_IM/pkg/common/http"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
commonPb "Open_IM/pkg/proto/sdk_ws"
|
common "Open_IM/pkg/proto/sdk_ws"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
http2 "net/http"
|
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}
|
callbackResp := cbApi.CommonCallbackResp{OperationID: operationID}
|
||||||
if !config.Config.Callback.CallbackOfflinePush.Enable {
|
if !config.Config.Callback.CallbackOfflinePush.Enable {
|
||||||
return callbackResp
|
return callbackResp
|
||||||
@ -60,7 +60,7 @@ func callbackOfflinePush(operationID string, userIDList []string, msg *commonPb.
|
|||||||
return callbackResp
|
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}
|
callbackResp := cbApi.CommonCallbackResp{OperationID: operationID}
|
||||||
if !config.Config.Callback.CallbackOnlinePush.Enable || utils.IsContain(msg.SendID, userIDList) {
|
if !config.Config.Callback.CallbackOnlinePush.Enable || utils.IsContain(msg.SendID, userIDList) {
|
||||||
return callbackResp
|
return callbackResp
|
||||||
@ -104,7 +104,7 @@ func callbackOnlinePush(operationID string, userIDList []string, msg *commonPb.M
|
|||||||
return callbackResp
|
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)
|
log.Debug(operationID, utils.GetSelfFuncName(), groupID, msg.String(), pushToUserList)
|
||||||
callbackResp := cbApi.CommonCallbackResp{OperationID: operationID}
|
callbackResp := cbApi.CommonCallbackResp{OperationID: operationID}
|
||||||
if !config.Config.Callback.CallbackBeforeSuperGroupOnlinePush.Enable {
|
if !config.Config.Callback.CallbackBeforeSuperGroupOnlinePush.Enable {
|
||||||
|
@ -8,11 +8,10 @@ import (
|
|||||||
"Open_IM/pkg/common/db/relation"
|
"Open_IM/pkg/common/db/relation"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
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/common/tracelog"
|
||||||
"Open_IM/pkg/getcdv3"
|
|
||||||
pbAdminCMS "Open_IM/pkg/proto/admin_cms"
|
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"
|
grpcPrometheus "github.com/grpc-ecosystem/go-grpc-prometheus"
|
||||||
|
|
||||||
@ -45,15 +44,15 @@ func NewAdminCMSServer(port int) *adminCMSServer {
|
|||||||
admin := &adminCMSServer{
|
admin := &adminCMSServer{
|
||||||
rpcPort: port,
|
rpcPort: port,
|
||||||
rpcRegisterName: config.Config.RpcRegisterName.OpenImAdminCMSName,
|
rpcRegisterName: config.Config.RpcRegisterName.OpenImAdminCMSName,
|
||||||
etcdSchema: config.Config.Etcd.EtcdSchema,
|
etcdSchema: config.Config.Zookeeper.Schema,
|
||||||
etcdAddr: config.Config.Etcd.EtcdAddr,
|
etcdAddr: config.Config.Zookeeper.ZkAddr,
|
||||||
}
|
}
|
||||||
var mysql relation.Mysql
|
var mysql relation.Mysql
|
||||||
var redis cache.RedisClient
|
var redis cache.RedisClient
|
||||||
mysql.InitConn()
|
mysql.InitConn()
|
||||||
redis.InitRedis()
|
redis.InitRedis()
|
||||||
admin.userInterface = controller.NewUserController(mysql.GormConn())
|
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.adminCMSInterface = controller.NewAdminCMSController(mysql.GormConn())
|
||||||
admin.chatLogInterface = controller.NewChatLogController(mysql.GormConn())
|
admin.chatLogInterface = controller.NewChatLogController(mysql.GormConn())
|
||||||
return admin
|
return admin
|
||||||
@ -68,7 +67,6 @@ func (s *adminCMSServer) Run() {
|
|||||||
listenIP = config.Config.ListenIP
|
listenIP = config.Config.ListenIP
|
||||||
}
|
}
|
||||||
address := listenIP + ":" + strconv.Itoa(s.rpcPort)
|
address := listenIP + ":" + strconv.Itoa(s.rpcPort)
|
||||||
|
|
||||||
//listener network
|
//listener network
|
||||||
listener, err := net.Listen("tcp", address)
|
listener, err := net.Listen("tcp", address)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -116,7 +114,7 @@ func (s *adminCMSServer) AdminLogin(ctx context.Context, req *pbAdminCMS.AdminLo
|
|||||||
resp := &pbAdminCMS.AdminLoginResp{}
|
resp := &pbAdminCMS.AdminLoginResp{}
|
||||||
for i, adminID := range config.Config.Manager.AppManagerUid {
|
for i, adminID := range config.Config.Manager.AppManagerUid {
|
||||||
if adminID == req.AdminID && config.Config.Manager.Secrets[i] == req.Secret {
|
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 {
|
if err != nil {
|
||||||
log.NewError(tracelog.GetOperationID(ctx), utils.GetSelfFuncName(), "generate token failed", "adminID: ", adminID, err.Error())
|
log.NewError(tracelog.GetOperationID(ctx), utils.GetSelfFuncName(), "generate token failed", "adminID: ", adminID, err.Error())
|
||||||
return nil, err
|
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) {
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -529,8 +527,8 @@ func (s *adminCMSServer) GetUserFriends(ctx context.Context, req *pbAdminCMS.Get
|
|||||||
resp.FriendNums = int32(count)
|
resp.FriendNums = int32(count)
|
||||||
}
|
}
|
||||||
for _, v := range friendList {
|
for _, v := range friendList {
|
||||||
friendInfo := &server_api_params.FriendInfo{}
|
friendInfo := &common.FriendInfo{}
|
||||||
userInfo := &server_api_params.UserInfo{UserID: v.FriendUserID, Nickname: v.Nickname}
|
userInfo := &common.UserInfo{UserID: v.FriendUserID, Nickname: v.Nickname}
|
||||||
utils.CopyStructFields(friendInfo, v)
|
utils.CopyStructFields(friendInfo, v)
|
||||||
friendInfo.FriendUser = userInfo
|
friendInfo.FriendUser = userInfo
|
||||||
resp.FriendInfoList = append(resp.FriendInfoList, friendInfo)
|
resp.FriendInfoList = append(resp.FriendInfoList, friendInfo)
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
"Open_IM/pkg/common/db/controller"
|
"Open_IM/pkg/common/db/controller"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
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/common/tracelog"
|
||||||
discoveryRegistry "Open_IM/pkg/discovery_registry"
|
discoveryRegistry "Open_IM/pkg/discovery_registry"
|
||||||
pbAuth "Open_IM/pkg/proto/auth"
|
pbAuth "Open_IM/pkg/proto/auth"
|
||||||
@ -40,8 +40,8 @@ func (s *rpcAuth) UserToken(ctx context.Context, req *pbAuth.UserTokenReq) (*pbA
|
|||||||
return &resp, nil
|
return &resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *rpcAuth) parseToken(ctx context.Context, tokensString, operationID string) (claims *token_verify.Claims, err error) {
|
func (s *rpcAuth) parseToken(ctx context.Context, tokensString, operationID string) (claims *tokenverify.Claims, err error) {
|
||||||
claims, err = token_verify.GetClaimFromToken(tokensString)
|
claims, err = tokenverify.GetClaimFromToken(tokensString)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, utils.Wrap(err, "")
|
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) {
|
func (s *rpcAuth) ForceLogout(ctx context.Context, req *pbAuth.ForceLogoutReq) (*pbAuth.ForceLogoutResp, error) {
|
||||||
resp := pbAuth.ForceLogoutResp{}
|
resp := pbAuth.ForceLogoutResp{}
|
||||||
if err := token_verify.CheckAdmin(ctx); err != nil {
|
if err := tokenverify.CheckAdmin(ctx); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err := s.forceKickOff(ctx, req.UserID, req.PlatformID, tracelog.GetOperationID(ctx)); err != nil {
|
if err := s.forceKickOff(ctx, req.UserID, req.PlatformID, tracelog.GetOperationID(ctx)); err != nil {
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/internal/common/convert"
|
"Open_IM/internal/common/convert"
|
||||||
chat "Open_IM/internal/rpc/msg"
|
chat "Open_IM/internal/rpc/msg"
|
||||||
"Open_IM/pkg/common/db/table/relation"
|
"Open_IM/pkg/common/db/table/relation"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/common/tracelog"
|
"Open_IM/pkg/common/tracelog"
|
||||||
pbFriend "Open_IM/pkg/proto/friend"
|
pbFriend "Open_IM/pkg/proto/friend"
|
||||||
"context"
|
"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) {
|
func (s *friendServer) AddBlack(ctx context.Context, req *pbFriend.AddBlackReq) (*pbFriend.AddBlackResp, error) {
|
||||||
resp := &pbFriend.AddBlackResp{}
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
black := relation.BlackModel{OwnerUserID: req.OwnerUserID, BlockUserID: req.BlackUserID, OperatorUserID: tracelog.GetOpUserID(ctx)}
|
black := relation.BlackModel{OwnerUserID: req.OwnerUserID, BlockUserID: req.BlackUserID, OperatorUserID: tracelog.GetOpUserID(ctx)}
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/middleware"
|
"Open_IM/pkg/common/middleware"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
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/common/tracelog"
|
||||||
pbFriend "Open_IM/pkg/proto/friend"
|
pbFriend "Open_IM/pkg/proto/friend"
|
||||||
pbUser "Open_IM/pkg/proto/user"
|
pbUser "Open_IM/pkg/proto/user"
|
||||||
@ -130,7 +130,7 @@ func (s *friendServer) Run() {
|
|||||||
// ok
|
// ok
|
||||||
func (s *friendServer) ApplyToAddFriend(ctx context.Context, req *pbFriend.ApplyToAddFriendReq) (resp *pbFriend.ApplyToAddFriendResp, err error) {
|
func (s *friendServer) ApplyToAddFriend(ctx context.Context, req *pbFriend.ApplyToAddFriendReq) (resp *pbFriend.ApplyToAddFriendResp, err error) {
|
||||||
resp = &pbFriend.ApplyToAddFriendResp{}
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
if err := callbackBeforeAddFriendV1(ctx, req); err != nil {
|
if err := callbackBeforeAddFriendV1(ctx, req); err != nil {
|
||||||
@ -159,7 +159,7 @@ func (s *friendServer) ApplyToAddFriend(ctx context.Context, req *pbFriend.Apply
|
|||||||
// ok
|
// ok
|
||||||
func (s *friendServer) ImportFriends(ctx context.Context, req *pbFriend.ImportFriendReq) (resp *pbFriend.ImportFriendResp, err error) {
|
func (s *friendServer) ImportFriends(ctx context.Context, req *pbFriend.ImportFriendReq) (resp *pbFriend.ImportFriendResp, err error) {
|
||||||
resp = &pbFriend.ImportFriendResp{}
|
resp = &pbFriend.ImportFriendResp{}
|
||||||
if err := token_verify.CheckAdmin(ctx); err != nil {
|
if err := tokenverify.CheckAdmin(ctx); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if _, err := check.GetUsersInfo(ctx, req.OwnerUserID, req.FriendUserIDs); err != nil {
|
if _, err := check.GetUsersInfo(ctx, req.OwnerUserID, req.FriendUserIDs); err != nil {
|
||||||
|
@ -13,7 +13,7 @@ import (
|
|||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/middleware"
|
"Open_IM/pkg/common/middleware"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
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/common/tracelog"
|
||||||
discoveryRegistry "Open_IM/pkg/discovery_registry"
|
discoveryRegistry "Open_IM/pkg/discovery_registry"
|
||||||
pbGroup "Open_IM/pkg/proto/group"
|
pbGroup "Open_IM/pkg/proto/group"
|
||||||
@ -128,7 +128,7 @@ func (s *groupServer) Run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *groupServer) CheckGroupAdmin(ctx context.Context, groupID string) error {
|
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))
|
groupMember, err := s.GroupInterface.TakeGroupMember(ctx, groupID, tracelog.GetOpUserID(ctx))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
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) {
|
func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupReq) (*pbGroup.CreateGroupResp, error) {
|
||||||
resp := &pbGroup.CreateGroupResp{GroupInfo: &open_im_sdk.GroupInfo{}}
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
if req.OwnerUserID == "" {
|
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) {
|
func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJoinedGroupListReq) (*pbGroup.GetJoinedGroupListResp, error) {
|
||||||
resp := &pbGroup.GetJoinedGroupListResp{}
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
total, members, err := s.GroupInterface.PageGroupMember(ctx, nil, []string{req.FromUserID}, nil, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
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, ","))
|
return nil, constant.ErrArgs.Wrap("user not found " + strings.Join(ids, ","))
|
||||||
}
|
}
|
||||||
if group.NeedVerification == constant.AllNeedVerification {
|
if group.NeedVerification == constant.AllNeedVerification {
|
||||||
if !token_verify.IsAppManagerUid(ctx) {
|
if !tokenverify.IsAppManagerUid(ctx) {
|
||||||
opUserID := tracelog.GetOpUserID(ctx)
|
opUserID := tracelog.GetOpUserID(ctx)
|
||||||
member, ok := memberMap[opUserID]
|
member, ok := memberMap[opUserID]
|
||||||
if !ok {
|
if !ok {
|
||||||
@ -418,7 +418,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
|
|||||||
return nil, constant.ErrUserIDNotFound.Wrap(userID)
|
return nil, constant.ErrUserIDNotFound.Wrap(userID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !token_verify.IsAppManagerUid(ctx) {
|
if !tokenverify.IsAppManagerUid(ctx) {
|
||||||
member := memberMap[opUserID]
|
member := memberMap[opUserID]
|
||||||
if member == nil {
|
if member == nil {
|
||||||
return nil, constant.ErrNoPermission.Wrap(fmt.Sprintf("opUserID %s no in group", opUserID))
|
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) {
|
if !utils.Contain(req.HandleResult, constant.GroupResponseAgree, constant.GroupResponseRefuse) {
|
||||||
return nil, constant.ErrArgs.Wrap("HandleResult unknown")
|
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)
|
groupMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupID, req.FromUserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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) {
|
func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInfoReq) (*pbGroup.SetGroupInfoResp, error) {
|
||||||
resp := &pbGroup.SetGroupInfoResp{}
|
resp := &pbGroup.SetGroupInfoResp{}
|
||||||
if !token_verify.IsAppManagerUid(ctx) {
|
if !tokenverify.IsAppManagerUid(ctx) {
|
||||||
groupMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupInfoForSet.GroupID, tracelog.GetOpUserID(ctx))
|
groupMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupInfoForSet.GroupID, tracelog.GetOpUserID(ctx))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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)
|
return nil, constant.ErrArgs.Wrap("NewOwnerUser not in group " + req.NewOwnerUserID)
|
||||||
}
|
}
|
||||||
oldOwner := memberMap[req.OldOwnerUserID]
|
oldOwner := memberMap[req.OldOwnerUserID]
|
||||||
if token_verify.IsAppManagerUid(ctx) {
|
if tokenverify.IsAppManagerUid(ctx) {
|
||||||
if oldOwner == nil {
|
if oldOwner == nil {
|
||||||
oldOwner, err = s.GroupInterface.TakeGroupOwner(ctx, req.OldOwnerUserID)
|
oldOwner, err = s.GroupInterface.TakeGroupOwner(ctx, req.OldOwnerUserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -893,7 +893,7 @@ func (s *groupServer) MuteGroupMember(ctx context.Context, req *pbGroup.MuteGrou
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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)
|
opMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupID, req.UserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -916,7 +916,7 @@ func (s *groupServer) CancelMuteGroupMember(ctx context.Context, req *pbGroup.Ca
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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))
|
opMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupID, tracelog.GetOpUserID(ctx))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -985,7 +985,7 @@ func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbGroup.SetGr
|
|||||||
if req.RoleLevel != nil {
|
if req.RoleLevel != nil {
|
||||||
return nil, constant.ErrArgs.Wrap("update role level")
|
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))
|
opMember, err := s.GroupInterface.TakeGroupMember(ctx, req.GroupID, tracelog.GetOpUserID(ctx))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/db"
|
"Open_IM/pkg/common/db"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
pbChat "Open_IM/pkg/proto/msg"
|
pbChat "Open_IM/pkg/proto/msg"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
@ -12,7 +12,7 @@ import (
|
|||||||
|
|
||||||
func (rpc *rpcChat) ClearMsg(_ context.Context, req *pbChat.ClearMsgReq) (*pbChat.ClearMsgResp, error) {
|
func (rpc *rpcChat) ClearMsg(_ context.Context, req *pbChat.ClearMsgReq) (*pbChat.ClearMsgResp, error) {
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc req: ", req.String())
|
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
|
errMsg := "No permission" + req.OpUserID + req.UserID
|
||||||
log.Error(req.OperationID, errMsg)
|
log.Error(req.OperationID, errMsg)
|
||||||
return &pbChat.ClearMsgResp{ErrCode: constant.ErrNoPermission.ErrCode, ErrMsg: errMsg}, nil
|
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) {
|
func (rpc *rpcChat) SetMsgMinSeq(_ context.Context, req *pbChat.SetMsgMinSeqReq) (*pbChat.SetMsgMinSeqResp, error) {
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc req: ", req.String())
|
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
|
errMsg := "No permission" + req.OpUserID + req.UserID
|
||||||
log.Error(req.OperationID, errMsg)
|
log.Error(req.OperationID, errMsg)
|
||||||
return &pbChat.SetMsgMinSeqResp{ErrCode: constant.ErrNoPermission.ErrCode, ErrMsg: errMsg}, nil
|
return &pbChat.SetMsgMinSeqResp{ErrCode: constant.ErrNoPermission.ErrCode, ErrMsg: errMsg}, nil
|
||||||
|
@ -4,17 +4,17 @@ import (
|
|||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/db"
|
"Open_IM/pkg/common/db"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/proto/msg"
|
"Open_IM/pkg/proto/msg"
|
||||||
commonPb "Open_IM/pkg/proto/sdk_ws"
|
common "Open_IM/pkg/proto/sdk_ws"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
"time"
|
"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())
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||||
resp := &commonPb.DelMsgListResp{}
|
resp := &common.DelMsgListResp{}
|
||||||
select {
|
select {
|
||||||
case rpc.delMsgCh <- deleteMsg{
|
case rpc.delMsgCh <- deleteMsg{
|
||||||
UserID: req.UserID,
|
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) {
|
func (rpc *rpcChat) DelSuperGroupMsg(ctx context.Context, req *msg.DelSuperGroupMsgReq) (*msg.DelSuperGroupMsgResp, error) {
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
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)
|
log.NewError(req.OperationID, "CheckAccess false ", req.OpUserID, req.UserID)
|
||||||
return &msg.DelSuperGroupMsgResp{ErrCode: constant.ErrNoPermission.ErrCode, ErrMsg: constant.ErrNoPermission.ErrMsg}, nil
|
return &msg.DelSuperGroupMsgResp{ErrCode: constant.ErrNoPermission.ErrCode, ErrMsg: constant.ErrNoPermission.ErrMsg}, nil
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
utils2 "Open_IM/pkg/common/utils"
|
utils2 "Open_IM/pkg/common/utils"
|
||||||
pbGroup "Open_IM/pkg/proto/group"
|
pbGroup "Open_IM/pkg/proto/group"
|
||||||
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -24,7 +24,7 @@ import (
|
|||||||
//} creator->group
|
//} creator->group
|
||||||
|
|
||||||
func setOpUserInfo(opUserID, groupID string, groupMemberInfo *open_im_sdk.GroupMemberFullInfo) error {
|
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)
|
u, err := imdb.GetUserByUserID(opUserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return utils.Wrap(err, "GetUserByUserID failed")
|
return utils.Wrap(err, "GetUserByUserID failed")
|
||||||
|
@ -6,7 +6,7 @@ import (
|
|||||||
"Open_IM/pkg/common/db"
|
"Open_IM/pkg/common/db"
|
||||||
rocksCache "Open_IM/pkg/common/db/rocks_cache"
|
rocksCache "Open_IM/pkg/common/db/rocks_cache"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
cacheRpc "Open_IM/pkg/proto/cache"
|
cacheRpc "Open_IM/pkg/proto/cache"
|
||||||
pbConversation "Open_IM/pkg/proto/conversation"
|
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)
|
log.NewError(data.OperationID, errMsg)
|
||||||
return false, 201, errMsg, nil
|
return false, 201, errMsg, nil
|
||||||
}
|
}
|
||||||
if token_verify.IsManagerUserID(data.MsgData.SendID) {
|
if tokenverify.IsManagerUserID(data.MsgData.SendID) {
|
||||||
return true, 0, "", userIDList
|
return true, 0, "", userIDList
|
||||||
}
|
}
|
||||||
if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin {
|
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)
|
log.NewError(data.OperationID, errMsg)
|
||||||
return false, 201, errMsg, nil
|
return false, 201, errMsg, nil
|
||||||
}
|
}
|
||||||
if token_verify.IsManagerUserID(data.MsgData.SendID) {
|
if tokenverify.IsManagerUserID(data.MsgData.SendID) {
|
||||||
return true, 0, "", userIDList
|
return true, 0, "", userIDList
|
||||||
}
|
}
|
||||||
if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin {
|
if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin {
|
||||||
|
@ -10,7 +10,7 @@ import (
|
|||||||
relationTb "Open_IM/pkg/common/db/table/relation"
|
relationTb "Open_IM/pkg/common/db/table/relation"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
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/common/tracelog"
|
||||||
server_api_params "Open_IM/pkg/proto/sdk_ws"
|
server_api_params "Open_IM/pkg/proto/sdk_ws"
|
||||||
pbUser "Open_IM/pkg/proto/user"
|
pbUser "Open_IM/pkg/proto/user"
|
||||||
@ -179,7 +179,7 @@ func (s *userServer) GetAllPageFriends(ctx context.Context, ownerUserID string)
|
|||||||
// ok
|
// ok
|
||||||
func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserInfoReq) (resp *pbUser.UpdateUserInfoResp, err error) {
|
func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserInfoReq) (resp *pbUser.UpdateUserInfoResp, err error) {
|
||||||
resp = &pbUser.UpdateUserInfoResp{}
|
resp = &pbUser.UpdateUserInfoResp{}
|
||||||
err = token_verify.CheckAccessV3(ctx, req.UserInfo.UserID)
|
err = tokenverify.CheckAccessV3(ctx, req.UserInfo.UserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -240,7 +240,7 @@ func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckR
|
|||||||
if utils.Duplicate(req.CheckUserIDs) {
|
if utils.Duplicate(req.CheckUserIDs) {
|
||||||
return nil, constant.ErrArgs.Wrap("userID repeated")
|
return nil, constant.ErrArgs.Wrap("userID repeated")
|
||||||
}
|
}
|
||||||
err = token_verify.CheckAdmin(ctx)
|
err = tokenverify.CheckAdmin(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,13 @@ package callback_struct
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"Open_IM/pkg/proto/group"
|
"Open_IM/pkg/proto/group"
|
||||||
commonPb "Open_IM/pkg/proto/sdk_ws"
|
common "Open_IM/pkg/proto/sdk_ws"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CallbackBeforeCreateGroupReq struct {
|
type CallbackBeforeCreateGroupReq struct {
|
||||||
CallbackCommand string `json:"callbackCommand"`
|
CallbackCommand string `json:"callbackCommand"`
|
||||||
OperationID string `json:"operationID"`
|
OperationID string `json:"operationID"`
|
||||||
commonPb.GroupInfo
|
common.GroupInfo
|
||||||
InitMemberList []*group.GroupAddMemberInfo `json:"initMemberList"`
|
InitMemberList []*group.GroupAddMemberInfo `json:"initMemberList"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package callback_struct
|
package callback_struct
|
||||||
|
|
||||||
import commonPb "Open_IM/pkg/proto/sdk_ws"
|
import common "Open_IM/pkg/proto/sdk_ws"
|
||||||
|
|
||||||
type CallbackBeforePushReq struct {
|
type CallbackBeforePushReq struct {
|
||||||
UserStatusBatchCallbackReq
|
UserStatusBatchCallbackReq
|
||||||
*commonPb.OfflinePushInfo
|
*common.OfflinePushInfo
|
||||||
ClientMsgID string `json:"clientMsgID"`
|
ClientMsgID string `json:"clientMsgID"`
|
||||||
SendID string `json:"sendID"`
|
SendID string `json:"sendID"`
|
||||||
GroupID string `json:"groupID"`
|
GroupID string `json:"groupID"`
|
||||||
@ -16,12 +16,12 @@ type CallbackBeforePushReq struct {
|
|||||||
|
|
||||||
type CallbackBeforePushResp struct {
|
type CallbackBeforePushResp struct {
|
||||||
*CommonCallbackResp
|
*CommonCallbackResp
|
||||||
UserIDList []string `json:"userIDList"`
|
UserIDList []string `json:"userIDList"`
|
||||||
OfflinePushInfo *commonPb.OfflinePushInfo `json:"offlinePushInfo"`
|
OfflinePushInfo *common.OfflinePushInfo `json:"offlinePushInfo"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type CallbackBeforeSuperGroupOnlinePushReq struct {
|
type CallbackBeforeSuperGroupOnlinePushReq struct {
|
||||||
//*commonPb.OfflinePushInfo
|
//*common.OfflinePushInfo
|
||||||
UserStatusBaseCallback
|
UserStatusBaseCallback
|
||||||
ClientMsgID string `json:"clientMsgID"`
|
ClientMsgID string `json:"clientMsgID"`
|
||||||
SendID string `json:"sendID"`
|
SendID string `json:"sendID"`
|
||||||
@ -35,6 +35,6 @@ type CallbackBeforeSuperGroupOnlinePushReq struct {
|
|||||||
|
|
||||||
type CallbackBeforeSuperGroupOnlinePushResp struct {
|
type CallbackBeforeSuperGroupOnlinePushResp struct {
|
||||||
*CommonCallbackResp
|
*CommonCallbackResp
|
||||||
UserIDList []string `json:"userIDList"`
|
UserIDList []string `json:"userIDList"`
|
||||||
OfflinePushInfo *commonPb.OfflinePushInfo `json:"offlinePushInfo"`
|
OfflinePushInfo *common.OfflinePushInfo `json:"offlinePushInfo"`
|
||||||
}
|
}
|
||||||
|
1
pkg/common/db/cache/black.go
vendored
1
pkg/common/db/cache/black.go
vendored
@ -15,6 +15,7 @@ const (
|
|||||||
blackExpireTime = time.Second * 60 * 60 * 12
|
blackExpireTime = time.Second * 60 * 60 * 12
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// args fn will exec when no data in cache
|
||||||
type BlackCache interface {
|
type BlackCache interface {
|
||||||
//get blackIDs from cache
|
//get blackIDs from cache
|
||||||
GetBlackIDs(ctx context.Context, userID string, fn func(ctx context.Context, userID string) ([]string, error)) (blackIDs []string, err error)
|
GetBlackIDs(ctx context.Context, userID string, fn func(ctx context.Context, userID string) ([]string, error)) (blackIDs []string, err error)
|
||||||
|
1
pkg/common/db/cache/conversation.go
vendored
1
pkg/common/db/cache/conversation.go
vendored
@ -21,6 +21,7 @@ const (
|
|||||||
conversationExpireTime = time.Second * 60 * 60 * 12
|
conversationExpireTime = time.Second * 60 * 60 * 12
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// args fn will exec when no data in cache
|
||||||
type ConversationCache interface {
|
type ConversationCache interface {
|
||||||
// get user's conversationIDs from cache
|
// get user's conversationIDs from cache
|
||||||
GetUserConversationIDs(ctx context.Context, userID string, fn func(ctx context.Context, userID string) ([]string, error)) ([]string, error)
|
GetUserConversationIDs(ctx context.Context, userID string, fn func(ctx context.Context, userID string) ([]string, error)) ([]string, error)
|
||||||
|
38
pkg/common/db/cache/extend_msg_set.go
vendored
38
pkg/common/db/cache/extend_msg_set.go
vendored
@ -1,13 +1,47 @@
|
|||||||
package cache
|
package cache
|
||||||
|
|
||||||
import (
|
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"
|
"github.com/dtm-labs/rockscache"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ExtendMsgSetCache struct {
|
type ExtendMsgSetCache struct {
|
||||||
friendDB *relation.FriendGorm
|
|
||||||
expireTime time.Duration
|
expireTime time.Duration
|
||||||
rcClient *rockscache.Client
|
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")
|
||||||
|
}
|
||||||
|
4
pkg/common/db/cache/friend.go
vendored
4
pkg/common/db/cache/friend.go
vendored
@ -19,12 +19,14 @@ const (
|
|||||||
friendKey = "FRIEND_INFO:"
|
friendKey = "FRIEND_INFO:"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// args fn will exec when no data in cache
|
||||||
type FriendCache interface {
|
type FriendCache interface {
|
||||||
GetFriendIDs(ctx context.Context, ownerUserID string, fn func(ctx context.Context, ownerUserID string) (friendIDs []string, err error)) (friendIDs []string, err error)
|
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
|
// call when friendID List changed
|
||||||
DelFriendIDs(ctx context.Context, ownerUserID string) (err error)
|
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)
|
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)
|
DelFriend(ctx context.Context, ownerUserID, friendUserID string) (err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
52
pkg/common/db/cache/group.go
vendored
52
pkg/common/db/cache/group.go
vendored
@ -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
|
return g.redisClient
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupCache) getGroupInfoKey(groupID string) string {
|
func (g *GroupCacheRedis) getGroupInfoKey(groupID string) string {
|
||||||
return groupInfoKey + groupID
|
return groupInfoKey + groupID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupCache) getJoinedSuperGroupsIDKey(userID string) string {
|
func (g *GroupCacheRedis) getJoinedSuperGroupsIDKey(userID string) string {
|
||||||
return joinedSuperGroupsKey + userID
|
return joinedSuperGroupsKey + userID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupCache) getJoinedGroupsKey(userID string) string {
|
func (g *GroupCacheRedis) getJoinedGroupsKey(userID string) string {
|
||||||
return joinedGroupsKey + userID
|
return joinedGroupsKey + userID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupCache) getGroupMembersHashKey(groupID string) string {
|
func (g *GroupCacheRedis) getGroupMembersHashKey(groupID string) string {
|
||||||
return groupMembersHashKey + groupID
|
return groupMembersHashKey + groupID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupCache) getGroupMemberIDsKey(groupID string) string {
|
func (g *GroupCacheRedis) getGroupMemberIDsKey(groupID string) string {
|
||||||
return groupMemberIDsKey + groupID
|
return groupMemberIDsKey + groupID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupCache) getGroupMemberInfoKey(groupID, userID string) string {
|
func (g *GroupCacheRedis) getGroupMemberInfoKey(groupID, userID string) string {
|
||||||
return groupMemberInfoKey + groupID + "-" + userID
|
return groupMemberInfoKey + groupID + "-" + userID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupCache) getGroupMemberNumKey(groupID string) string {
|
func (g *GroupCacheRedis) getGroupMemberNumKey(groupID string) string {
|
||||||
return groupMemberNumKey + groupID
|
return groupMemberNumKey + groupID
|
||||||
}
|
}
|
||||||
|
|
||||||
// / groupInfo
|
// / 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 {
|
for _, groupID := range groupIDs {
|
||||||
group, err := g.GetGroupInfo(ctx, groupID)
|
group, err := g.GetGroupInfo(ctx, groupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -96,7 +96,7 @@ func (g *GroupCache) GetGroupsInfo(ctx context.Context, groupIDs []string) (grou
|
|||||||
return groups, nil
|
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) {
|
getGroup := func() (string, error) {
|
||||||
groupInfo, err := g.group.Take(ctx, groupID)
|
groupInfo, err := g.group.Take(ctx, groupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -120,14 +120,14 @@ func (g *GroupCache) GetGroupInfo(ctx context.Context, groupID string) (group *r
|
|||||||
return group, utils.Wrap(err, "")
|
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() {
|
defer func() {
|
||||||
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID)
|
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID)
|
||||||
}()
|
}()
|
||||||
return g.rcClient.TagAsDeleted(g.getGroupInfoKey(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 {
|
for _, groupID := range groupIDs {
|
||||||
if err := g.DelGroupInfo(ctx, groupID); err != nil {
|
if err := g.DelGroupInfo(ctx, groupID); err != nil {
|
||||||
return err
|
return err
|
||||||
@ -137,7 +137,7 @@ func (g *GroupCache) DelGroupsInfo(ctx context.Context, groupIDs []string) error
|
|||||||
}
|
}
|
||||||
|
|
||||||
// userJoinSuperGroup
|
// 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 {
|
for _, userID := range userIDs {
|
||||||
if err := g.DelJoinedSuperGroupIDs(ctx, userID); err != nil {
|
if err := g.DelJoinedSuperGroupIDs(ctx, userID); err != nil {
|
||||||
return err
|
return err
|
||||||
@ -146,14 +146,14 @@ func (g *GroupCache) BatchDelJoinedSuperGroupIDs(ctx context.Context, userIDs []
|
|||||||
return nil
|
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() {
|
defer func() {
|
||||||
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID)
|
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID)
|
||||||
}()
|
}()
|
||||||
return g.rcClient.TagAsDeleted(g.getJoinedSuperGroupsIDKey(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) {
|
getJoinedSuperGroupIDList := func() (string, error) {
|
||||||
userToSuperGroup, err := g.mongoDB.GetSuperGroupByUserID(ctx, userID)
|
userToSuperGroup, err := g.mongoDB.GetSuperGroupByUserID(ctx, userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -177,7 +177,7 @@ func (g *GroupCache) GetJoinedSuperGroupIDs(ctx context.Context, userID string)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// groupMembersHash
|
// 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) {
|
generateHash := func() (string, error) {
|
||||||
groupInfo, err := g.GetGroupInfo(ctx, groupID)
|
groupInfo, err := g.GetGroupInfo(ctx, groupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -210,7 +210,7 @@ func (g *GroupCache) GetGroupMembersHash(ctx context.Context, groupID string) (h
|
|||||||
return uint64(hashCode), err
|
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() {
|
defer func() {
|
||||||
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID)
|
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID)
|
||||||
}()
|
}()
|
||||||
@ -219,7 +219,7 @@ func (g *GroupCache) DelGroupMembersHash(ctx context.Context, groupID string) (e
|
|||||||
|
|
||||||
// groupMemberIDs
|
// groupMemberIDs
|
||||||
// from redis
|
// 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) {
|
f := func() (string, error) {
|
||||||
groupInfo, err := g.GetGroupInfo(ctx, groupID)
|
groupInfo, err := g.GetGroupInfo(ctx, groupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -255,7 +255,7 @@ func (g *GroupCache) GetGroupMemberIDs(ctx context.Context, groupID string) (gro
|
|||||||
return groupMemberIDs, nil
|
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() {
|
defer func() {
|
||||||
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID)
|
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID)
|
||||||
}()
|
}()
|
||||||
@ -263,7 +263,7 @@ func (g *GroupCache) DelGroupMemberIDs(ctx context.Context, groupID string) (err
|
|||||||
}
|
}
|
||||||
|
|
||||||
// JoinedGroups
|
// 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) {
|
getJoinedGroupIDList := func() (string, error) {
|
||||||
joinedGroupList, err := relation.GetJoinedGroupIDListByUserID(userID)
|
joinedGroupList, err := relation.GetJoinedGroupIDListByUserID(userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -286,7 +286,7 @@ func (g *GroupCache) GetJoinedGroupIDs(ctx context.Context, userID string) (join
|
|||||||
return joinedGroupIDs, utils.Wrap(err, "")
|
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() {
|
defer func() {
|
||||||
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID)
|
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID)
|
||||||
}()
|
}()
|
||||||
@ -294,7 +294,7 @@ func (g *GroupCache) DelJoinedGroupIDs(ctx context.Context, userID string) (err
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetGroupMemberInfo
|
// 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) {
|
getGroupMemberInfo := func() (string, error) {
|
||||||
groupMemberInfo, err := relation.GetGroupMemberInfoByGroupIDAndUserID(groupID, userID)
|
groupMemberInfo, err := relation.GetGroupMemberInfoByGroupIDAndUserID(groupID, userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -318,7 +318,7 @@ func (g *GroupCache) GetGroupMemberInfo(ctx context.Context, groupID, userID str
|
|||||||
return groupMember, utils.Wrap(err, "")
|
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() {
|
defer func() {
|
||||||
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "count", count, "offset", offset, "groupID", groupID, "groupMember", groupMembers)
|
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
|
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() {
|
defer func() {
|
||||||
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID, "userID", userID)
|
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
|
// 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) {
|
getGroupMemberNum := func() (string, error) {
|
||||||
num, err := relation.GetGroupMemberNumByGroupID(groupID)
|
num, err := relation.GetGroupMemberNumByGroupID(groupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -389,7 +389,7 @@ func (g *GroupCache) GetGroupMemberNum(ctx context.Context, groupID string) (num
|
|||||||
return strconv.Atoi(groupMember)
|
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() {
|
defer func() {
|
||||||
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID)
|
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "groupID", groupID)
|
||||||
}()
|
}()
|
||||||
|
109
pkg/common/db/cache/redis.go
vendored
109
pkg/common/db/cache/redis.go
vendored
@ -20,28 +20,36 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
accountTempCode = "ACCOUNT_TEMP_CODE"
|
userIncrSeq = "REDIS_USER_INCR_SEQ:" // user incr seq
|
||||||
resetPwdTempCode = "RESET_PWD_TEMP_CODE"
|
appleDeviceToken = "DEVICE_TOKEN"
|
||||||
userIncrSeq = "REDIS_USER_INCR_SEQ:" // user incr seq
|
userMinSeq = "REDIS_USER_MIN_SEQ:"
|
||||||
appleDeviceToken = "DEVICE_TOKEN"
|
uidPidToken = "UID_PID_TOKEN_STATUS:"
|
||||||
userMinSeq = "REDIS_USER_MIN_SEQ:"
|
getuiToken = "GETUI_TOKEN"
|
||||||
uidPidToken = "UID_PID_TOKEN_STATUS:"
|
getuiTaskID = "GETUI_TASK_ID"
|
||||||
conversationReceiveMessageOpt = "CON_RECV_MSG_OPT:"
|
messageCache = "MESSAGE_CACHE:"
|
||||||
getuiToken = "GETUI_TOKEN"
|
signalCache = "SIGNAL_CACHE:"
|
||||||
getuiTaskID = "GETUI_TASK_ID"
|
signalListCache = "SIGNAL_LIST_CACHE:"
|
||||||
messageCache = "MESSAGE_CACHE:"
|
FcmToken = "FCM_TOKEN:"
|
||||||
SignalCache = "SIGNAL_CACHE:"
|
groupUserMinSeq = "GROUP_USER_MIN_SEQ:"
|
||||||
SignalListCache = "SIGNAL_LIST_CACHE:"
|
groupMaxSeq = "GROUP_MAX_SEQ:"
|
||||||
GlobalMsgRecvOpt = "GLOBAL_MSG_RECV_OPT"
|
groupMinSeq = "GROUP_MIN_SEQ:"
|
||||||
FcmToken = "FCM_TOKEN:"
|
sendMsgFailedFlag = "SEND_MSG_FAILED_FLAG:"
|
||||||
groupUserMinSeq = "GROUP_USER_MIN_SEQ:"
|
userBadgeUnreadCountSum = "USER_BADGE_UNREAD_COUNT_SUM:"
|
||||||
groupMaxSeq = "GROUP_MAX_SEQ:"
|
exTypeKeyLocker = "EX_LOCK:"
|
||||||
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 {
|
type RedisClient struct {
|
||||||
rdb redis.UniversalClient
|
rdb redis.UniversalClient
|
||||||
}
|
}
|
||||||
@ -86,25 +94,6 @@ func NewRedisClient(rdb redis.UniversalClient) *RedisClient {
|
|||||||
return &RedisClient{rdb: rdb}
|
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
|
//Perform seq auto-increment operation of user messages
|
||||||
func (r *RedisClient) IncrUserSeq(uid string) (uint64, error) {
|
func (r *RedisClient) IncrUserSeq(uid string) (uint64, error) {
|
||||||
key := userIncrSeq + uid
|
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()
|
return r.rdb.HSet(context.Background(), key, mm).Err()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *RedisClient) DeleteTokenByUidPid(userID string, platformID int, fields []string) error {
|
func (r *RedisClient) DeleteTokenByUidPid(userID string, platformID int, fields []string) error {
|
||||||
key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID)
|
key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID)
|
||||||
return r.rdb.HDel(context.Background(), key, fields...).Err()
|
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) {
|
func (r *RedisClient) GetMessageListBySeq(userID string, seqList []uint32, operationID string) (seqMsg []*pbCommon.MsgData, failedSeqList []uint32, errResult error) {
|
||||||
for _, v := range seqList {
|
for _, v := range seqList {
|
||||||
//MESSAGE_CACHE:169.254.225.224_reliability1653387820_0_1
|
//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 {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
keyList := SignalListCache + userID
|
keyList := signalListCache + userID
|
||||||
err = r.rdb.LPush(context.Background(), keyList, msg.ClientMsgID).Err()
|
err = r.rdb.LPush(context.Background(), keyList, msg.ClientMsgID).Err()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
@ -345,7 +310,7 @@ func (r *RedisClient) HandleSignalInfo(operationID string, msg *pbCommon.MsgData
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
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()
|
err = r.rdb.Set(context.Background(), key, msg.Content, time.Duration(timeout)*time.Second).Err()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
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) {
|
func (r *RedisClient) GetSignalInfoFromCacheByClientMsgID(clientMsgID string) (invitationInfo *pbRtc.SignalInviteReq, err error) {
|
||||||
key := SignalCache + clientMsgID
|
key := signalCache + clientMsgID
|
||||||
invitationInfo = &pbRtc.SignalInviteReq{}
|
invitationInfo = &pbRtc.SignalInviteReq{}
|
||||||
bytes, err := r.rdb.Get(context.Background(), key).Bytes()
|
bytes, err := r.rdb.Get(context.Background(), key).Bytes()
|
||||||
if err != nil {
|
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) {
|
func (r *RedisClient) GetAvailableSignalInvitationInfo(userID string) (invitationInfo *pbRtc.SignalInviteReq, err error) {
|
||||||
keyList := SignalListCache + userID
|
keyList := signalListCache + userID
|
||||||
result := r.rdb.LPop(context.Background(), keyList)
|
result := r.rdb.LPop(context.Background(), keyList)
|
||||||
if err = result.Err(); err != nil {
|
if err = result.Err(); err != nil {
|
||||||
return nil, utils.Wrap(err, "GetAvailableSignalInvitationInfo failed")
|
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 {
|
func (r *RedisClient) DelUserSignalList(userID string) error {
|
||||||
keyList := SignalListCache + userID
|
keyList := signalListCache + userID
|
||||||
err := r.rdb.Del(context.Background(), keyList).Err()
|
err := r.rdb.Del(context.Background(), keyList).Err()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -516,17 +481,19 @@ func (r *RedisClient) SetMessageReactionExpire(clientMsgID string, sessionType i
|
|||||||
key := getMessageReactionExPrefix(clientMsgID, sessionType)
|
key := getMessageReactionExPrefix(clientMsgID, sessionType)
|
||||||
return r.rdb.Expire(context.Background(), key, expiration).Result()
|
return r.rdb.Expire(context.Background(), key, expiration).Result()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *RedisClient) GetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey string) (string, error) {
|
func (r *RedisClient) GetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey string) (string, error) {
|
||||||
key := getMessageReactionExPrefix(clientMsgID, sessionType)
|
key := getMessageReactionExPrefix(clientMsgID, sessionType)
|
||||||
result, err := r.rdb.HGet(context.Background(), key, typeKey).Result()
|
result, err := r.rdb.HGet(context.Background(), key, typeKey).Result()
|
||||||
return result, err
|
return result, err
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *RedisClient) SetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey, value string) error {
|
func (r *RedisClient) SetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey, value string) error {
|
||||||
key := getMessageReactionExPrefix(clientMsgID, sessionType)
|
key := getMessageReactionExPrefix(clientMsgID, sessionType)
|
||||||
return r.rdb.HSet(context.Background(), key, typeKey, value).Err()
|
return r.rdb.HSet(context.Background(), key, typeKey, value).Err()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *RedisClient) LockMessageTypeKey(clientMsgID string, TypeKey string) error {
|
func (r *RedisClient) LockMessageTypeKey(clientMsgID string, TypeKey string) error {
|
||||||
key := exTypeKeyLocker + clientMsgID + "_" + TypeKey
|
key := exTypeKeyLocker + clientMsgID + "_" + TypeKey
|
||||||
return r.rdb.SetNX(context.Background(), key, 1, time.Minute).Err()
|
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 {
|
switch sessionType {
|
||||||
case constant.SingleChatType:
|
case constant.SingleChatType:
|
||||||
return "EX_SINGLE_" + clientMsgID
|
return "EX_SINGLE_" + clientMsgID
|
||||||
|
53
pkg/common/db/cache/redis_test.go
vendored
53
pkg/common/db/cache/redis_test.go
vendored
@ -3,7 +3,7 @@ package cache
|
|||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
pbChat "Open_IM/pkg/proto/msg"
|
pbChat "Open_IM/pkg/proto/msg"
|
||||||
server_api_params "Open_IM/pkg/proto/sdk_ws"
|
common "Open_IM/pkg/proto/sdk_ws"
|
||||||
"context"
|
"context"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -11,6 +11,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var DB RedisClient
|
||||||
|
|
||||||
func Test_SetTokenMapByUidPid(t *testing.T) {
|
func Test_SetTokenMapByUidPid(t *testing.T) {
|
||||||
m := make(map[string]int, 0)
|
m := make(map[string]int, 0)
|
||||||
m["test1"] = 1
|
m["test1"] = 1
|
||||||
@ -35,7 +37,7 @@ func Test_GetKeyTTL(t *testing.T) {
|
|||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
key := flag.String("key", "key", "key value")
|
key := flag.String("key", "key", "key value")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
ttl, err := DB.RDB.TTL(ctx, *key).Result()
|
ttl, err := DB.GetClient().TTL(ctx, *key).Result()
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
fmt.Println(ttl)
|
fmt.Println(ttl)
|
||||||
}
|
}
|
||||||
@ -43,7 +45,7 @@ func Test_HGetAll(t *testing.T) {
|
|||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
key := flag.String("key", "key", "key value")
|
key := flag.String("key", "key", "key value")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
ttl, err := DB.RDB.TTL(ctx, *key).Result()
|
ttl, err := DB.GetClient().TTL(ctx, *key).Result()
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
fmt.Println(ttl)
|
fmt.Println(ttl)
|
||||||
}
|
}
|
||||||
@ -51,14 +53,14 @@ func Test_HGetAll(t *testing.T) {
|
|||||||
func Test_NewSetMessageToCache(t *testing.T) {
|
func Test_NewSetMessageToCache(t *testing.T) {
|
||||||
var msg pbChat.MsgDataToMQ
|
var msg pbChat.MsgDataToMQ
|
||||||
m := make(map[string]bool)
|
m := make(map[string]bool)
|
||||||
var offlinePush server_api_params.OfflinePushInfo
|
var offlinePush common.OfflinePushInfo
|
||||||
offlinePush.Title = "3"
|
offlinePush.Title = "3"
|
||||||
offlinePush.Ex = "34"
|
offlinePush.Ex = "34"
|
||||||
offlinePush.IOSPushSound = "+1"
|
offlinePush.IOSPushSound = "+1"
|
||||||
offlinePush.IOSBadgeCount = true
|
offlinePush.IOSBadgeCount = true
|
||||||
m[constant.IsPersistent] = true
|
m[constant.IsPersistent] = true
|
||||||
m[constant.IsHistory] = true
|
m[constant.IsHistory] = true
|
||||||
var data server_api_params.MsgData
|
var data common.MsgData
|
||||||
uid := "test_uid"
|
uid := "test_uid"
|
||||||
data.Seq = 11
|
data.Seq = 11
|
||||||
data.ClientMsgID = "23jwhjsdf"
|
data.ClientMsgID = "23jwhjsdf"
|
||||||
@ -77,7 +79,7 @@ func Test_NewSetMessageToCache(t *testing.T) {
|
|||||||
}
|
}
|
||||||
func Test_NewGetMessageListBySeq(t *testing.T) {
|
func Test_NewGetMessageListBySeq(t *testing.T) {
|
||||||
var msg pbChat.MsgDataToMQ
|
var msg pbChat.MsgDataToMQ
|
||||||
var data server_api_params.MsgData
|
var data common.MsgData
|
||||||
uid := "test_uid"
|
uid := "test_uid"
|
||||||
data.Seq = 11
|
data.Seq = 11
|
||||||
data.ClientMsgID = "23jwhjsdf"
|
data.ClientMsgID = "23jwhjsdf"
|
||||||
@ -88,37 +90,7 @@ func Test_NewGetMessageListBySeq(t *testing.T) {
|
|||||||
fmt.Println(seqMsg, failedSeqList)
|
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) {
|
func Test_SetFcmToken(t *testing.T) {
|
||||||
uid := "test_uid"
|
uid := "test_uid"
|
||||||
token := "dfnWBtOjSj-XIZnUvDlegv:APA91bG09XTtiXfpE6U7gUVMOhnKcUkNCv4WHn0UZr2clUi-tS1jEH-HiCEW8GIAhjLIGcfUJ6NIKteC023ZxDH7J0PJ5sTxoup3fHDUPLU7KgQoZS4tPyFqCbZ6bRB7esDPEnD1n_s0"
|
token := "dfnWBtOjSj-XIZnUvDlegv:APA91bG09XTtiXfpE6U7gUVMOhnKcUkNCv4WHn0UZr2clUi-tS1jEH-HiCEW8GIAhjLIGcfUJ6NIKteC023ZxDH7J0PJ5sTxoup3fHDUPLU7KgQoZS4tPyFqCbZ6bRB7esDPEnD1n_s0"
|
||||||
@ -133,10 +105,3 @@ func Test_GetFcmToken(t *testing.T) {
|
|||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
fmt.Println("token is :", token)
|
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)
|
|
||||||
//}
|
|
||||||
|
32
pkg/common/db/cache/rockscache.go
vendored
32
pkg/common/db/cache/rockscache.go
vendored
@ -604,35 +604,3 @@ func DelConversationFromCache(ctx context.Context, ownerUserID, conversationID s
|
|||||||
}()
|
}()
|
||||||
return utils.Wrap(db.DB.Rc.TagAsDeleted(conversationCache+ownerUserID+":"+conversationID), "DelConversationFromCache err")
|
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")
|
|
||||||
}
|
|
||||||
|
@ -4,8 +4,8 @@ import (
|
|||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/db/cache"
|
"Open_IM/pkg/common/db/cache"
|
||||||
"Open_IM/pkg/common/db/relation"
|
"Open_IM/pkg/common/db/relation"
|
||||||
relation2 "Open_IM/pkg/common/db/table/relation"
|
relationTb "Open_IM/pkg/common/db/table/relation"
|
||||||
unrelation2 "Open_IM/pkg/common/db/table/unrelation"
|
unrelationTb "Open_IM/pkg/common/db/table/unrelation"
|
||||||
"Open_IM/pkg/common/db/unrelation"
|
"Open_IM/pkg/common/db/unrelation"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
@ -20,31 +20,31 @@ import (
|
|||||||
//type GroupInterface GroupDataBaseInterface
|
//type GroupInterface GroupDataBaseInterface
|
||||||
|
|
||||||
type GroupInterface interface {
|
type GroupInterface interface {
|
||||||
CreateGroup(ctx context.Context, groups []*relation2.GroupModel, groupMembers []*relation2.GroupMemberModel) error
|
CreateGroup(ctx context.Context, groups []*relationTb.GroupModel, groupMembers []*relationTb.GroupMemberModel) error
|
||||||
TakeGroup(ctx context.Context, groupID string) (group *relation2.GroupModel, err error)
|
TakeGroup(ctx context.Context, groupID string) (group *relationTb.GroupModel, err error)
|
||||||
FindGroup(ctx context.Context, groupIDs []string) (groups []*relation2.GroupModel, err error)
|
FindGroup(ctx context.Context, groupIDs []string) (groups []*relationTb.GroupModel, err error)
|
||||||
SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relation2.GroupModel, 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
|
UpdateGroup(ctx context.Context, groupID string, data map[string]any) error
|
||||||
DismissGroup(ctx context.Context, groupID string) error // 解散群,并删除群成员
|
DismissGroup(ctx context.Context, groupID string) error // 解散群,并删除群成员
|
||||||
// GroupMember
|
// GroupMember
|
||||||
TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relation2.GroupMemberModel, err error)
|
TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relationTb.GroupMemberModel, err error)
|
||||||
TakeGroupOwner(ctx context.Context, groupID string) (*relation2.GroupMemberModel, error)
|
TakeGroupOwner(ctx context.Context, groupID string) (*relationTb.GroupMemberModel, error)
|
||||||
FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relation2.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, []*relation2.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, []*relation2.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 *relation2.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
|
DeleteGroupMember(ctx context.Context, groupID string, userIDs []string) error
|
||||||
MapGroupMemberUserID(ctx context.Context, groupIDs []string) (map[string][]string, error)
|
MapGroupMemberUserID(ctx context.Context, groupIDs []string) (map[string][]string, error)
|
||||||
MapGroupMemberNum(ctx context.Context, groupIDs []string) (map[string]uint32, error)
|
MapGroupMemberNum(ctx context.Context, groupIDs []string) (map[string]uint32, error)
|
||||||
TransferGroupOwner(ctx context.Context, groupID string, oldOwnerUserID, newOwnerUserID string, roleLevel int32) 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
|
UpdateGroupMember(ctx context.Context, groupID, userID string, data map[string]any) error
|
||||||
// GroupRequest
|
// GroupRequest
|
||||||
CreateGroupRequest(ctx context.Context, requests []*relation2.GroupRequestModel) error
|
CreateGroupRequest(ctx context.Context, requests []*relationTb.GroupRequestModel) error
|
||||||
TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relation2.GroupRequestModel, error)
|
TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relationTb.GroupRequestModel, error)
|
||||||
PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relation2.GroupRequestModel, error)
|
PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupRequestModel, error)
|
||||||
// SuperGroup
|
// SuperGroup
|
||||||
FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelation2.SuperGroupModel, error)
|
FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelationTb.SuperGroupModel, error)
|
||||||
FindJoinSuperGroup(ctx context.Context, userID string) (superGroup *unrelation2.UserToSuperGroupModel, err error)
|
FindJoinSuperGroup(ctx context.Context, userID string) (superGroup *unrelationTb.UserToSuperGroupModel, err error)
|
||||||
CreateSuperGroup(ctx context.Context, groupID string, initMemberIDList []string) error
|
CreateSuperGroup(ctx context.Context, groupID string, initMemberIDList []string) error
|
||||||
DeleteSuperGroup(ctx context.Context, groupID string) error
|
DeleteSuperGroup(ctx context.Context, groupID string) error
|
||||||
DeleteSuperGroupMember(ctx context.Context, groupID string, userIDs []string) error
|
DeleteSuperGroupMember(ctx context.Context, groupID string, userIDs []string) error
|
||||||
@ -53,27 +53,27 @@ type GroupInterface interface {
|
|||||||
|
|
||||||
var _ GroupInterface = (*GroupController)(nil)
|
var _ GroupInterface = (*GroupController)(nil)
|
||||||
|
|
||||||
func NewGroupInterface(database GroupDataBaseInterface) GroupInterface {
|
func NewGroupInterface(db *gorm.DB, rdb redis.UniversalClient, mgoClient *mongo.Client) GroupInterface {
|
||||||
return &GroupController{database: database}
|
return &GroupController{database: NewGroupDatabase(db, rdb, mgoClient)}
|
||||||
}
|
}
|
||||||
|
|
||||||
type GroupController struct {
|
type GroupController struct {
|
||||||
database GroupDataBaseInterface
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
// 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)
|
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)
|
return g.database.FindJoinSuperGroup(ctx, userID)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -169,31 +169,31 @@ func (g *GroupController) CreateSuperGroupMember(ctx context.Context, groupID st
|
|||||||
}
|
}
|
||||||
|
|
||||||
type GroupDataBaseInterface interface {
|
type GroupDataBaseInterface interface {
|
||||||
CreateGroup(ctx context.Context, groups []*relation2.GroupModel, groupMembers []*relation2.GroupMemberModel) error
|
CreateGroup(ctx context.Context, groups []*relationTb.GroupModel, groupMembers []*relationTb.GroupMemberModel) error
|
||||||
TakeGroup(ctx context.Context, groupID string) (group *relation2.GroupModel, err error)
|
TakeGroup(ctx context.Context, groupID string) (group *relationTb.GroupModel, err error)
|
||||||
FindGroup(ctx context.Context, groupIDs []string) (groups []*relation2.GroupModel, err error)
|
FindGroup(ctx context.Context, groupIDs []string) (groups []*relationTb.GroupModel, err error)
|
||||||
SearchGroup(ctx context.Context, keyword string, pageNumber, showNumber int32) (uint32, []*relation2.GroupModel, 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
|
UpdateGroup(ctx context.Context, groupID string, data map[string]any) error
|
||||||
DismissGroup(ctx context.Context, groupID string) error // 解散群,并删除群成员
|
DismissGroup(ctx context.Context, groupID string) error // 解散群,并删除群成员
|
||||||
// GroupMember
|
// GroupMember
|
||||||
TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relation2.GroupMemberModel, err error)
|
TakeGroupMember(ctx context.Context, groupID string, userID string) (groupMember *relationTb.GroupMemberModel, err error)
|
||||||
TakeGroupOwner(ctx context.Context, groupID string) (*relation2.GroupMemberModel, error)
|
TakeGroupOwner(ctx context.Context, groupID string) (*relationTb.GroupMemberModel, error)
|
||||||
FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relation2.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, []*relation2.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, []*relation2.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 *relation2.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
|
DeleteGroupMember(ctx context.Context, groupID string, userIDs []string) error
|
||||||
MapGroupMemberUserID(ctx context.Context, groupIDs []string) (map[string][]string, error)
|
MapGroupMemberUserID(ctx context.Context, groupIDs []string) (map[string][]string, error)
|
||||||
MapGroupMemberNum(ctx context.Context, groupIDs []string) (map[string]uint32, error)
|
MapGroupMemberNum(ctx context.Context, groupIDs []string) (map[string]uint32, error)
|
||||||
TransferGroupOwner(ctx context.Context, groupID string, oldOwnerUserID, newOwnerUserID string, roleLevel int32) 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
|
UpdateGroupMember(ctx context.Context, groupID, userID string, data map[string]any) error
|
||||||
// GroupRequest
|
// GroupRequest
|
||||||
CreateGroupRequest(ctx context.Context, requests []*relation2.GroupRequestModel) error
|
CreateGroupRequest(ctx context.Context, requests []*relationTb.GroupRequestModel) error
|
||||||
TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relation2.GroupRequestModel, error)
|
TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relationTb.GroupRequestModel, error)
|
||||||
PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relation2.GroupRequestModel, error)
|
PageGroupRequestUser(ctx context.Context, userID string, pageNumber, showNumber int32) (uint32, []*relationTb.GroupRequestModel, error)
|
||||||
// SuperGroup
|
// SuperGroup
|
||||||
FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelation2.SuperGroupModel, error)
|
FindSuperGroup(ctx context.Context, groupIDs []string) ([]*unrelationTb.SuperGroupModel, error)
|
||||||
FindJoinSuperGroup(ctx context.Context, userID string) (*unrelation2.UserToSuperGroupModel, error)
|
FindJoinSuperGroup(ctx context.Context, userID string) (*unrelationTb.UserToSuperGroupModel, error)
|
||||||
CreateSuperGroup(ctx context.Context, groupID string, initMemberIDList []string) error
|
CreateSuperGroup(ctx context.Context, groupID string, initMemberIDList []string) error
|
||||||
DeleteSuperGroup(ctx context.Context, groupID string) error
|
DeleteSuperGroup(ctx context.Context, groupID string) error
|
||||||
DeleteSuperGroupMember(ctx context.Context, groupID string, userIDs []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)
|
var _ GroupDataBaseInterface = (*GroupDataBase)(nil)
|
||||||
|
|
||||||
type GroupDataBase struct {
|
type GroupDataBase struct {
|
||||||
groupDB relation2.GroupModelInterface
|
groupDB relationTb.GroupModelInterface
|
||||||
groupMemberDB relation2.GroupMemberModelInterface
|
groupMemberDB relationTb.GroupMemberModelInterface
|
||||||
groupRequestDB relation2.GroupRequestModelInterface
|
groupRequestDB relationTb.GroupRequestModelInterface
|
||||||
db *gorm.DB
|
db *gorm.DB
|
||||||
|
|
||||||
cache *cache.GroupCache
|
cache *cache.GroupCache
|
||||||
mongoDB *unrelation.SuperGroupMongoDriver
|
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 {
|
if len(groups) > 0 && len(groupMembers) > 0 {
|
||||||
return g.db.Transaction(func(tx *gorm.DB) error {
|
return g.db.Transaction(func(tx *gorm.DB) error {
|
||||||
if err := g.groupDB.Create(ctx, groups, tx); err != nil {
|
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
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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 {
|
if member == nil {
|
||||||
return g.groupRequestDB.UpdateHandler(ctx, groupID, userID, handledMsg, handleResult)
|
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 {
|
if err := g.groupRequestDB.UpdateHandler(ctx, groupID, userID, handledMsg, handleResult, tx); err != nil {
|
||||||
return err
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
return g.mongoDB.GetSuperGroupByUserID(ctx, userID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupDataBase) CreateSuperGroup(ctx context.Context, groupID string, initMemberIDList []string) error {
|
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)
|
return s.CreateSuperGroup(ctx, groupID, initMemberIDList, tx)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupDataBase) DeleteSuperGroup(ctx context.Context, groupID string) error {
|
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)
|
return s.DeleteSuperGroup(ctx, groupID, tx)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupDataBase) DeleteSuperGroupMember(ctx context.Context, groupID string, userIDs []string) error {
|
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)
|
return s.RemoverUserFromSuperGroup(ctx, groupID, userIDs, tx)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupDataBase) CreateSuperGroupMember(ctx context.Context, groupID string, userIDs []string) error {
|
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)
|
return s.AddUserToSuperGroup(ctx, groupID, userIDs, tx)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -3,24 +3,24 @@ package controller
|
|||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/db/relation"
|
"Open_IM/pkg/common/db/relation"
|
||||||
relation2 "Open_IM/pkg/common/db/table/relation"
|
relationTb "Open_IM/pkg/common/db/table/relation"
|
||||||
"context"
|
"context"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UserInterface interface {
|
type UserInterface interface {
|
||||||
//获取指定用户的信息 如有userID未找到 也返回错误
|
//获取指定用户的信息 如有userID未找到 也返回错误
|
||||||
FindWithError(ctx context.Context, userIDs []string) (users []*relation2.UserModel, err error)
|
FindWithError(ctx context.Context, userIDs []string) (users []*relationTb.UserModel, err error)
|
||||||
//获取指定用户的信息 如有userID未找到 不返回错误
|
//获取指定用户的信息 如有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中不存在
|
//插入多条 外部保证userID 不重复 且在db中不存在
|
||||||
Create(ctx context.Context, users []*relation2.UserModel) (err error)
|
Create(ctx context.Context, users []*relationTb.UserModel) (err error)
|
||||||
//更新(非零值) 外部保证userID存在
|
//更新(非零值) 外部保证userID存在
|
||||||
Update(ctx context.Context, users []*relation2.UserModel) (err error)
|
Update(ctx context.Context, users []*relationTb.UserModel) (err error)
|
||||||
//更新(零值) 外部保证userID存在
|
//更新(零值) 外部保证userID存在
|
||||||
UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error)
|
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
|
//只要有一个存在就为true
|
||||||
IsExist(ctx context.Context, userIDs []string) (exist bool, err error)
|
IsExist(ctx context.Context, userIDs []string) (exist bool, err error)
|
||||||
}
|
}
|
||||||
@ -29,21 +29,21 @@ type UserController struct {
|
|||||||
database UserDatabaseInterface
|
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)
|
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)
|
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)
|
return u.database.Update(ctx, users)
|
||||||
}
|
}
|
||||||
func (u *UserController) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) {
|
func (u *UserController) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) {
|
||||||
return u.database.UpdateByMap(ctx, userID, args)
|
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)
|
return u.database.Get(ctx, pageNumber, showNumber)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,11 +56,11 @@ func NewUserController(db *gorm.DB) *UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type UserDatabaseInterface interface {
|
type UserDatabaseInterface interface {
|
||||||
Find(ctx context.Context, userIDs []string) (users []*relation2.UserModel, err error)
|
Find(ctx context.Context, userIDs []string) (users []*relationTb.UserModel, err error)
|
||||||
Create(ctx context.Context, users []*relation2.UserModel) error
|
Create(ctx context.Context, users []*relationTb.UserModel) error
|
||||||
Update(ctx context.Context, users []*relation2.UserModel) (err error)
|
Update(ctx context.Context, users []*relationTb.UserModel) (err error)
|
||||||
UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (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)
|
IsExist(ctx context.Context, userIDs []string) (exist bool, err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ func newUserDatabase(db *gorm.DB) *UserDatabase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取指定用户的信息 如有userID未找到 也返回错误
|
// 获取指定用户的信息 如有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)
|
users, err = u.user.Find(ctx, userIDs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@ -89,12 +89,12 @@ func (u *UserDatabase) Find(ctx context.Context, userIDs []string) (users []*rel
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 插入多条 外部保证userID 不重复 且在db中不存在
|
// 插入多条 外部保证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)
|
return u.user.Create(ctx, users)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新(非零值) 外部保证userID存在
|
// 更新(非零值) 外部保证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)
|
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)
|
return u.user.Get(ctx, showNumber, pageNumber)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type ConversationLocalCacheInterface interface {
|
type ConversationLocalCacheInterface interface {
|
||||||
GetRecvMsgNotNotifyUserIDs(ctx context.Context, groupID string) []string
|
GetRecvMsgNotNotifyUserIDs(ctx context.Context, groupID string) ([]string, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type ConversationLocalCache struct {
|
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()
|
g.client.GetConn()
|
||||||
return []string{}
|
return []string{}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package unrelation
|
package unrelation
|
||||||
|
|
||||||
import (
|
import (
|
||||||
commonPb "Open_IM/pkg/proto/sdk_ws"
|
common "Open_IM/pkg/proto/sdk_ws"
|
||||||
"context"
|
"context"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@ -13,7 +13,7 @@ const (
|
|||||||
ExtendMsgMaxNum = 100
|
ExtendMsgMaxNum = 100
|
||||||
)
|
)
|
||||||
|
|
||||||
type ExtendMsgSet struct {
|
type ExtendMsgSetModel struct {
|
||||||
SourceID string `bson:"source_id" json:"sourceID"`
|
SourceID string `bson:"source_id" json:"sourceID"`
|
||||||
SessionType int32 `bson:"session_type" json:"sessionType"`
|
SessionType int32 `bson:"session_type" json:"sessionType"`
|
||||||
ExtendMsgs map[string]ExtendMsg `bson:"extend_msgs" json:"extendMsgs"`
|
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
|
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"`
|
TypeKey string `bson:"type_key" json:"typeKey"`
|
||||||
Value string `bson:"value" json:"value"`
|
Value string `bson:"value" json:"value"`
|
||||||
LatestUpdateTime int64 `bson:"latest_update_time" json:"latestUpdateTime"`
|
LatestUpdateTime int64 `bson:"latest_update_time" json:"latestUpdateTime"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ExtendMsg struct {
|
type ExtendMsg struct {
|
||||||
ReactionExtensionList map[string]KeyValue `bson:"reaction_extension_list" json:"reactionExtensionList"`
|
ReactionExtensionList map[string]KeyValueModel `bson:"reaction_extension_list" json:"reactionExtensionList"`
|
||||||
ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"`
|
ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"`
|
||||||
MsgFirstModifyTime int64 `bson:"msg_first_modify_time" json:"msgFirstModifyTime"` // this extendMsg create time
|
MsgFirstModifyTime int64 `bson:"msg_first_modify_time" json:"msgFirstModifyTime"` // this extendMsg create time
|
||||||
AttachedInfo string `bson:"attached_info" json:"attachedInfo"`
|
AttachedInfo string `bson:"attached_info" json:"attachedInfo"`
|
||||||
Ex string `bson:"ex" json:"ex"`
|
Ex string `bson:"ex" json:"ex"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ExtendMsgSet) TableName() string {
|
func (ExtendMsgSetModel) TableName() string {
|
||||||
return CExtendMsgSet
|
return CExtendMsgSet
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ExtendMsgSet) GetExtendMsgMaxNum() int32 {
|
func (ExtendMsgSetModel) GetExtendMsgMaxNum() int32 {
|
||||||
return ExtendMsgMaxNum
|
return ExtendMsgMaxNum
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ExtendMsgSet) GetSourceID(ID string, index int32) string {
|
func (ExtendMsgSetModel) GetSourceID(ID string, index int32) string {
|
||||||
return ID + ":" + strconv.Itoa(int(index))
|
return ID + ":" + strconv.Itoa(int(index))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *ExtendMsgSet) SplitSourceIDAndGetIndex() int32 {
|
func (e *ExtendMsgSetModel) SplitSourceIDAndGetIndex() int32 {
|
||||||
l := strings.Split(e.SourceID, ":")
|
l := strings.Split(e.SourceID, ":")
|
||||||
index, _ := strconv.Atoi(l[len(l)-1])
|
index, _ := strconv.Atoi(l[len(l)-1])
|
||||||
return int32(index)
|
return int32(index)
|
||||||
@ -59,11 +59,11 @@ type GetAllExtendMsgSetOpts struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type ExtendMsgSetInterface interface {
|
type ExtendMsgSetInterface interface {
|
||||||
CreateExtendMsgSet(ctx context.Context, set *ExtendMsgSet) error
|
CreateExtendMsgSet(ctx context.Context, set *ExtendMsgSetModel) error
|
||||||
GetAllExtendMsgSet(ctx context.Context, ID string, opts *GetAllExtendMsgSetOpts) (sets []*ExtendMsgSet, err error)
|
GetAllExtendMsgSet(ctx context.Context, ID string, opts *GetAllExtendMsgSetOpts) (sets []*ExtendMsgSetModel, err error)
|
||||||
GetExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, maxMsgUpdateTime int64) (*ExtendMsgSet, error)
|
GetExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, maxMsgUpdateTime int64) (*ExtendMsgSetModel, error)
|
||||||
InsertExtendMsg(ctx context.Context, sourceID string, sessionType int32, msg *ExtendMsg) 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
|
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]*commonPb.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)
|
GetExtendMsg(ctx context.Context, sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) (extendMsg *ExtendMsg, err error)
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package token_verify
|
package tokenverify
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
@ -1,4 +1,4 @@
|
|||||||
package token_verify
|
package tokenverify
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
@ -3,7 +3,7 @@ package utils
|
|||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ func Test_BuildClaims(t *testing.T) {
|
|||||||
uid := "1"
|
uid := "1"
|
||||||
platform := "PC"
|
platform := "PC"
|
||||||
ttl := int64(-1)
|
ttl := int64(-1)
|
||||||
claim := token_verify.BuildClaims(uid, platform, ttl)
|
claim := tokenverify.BuildClaims(uid, platform, ttl)
|
||||||
now := time.Now().Unix()
|
now := time.Now().Unix()
|
||||||
|
|
||||||
assert.Equal(t, claim.UID, uid, "uid should equal")
|
assert.Equal(t, claim.UID, uid, "uid should equal")
|
||||||
@ -26,7 +26,7 @@ func Test_BuildClaims(t *testing.T) {
|
|||||||
|
|
||||||
ttl = int64(60)
|
ttl = int64(60)
|
||||||
now = time.Now().Unix()
|
now = time.Now().Unix()
|
||||||
claim = token_verify.BuildClaims(uid, platform, ttl)
|
claim = tokenverify.BuildClaims(uid, platform, ttl)
|
||||||
// time difference within 1s
|
// time difference within 1s
|
||||||
assert.Equal(t, claim.RegisteredClaims.ExpiresAt, int64(60)+now, "StandardClaims.ExpiresAt should be equal")
|
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")
|
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)
|
platform := int32(1)
|
||||||
now := time.Now().Unix()
|
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.NotEmpty(t, tokenString)
|
||||||
assert.Equal(t, expiresAt, 604800+now)
|
assert.Equal(t, expiresAt, 604800+now)
|
||||||
@ -48,26 +48,26 @@ func Test_CreateToken(t *testing.T) {
|
|||||||
func Test_VerifyToken(t *testing.T) {
|
func Test_VerifyToken(t *testing.T) {
|
||||||
uid := "1"
|
uid := "1"
|
||||||
platform := int32(1)
|
platform := int32(1)
|
||||||
tokenString, _, _ := token_verify.CreateToken(uid, int(platform))
|
tokenString, _, _ := tokenverify.CreateToken(uid, int(platform))
|
||||||
result, _ := token_verify.VerifyToken(tokenString, uid)
|
result, _ := tokenverify.VerifyToken(tokenString, uid)
|
||||||
assert.True(t, result)
|
assert.True(t, result)
|
||||||
result, _ = token_verify.VerifyToken(tokenString, "2")
|
result, _ = tokenverify.VerifyToken(tokenString, "2")
|
||||||
assert.False(t, result)
|
assert.False(t, result)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_ParseRedisInterfaceToken(t *testing.T) {
|
func Test_ParseRedisInterfaceToken(t *testing.T) {
|
||||||
uid := "1"
|
uid := "1"
|
||||||
platform := int32(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.Nil(t, err)
|
||||||
assert.Equal(t, claims.UID, uid)
|
assert.Equal(t, claims.UID, uid)
|
||||||
|
|
||||||
// timeout
|
// timeout
|
||||||
config.Config.TokenPolicy.AccessExpire = -80
|
config.Config.TokenPolicy.AccessExpire = -80
|
||||||
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.Equal(t, err, constant.ExpiredToken)
|
assert.Equal(t, err, constant.ExpiredToken)
|
||||||
assert.Nil(t, claims)
|
assert.Nil(t, claims)
|
||||||
}
|
}
|
||||||
@ -75,15 +75,15 @@ func Test_ParseRedisInterfaceToken(t *testing.T) {
|
|||||||
func Test_ParseToken(t *testing.T) {
|
func Test_ParseToken(t *testing.T) {
|
||||||
uid := "1"
|
uid := "1"
|
||||||
platform := int32(1)
|
platform := int32(1)
|
||||||
tokenString, _, _ := token_verify.CreateToken(uid, int(platform))
|
tokenString, _, _ := tokenverify.CreateToken(uid, int(platform))
|
||||||
claims, err := token_verify.ParseToken(tokenString, "")
|
claims, err := tokenverify.ParseToken(tokenString, "")
|
||||||
if err == nil {
|
if err == nil {
|
||||||
assert.Equal(t, claims.UID, uid)
|
assert.Equal(t, claims.UID, uid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func Test_GetClaimFromToken(t *testing.T) {
|
func Test_GetClaimFromToken(t *testing.T) {
|
||||||
token := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVSUQiOiJvcGVuSU0xMjM0NTYiLCJQbGF0Zm9ybSI6IiIsImV4cCI6MTYzODg0NjQ3NiwibmJmIjoxNjM4MjQxNjc2LCJpYXQiOjE2MzgyNDE2NzZ9.W8RZB7ec5ySFj-rGE2Aho2z32g3MprQMdCyPiQu_C2I"
|
token := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVSUQiOiJvcGVuSU0xMjM0NTYiLCJQbGF0Zm9ybSI6IiIsImV4cCI6MTYzODg0NjQ3NiwibmJmIjoxNjM4MjQxNjc2LCJpYXQiOjE2MzgyNDE2NzZ9.W8RZB7ec5ySFj-rGE2Aho2z32g3MprQMdCyPiQu_C2I"
|
||||||
c, err := token_verify.GetClaimFromToken(token)
|
c, err := tokenverify.GetClaimFromToken(token)
|
||||||
assert.Nil(t, c)
|
assert.Nil(t, c)
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user