mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-12-04 03:12:19 +08:00
fix: merge
This commit is contained in:
commit
bddb3a180e
16
.env
16
.env
@ -30,11 +30,11 @@ MINIO_ENDPOINT=http://172.28.0.1:10005
|
|||||||
|
|
||||||
# Base URL for the application programming interface (API).
|
# Base URL for the application programming interface (API).
|
||||||
# Default: API_URL=http://172.28.0.1:10002
|
# Default: API_URL=http://172.28.0.1:10002
|
||||||
API_URL=http://125.124.195.201:10002
|
API_URL=http://172.28.0.1:10002
|
||||||
|
|
||||||
# Directory path for storing data files or related information.
|
# Directory path for storing data files or related information.
|
||||||
# Default: DATA_DIR=./
|
# Default: DATA_DIR=./
|
||||||
DATA_DIR=/root/open-im-server
|
DATA_DIR=./
|
||||||
|
|
||||||
# Choose the appropriate image address, the default is GITHUB image,
|
# Choose the appropriate image address, the default is GITHUB image,
|
||||||
# you can choose docker hub, for Chinese users can choose Ali Cloud
|
# you can choose docker hub, for Chinese users can choose Ali Cloud
|
||||||
@ -108,8 +108,8 @@ NODE_EXPORTER_NETWORK_ADDRESS=172.28.0.13
|
|||||||
OPENIM_ADMIN_FRONT_NETWORK_ADDRESS=172.28.0.14
|
OPENIM_ADMIN_FRONT_NETWORK_ADDRESS=172.28.0.14
|
||||||
|
|
||||||
# Address or hostname for the alertmanager network.
|
# Address or hostname for the alertmanager network.
|
||||||
# Default: ALERT_MANAGER_NETWORK_ADDRESS=172.28.0.15
|
# Default: ALERT_MANAGER_NETWORK_ADDRESS=172.28.0.14
|
||||||
ALERT_MANAGER_NETWORK_ADDRESS=172.28.0.15
|
ALERT_MANAGER_NETWORK_ADDRESS=172.28.0.14
|
||||||
# ===============================================
|
# ===============================================
|
||||||
# = Component Extension Configuration =
|
# = Component Extension Configuration =
|
||||||
# ===============================================
|
# ===============================================
|
||||||
@ -225,8 +225,8 @@ PROMETHEUS_PORT=19090
|
|||||||
GRAFANA_ADDRESS=172.28.0.12
|
GRAFANA_ADDRESS=172.28.0.12
|
||||||
|
|
||||||
# Port on which Grafana service is running.
|
# Port on which Grafana service is running.
|
||||||
# Default: GRAFANA_PORT=13000
|
# Default: GRAFANA_PORT=3000
|
||||||
GRAFANA_PORT=13000
|
GRAFANA_PORT=3000
|
||||||
|
|
||||||
# ======================================
|
# ======================================
|
||||||
# ============ OpenIM Web ===============
|
# ============ OpenIM Web ===============
|
||||||
@ -303,8 +303,8 @@ NODE_EXPORTER_PORT=19100
|
|||||||
PROMETHEUS_PORT=19090
|
PROMETHEUS_PORT=19090
|
||||||
|
|
||||||
# Port for the grafana.
|
# Port for the grafana.
|
||||||
# Default: GRAFANA_PORT=13000
|
# Default: GRAFANA_PORT=3000
|
||||||
GRAFANA_PORT=13000
|
GRAFANA_PORT=3000
|
||||||
|
|
||||||
# Port for the admin front.
|
# Port for the admin front.
|
||||||
# Default: OPENIM_ADMIN_FRONT_PORT=11002
|
# Default: OPENIM_ADMIN_FRONT_PORT=11002
|
||||||
|
|||||||
@ -434,67 +434,65 @@ callback:
|
|||||||
timeout: ${CALLBACK_TIMEOUT}
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
afterGroupMsgRead:
|
afterGroupMsgRead:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
afterGroupMsgRevoke:
|
afterGroupMsgRevoke:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
afterJoinGroup:
|
afterJoinGroup:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
beforeInviteUserToGroup:
|
beforeInviteUserToGroup:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
|
|
||||||
joinGroupAfter:
|
joinGroupAfter:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
##TODO CALLBACK
|
|
||||||
setGroupInfoAfter:
|
setGroupInfoAfter:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
setGroupInfoBefore:
|
setGroupInfoBefore:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
revokeMsgAfter:
|
revokeMsgAfter:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
addBlackBefore:
|
addBlackBefore:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
addFriendAfter:
|
addFriendAfter:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
addFriendAgreeBefore:
|
addFriendAgreeBefore:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
deleteFriendAfter:
|
deleteFriendAfter:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
importFriendsBefore:
|
importFriendsBefore:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
importFriendsAfter:
|
importFriendsAfter:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
removeBlackAfter:
|
removeBlackAfter:
|
||||||
enable: false
|
enable: ${CALLBACK_ENABLE}
|
||||||
timeout: 5
|
timeout: ${CALLBACK_TIMEOUT}
|
||||||
failedContinue: true
|
failedContinue: ${CALLBACK_FAILED_CONTINUE}
|
||||||
###################### Prometheus ######################
|
###################### Prometheus ######################
|
||||||
# Prometheus configuration for various services
|
# Prometheus configuration for various services
|
||||||
# The number of Prometheus ports per service needs to correspond to rpcPort
|
# The number of Prometheus ports per service needs to correspond to rpcPort
|
||||||
|
|||||||
@ -16,6 +16,7 @@ package group
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"github.com/OpenIMSDK/tools/errs"
|
||||||
"github.com/OpenIMSDK/tools/log"
|
"github.com/OpenIMSDK/tools/log"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -194,3 +195,249 @@ func CallbackBeforeSetGroupMemberInfo(ctx context.Context, req *group.SetGroupMe
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
func CallbackAfterSetGroupMemberInfo(ctx context.Context, req *group.SetGroupMemberInfo) (err error) {
|
||||||
|
if !config.Config.Callback.CallbackBeforeSetGroupMemberInfo.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
callbackReq := callbackstruct.CallbackAfterSetGroupMemberInfoReq{
|
||||||
|
CallbackCommand: callbackstruct.CallbackBeforeSetGroupMemberInfoCommand,
|
||||||
|
GroupID: req.GroupID,
|
||||||
|
UserID: req.UserID,
|
||||||
|
}
|
||||||
|
if req.Nickname != nil {
|
||||||
|
callbackReq.Nickname = &req.Nickname.Value
|
||||||
|
}
|
||||||
|
if req.FaceURL != nil {
|
||||||
|
callbackReq.FaceURL = &req.FaceURL.Value
|
||||||
|
}
|
||||||
|
if req.RoleLevel != nil {
|
||||||
|
callbackReq.RoleLevel = &req.RoleLevel.Value
|
||||||
|
}
|
||||||
|
if req.Ex != nil {
|
||||||
|
callbackReq.Ex = &req.Ex.Value
|
||||||
|
}
|
||||||
|
resp := &callbackstruct.CallbackAfterSetGroupMemberInfoResp{}
|
||||||
|
if err = http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, callbackReq, resp, config.Config.Callback.CallbackBeforeSetGroupMemberInfo); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CallbackQuitGroup(ctx context.Context, req *group.QuitGroupReq) (err error) {
|
||||||
|
if !config.Config.Callback.CallbackQuitGroup.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
cbReq := &callbackstruct.CallbackQuitGroupReq{
|
||||||
|
CallbackCommand: callbackstruct.CallbackQuitGroupCommand,
|
||||||
|
GroupID: req.GroupID,
|
||||||
|
UserID: req.UserID,
|
||||||
|
}
|
||||||
|
resp := &callbackstruct.CallbackQuitGroupResp{}
|
||||||
|
if err = http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, cbReq, resp, config.Config.Callback.CallbackQuitGroup); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CallbackKillGroupMember(ctx context.Context, req *pbgroup.KickGroupMemberReq) (err error) {
|
||||||
|
if !config.Config.Callback.CallbackKillGroupMember.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
cbReq := &callbackstruct.CallbackKillGroupMemberReq{
|
||||||
|
CallbackCommand: callbackstruct.CallbackKillGroupCommand,
|
||||||
|
GroupID: req.GroupID,
|
||||||
|
KickedUserIDs: req.KickedUserIDs,
|
||||||
|
}
|
||||||
|
resp := &callbackstruct.CallbackKillGroupMemberResp{}
|
||||||
|
if err = http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, cbReq, resp, config.Config.Callback.CallbackQuitGroup); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CallbackDismissGroup(ctx context.Context, req *callbackstruct.CallbackDisMissGroupReq) (err error) {
|
||||||
|
if !config.Config.Callback.CallbackDismissGroup.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
req.CallbackCommand = callbackstruct.CallbackDisMissGroupCommand
|
||||||
|
resp := &callbackstruct.CallbackDisMissGroupResp{}
|
||||||
|
if err = http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, req, resp, config.Config.Callback.CallbackQuitGroup); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CallbackApplyJoinGroupBefore(ctx context.Context, req *callbackstruct.CallbackJoinGroupReq) (err error) {
|
||||||
|
if !config.Config.Callback.CallbackBeforeJoinGroup.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
req.CallbackCommand = callbackstruct.CallbackBeforeJoinGroupCommand
|
||||||
|
|
||||||
|
resp := &callbackstruct.CallbackJoinGroupResp{}
|
||||||
|
if err = http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, req, resp, config.Config.Callback.CallbackBeforeJoinGroup); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CallbackTransferGroupOwnerAfter(ctx context.Context, req *pbgroup.TransferGroupOwnerReq) (err error) {
|
||||||
|
if !config.Config.Callback.CallbackTransferGroupOwnerAfter.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
cbReq := &callbackstruct.CallbackTransferGroupOwnerReq{
|
||||||
|
CallbackCommand: callbackstruct.CallbackTransferGroupOwnerAfter,
|
||||||
|
GroupID: req.GroupID,
|
||||||
|
OldOwnerUserID: req.OldOwnerUserID,
|
||||||
|
NewOwnerUserID: req.NewOwnerUserID,
|
||||||
|
}
|
||||||
|
|
||||||
|
resp := &callbackstruct.CallbackTransferGroupOwnerResp{}
|
||||||
|
if err = http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, cbReq, resp, config.Config.Callback.CallbackBeforeJoinGroup); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func CallbackBeforeInviteUserToGroup(ctx context.Context, req *group.InviteUserToGroupReq) (err error) {
|
||||||
|
if !config.Config.Callback.CallbackBeforeInviteUserToGroup.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
callbackReq := &callbackstruct.CallbackBeforeInviteUserToGroupReq{
|
||||||
|
CallbackCommand: callbackstruct.CallbackBeforeInviteJoinGroupCommand,
|
||||||
|
OperationID: mcontext.GetOperationID(ctx),
|
||||||
|
GroupID: req.GroupID,
|
||||||
|
Reason: req.Reason,
|
||||||
|
InvitedUserIDs: req.InvitedUserIDs,
|
||||||
|
}
|
||||||
|
|
||||||
|
resp := &callbackstruct.CallbackBeforeInviteUserToGroupResp{}
|
||||||
|
err = http.CallBackPostReturn(
|
||||||
|
ctx,
|
||||||
|
config.Config.Callback.CallbackUrl,
|
||||||
|
callbackReq,
|
||||||
|
resp,
|
||||||
|
config.Config.Callback.CallbackBeforeInviteUserToGroup,
|
||||||
|
)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(resp.RefusedMembersAccount) > 0 {
|
||||||
|
// Handle the scenario where certain members are refused
|
||||||
|
// You might want to update the req.Members list or handle it as per your business logic
|
||||||
|
}
|
||||||
|
utils.StructFieldNotNilReplace(req, resp)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CallbackAfterJoinGroup(ctx context.Context, req *group.JoinGroupReq) error {
|
||||||
|
if !config.Config.Callback.CallbackAfterJoinGroup.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
callbackReq := &callbackstruct.CallbackAfterJoinGroupReq{
|
||||||
|
CallbackCommand: callbackstruct.CallbackAfterJoinGroupCommand,
|
||||||
|
OperationID: mcontext.GetOperationID(ctx),
|
||||||
|
GroupID: req.GroupID,
|
||||||
|
ReqMessage: req.ReqMessage,
|
||||||
|
JoinSource: req.JoinSource,
|
||||||
|
InviterUserID: req.InviterUserID,
|
||||||
|
}
|
||||||
|
resp := &callbackstruct.CallbackAfterJoinGroupResp{}
|
||||||
|
if err := http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, callbackReq, resp, config.Config.Callback.CallbackAfterJoinGroup); err != nil {
|
||||||
|
if err == errs.ErrCallbackContinue {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CallbackBeforeSetGroupInfo(ctx context.Context, req *group.SetGroupInfoReq) error {
|
||||||
|
if !config.Config.Callback.CallbackBeforeSetGroupInfo.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
callbackReq := &callbackstruct.CallbackBeforeSetGroupInfoReq{
|
||||||
|
CallbackCommand: callbackstruct.CallbackBeforeSetGroupInfoCommand,
|
||||||
|
GroupID: req.GroupInfoForSet.GroupID,
|
||||||
|
Notification: req.GroupInfoForSet.Notification,
|
||||||
|
Introduction: req.GroupInfoForSet.Introduction,
|
||||||
|
FaceURL: req.GroupInfoForSet.FaceURL,
|
||||||
|
GroupName: req.GroupInfoForSet.GroupName,
|
||||||
|
}
|
||||||
|
|
||||||
|
if req.GroupInfoForSet.Ex != nil {
|
||||||
|
callbackReq.Ex = req.GroupInfoForSet.Ex.Value
|
||||||
|
}
|
||||||
|
log.ZDebug(ctx, "debug CallbackBeforeSetGroupInfo", callbackReq.Ex)
|
||||||
|
if req.GroupInfoForSet.NeedVerification != nil {
|
||||||
|
callbackReq.NeedVerification = req.GroupInfoForSet.NeedVerification.Value
|
||||||
|
}
|
||||||
|
if req.GroupInfoForSet.LookMemberInfo != nil {
|
||||||
|
callbackReq.LookMemberInfo = req.GroupInfoForSet.LookMemberInfo.Value
|
||||||
|
}
|
||||||
|
if req.GroupInfoForSet.ApplyMemberFriend != nil {
|
||||||
|
callbackReq.ApplyMemberFriend = req.GroupInfoForSet.ApplyMemberFriend.Value
|
||||||
|
}
|
||||||
|
resp := &callbackstruct.CallbackBeforeSetGroupInfoResp{}
|
||||||
|
|
||||||
|
if err := http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, callbackReq, resp, config.Config.Callback.CallbackBeforeSetGroupInfo); err != nil {
|
||||||
|
if err == errs.ErrCallbackContinue {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if resp.Ex != nil {
|
||||||
|
req.GroupInfoForSet.Ex = wrapperspb.String(*resp.Ex)
|
||||||
|
}
|
||||||
|
if resp.NeedVerification != nil {
|
||||||
|
req.GroupInfoForSet.NeedVerification = wrapperspb.Int32(*resp.NeedVerification)
|
||||||
|
}
|
||||||
|
if resp.LookMemberInfo != nil {
|
||||||
|
req.GroupInfoForSet.LookMemberInfo = wrapperspb.Int32(*resp.LookMemberInfo)
|
||||||
|
}
|
||||||
|
if resp.ApplyMemberFriend != nil {
|
||||||
|
req.GroupInfoForSet.ApplyMemberFriend = wrapperspb.Int32(*resp.ApplyMemberFriend)
|
||||||
|
}
|
||||||
|
utils.StructFieldNotNilReplace(req, resp)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func CallbackAfterSetGroupInfo(ctx context.Context, req *group.SetGroupInfoReq) error {
|
||||||
|
if !config.Config.Callback.CallbackAfterSetGroupInfo.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
callbackReq := &callbackstruct.CallbackAfterSetGroupInfoReq{
|
||||||
|
CallbackCommand: callbackstruct.CallbackAfterSetGroupInfoCommand,
|
||||||
|
GroupID: req.GroupInfoForSet.GroupID,
|
||||||
|
Notification: req.GroupInfoForSet.Notification,
|
||||||
|
Introduction: req.GroupInfoForSet.Introduction,
|
||||||
|
FaceURL: req.GroupInfoForSet.FaceURL,
|
||||||
|
GroupName: req.GroupInfoForSet.GroupName,
|
||||||
|
}
|
||||||
|
if req.GroupInfoForSet.Ex != nil {
|
||||||
|
callbackReq.Ex = &req.GroupInfoForSet.Ex.Value
|
||||||
|
}
|
||||||
|
if req.GroupInfoForSet.NeedVerification != nil {
|
||||||
|
callbackReq.NeedVerification = &req.GroupInfoForSet.NeedVerification.Value
|
||||||
|
}
|
||||||
|
if req.GroupInfoForSet.LookMemberInfo != nil {
|
||||||
|
callbackReq.LookMemberInfo = &req.GroupInfoForSet.LookMemberInfo.Value
|
||||||
|
}
|
||||||
|
if req.GroupInfoForSet.ApplyMemberFriend != nil {
|
||||||
|
callbackReq.ApplyMemberFriend = &req.GroupInfoForSet.ApplyMemberFriend.Value
|
||||||
|
}
|
||||||
|
resp := &callbackstruct.CallbackAfterSetGroupInfoResp{}
|
||||||
|
if err := http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, callbackReq, resp, config.Config.Callback.CallbackAfterSetGroupInfo); err != nil {
|
||||||
|
if err == errs.ErrCallbackContinue {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
utils.StructFieldNotNilReplace(req, resp)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
@ -17,16 +17,14 @@ package msg
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/OpenIMSDK/protocol/sdkws"
|
"github.com/OpenIMSDK/protocol/sdkws"
|
||||||
|
"github.com/OpenIMSDK/tools/errs"
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
"github.com/OpenIMSDK/protocol/constant"
|
"github.com/OpenIMSDK/protocol/constant"
|
||||||
pbchat "github.com/OpenIMSDK/protocol/msg"
|
pbchat "github.com/OpenIMSDK/protocol/msg"
|
||||||
"github.com/OpenIMSDK/tools/errs"
|
|
||||||
"github.com/OpenIMSDK/tools/log"
|
"github.com/OpenIMSDK/tools/log"
|
||||||
"github.com/OpenIMSDK/tools/mcontext"
|
"github.com/OpenIMSDK/tools/mcontext"
|
||||||
"github.com/OpenIMSDK/tools/utils"
|
"github.com/OpenIMSDK/tools/utils"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
cbapi "github.com/openimsdk/open-im-server/v3/pkg/callbackstruct"
|
cbapi "github.com/openimsdk/open-im-server/v3/pkg/callbackstruct"
|
||||||
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
||||||
@ -163,3 +161,49 @@ func callbackMsgModify(ctx context.Context, msg *pbchat.SendMsgReq) error {
|
|||||||
log.ZDebug(ctx, "callbackMsgModify", "msg", msg.MsgData)
|
log.ZDebug(ctx, "callbackMsgModify", "msg", msg.MsgData)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
func CallbackGroupMsgRead(ctx context.Context, req *cbapi.CallbackGroupMsgReadReq) error {
|
||||||
|
if !config.Config.Callback.CallbackGroupMsgRead.Enable || req.ContentType != constant.Text {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
req.CallbackCommand = cbapi.CallbackGroupMsgReadCommand
|
||||||
|
|
||||||
|
resp := &cbapi.CallbackGroupMsgReadResp{}
|
||||||
|
if err := http.CallBackPostReturn(ctx, cbURL(), req, resp, config.Config.Callback.CallbackMsgModify); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CallbackSingleMsgRead(ctx context.Context, req *cbapi.CallbackSingleMsgReadReq) error {
|
||||||
|
if !config.Config.Callback.CallbackSingleMsgRead.Enable || req.ContentType != constant.Text {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
req.CallbackCommand = cbapi.CallbackSingleMsgRead
|
||||||
|
|
||||||
|
resp := &cbapi.CallbackGroupMsgReadResp{}
|
||||||
|
|
||||||
|
if err := http.CallBackPostReturn(ctx, cbURL(), req, resp, config.Config.Callback.CallbackMsgModify); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func CallbackAfterRevokeMsg(ctx context.Context, req *pbchat.RevokeMsgReq) error {
|
||||||
|
if !config.Config.Callback.CallbackAfterRevokeMsg.Enable {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
callbackReq := &cbapi.CallbackAfterRevokeMsgReq{
|
||||||
|
CallbackCommand: cbapi.CallbackAfterRevokeMsgCommand,
|
||||||
|
ConversationID: req.ConversationID,
|
||||||
|
Seq: req.Seq,
|
||||||
|
UserID: req.UserID,
|
||||||
|
}
|
||||||
|
resp := &cbapi.CallbackAfterSendGroupMsgResp{}
|
||||||
|
if err := http.CallBackPostReturn(ctx, config.Config.Callback.CallbackUrl, callbackReq, resp, config.Config.Callback.CallbackAfterSetGroupInfo); err != nil {
|
||||||
|
if err == errs.ErrCallbackContinue {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
utils.StructFieldNotNilReplace(req, resp)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user