mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-05 03:42:08 +08:00
feat: save callbacks code
This commit is contained in:
parent
ecdc76bd62
commit
d3df5c8d9c
@ -33,9 +33,14 @@ import (
|
||||
"github.com/openimsdk/open-im-server/v3/pkg/common/http"
|
||||
)
|
||||
|
||||
type EventCallbackConfig struct {
|
||||
CallbackUrl string
|
||||
BeforeCreateGroup config.CallBackConfig
|
||||
}
|
||||
|
||||
// CallbackBeforeCreateGroup callback before create group
|
||||
func CallbackBeforeCreateGroup(ctx context.Context, globalConfig *config.GlobalConfig, req *group.CreateGroupReq) (err error) {
|
||||
if !globalConfig.Callback.CallbackBeforeCreateGroup.Enable {
|
||||
func CallbackBeforeCreateGroup(ctx context.Context, cfg *EventCallbackConfig, req *group.CreateGroupReq) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
cbReq := &callbackstruct.CallbackBeforeCreateGroupReq{
|
||||
@ -60,9 +65,11 @@ func CallbackBeforeCreateGroup(ctx context.Context, globalConfig *config.GlobalC
|
||||
})
|
||||
}
|
||||
resp := &callbackstruct.CallbackBeforeCreateGroupResp{}
|
||||
if err = http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, cbReq, resp, globalConfig.Callback.CallbackBeforeCreateGroup); err != nil {
|
||||
|
||||
if err = http.CallBackPostReturn(ctx, cfg.CallbackUrl, cbReq, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
utils.NotNilReplace(&req.GroupInfo.GroupID, resp.GroupID)
|
||||
utils.NotNilReplace(&req.GroupInfo.GroupName, resp.GroupName)
|
||||
utils.NotNilReplace(&req.GroupInfo.Notification, resp.Notification)
|
||||
@ -78,10 +85,11 @@ func CallbackBeforeCreateGroup(ctx context.Context, globalConfig *config.GlobalC
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackAfterCreateGroup(ctx context.Context, globalConfig *config.GlobalConfig, req *group.CreateGroupReq) (err error) {
|
||||
if !globalConfig.Callback.CallbackAfterCreateGroup.Enable {
|
||||
func CallbackAfterCreateGroup(ctx context.Context, cfg *EventCallbackConfig, req *group.CreateGroupReq) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
|
||||
cbReq := &callbackstruct.CallbackAfterCreateGroupReq{
|
||||
CallbackCommand: callbackstruct.CallbackAfterCreateGroupCommand,
|
||||
GroupInfo: req.GroupInfo,
|
||||
@ -103,19 +111,14 @@ func CallbackAfterCreateGroup(ctx context.Context, globalConfig *config.GlobalCo
|
||||
})
|
||||
}
|
||||
resp := &callbackstruct.CallbackAfterCreateGroupResp{}
|
||||
if err = http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, cbReq, resp, globalConfig.Callback.CallbackAfterCreateGroup); err != nil {
|
||||
if err = http.CallBackPostReturn(ctx, cfg.CallbackUrl, cbReq, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackBeforeMemberJoinGroup(
|
||||
ctx context.Context,
|
||||
globalConfig *config.GlobalConfig,
|
||||
groupMember *relation.GroupMemberModel,
|
||||
groupEx string,
|
||||
) (err error) {
|
||||
if !globalConfig.Callback.CallbackBeforeMemberJoinGroup.Enable {
|
||||
func CallbackBeforeMemberJoinGroup(ctx context.Context, cfg *EventCallbackConfig, groupMember *relation.GroupMemberModel, groupEx string) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
callbackReq := &callbackstruct.CallbackBeforeMemberJoinGroupReq{
|
||||
@ -128,10 +131,10 @@ func CallbackBeforeMemberJoinGroup(
|
||||
resp := &callbackstruct.CallbackBeforeMemberJoinGroupResp{}
|
||||
err = http.CallBackPostReturn(
|
||||
ctx,
|
||||
globalConfig.Callback.CallbackUrl,
|
||||
cfg.CallbackUrl,
|
||||
callbackReq,
|
||||
resp,
|
||||
globalConfig.Callback.CallbackBeforeMemberJoinGroup,
|
||||
cfg.BeforeCreateGroup,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -146,10 +149,11 @@ func CallbackBeforeMemberJoinGroup(
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackBeforeSetGroupMemberInfo(ctx context.Context, globalConfig *config.GlobalConfig, req *group.SetGroupMemberInfo) (err error) {
|
||||
if !globalConfig.Callback.CallbackBeforeSetGroupMemberInfo.Enable {
|
||||
func CallbackBeforeSetGroupMemberInfo(ctx context.Context, cfg *EventCallbackConfig, req *group.SetGroupMemberInfo) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
|
||||
callbackReq := callbackstruct.CallbackBeforeSetGroupMemberInfoReq{
|
||||
CallbackCommand: callbackstruct.CallbackBeforeSetGroupMemberInfoCommand,
|
||||
GroupID: req.GroupID,
|
||||
@ -170,10 +174,10 @@ func CallbackBeforeSetGroupMemberInfo(ctx context.Context, globalConfig *config.
|
||||
resp := &callbackstruct.CallbackBeforeSetGroupMemberInfoResp{}
|
||||
err = http.CallBackPostReturn(
|
||||
ctx,
|
||||
globalConfig.Callback.CallbackUrl,
|
||||
cfg.CallbackUrl,
|
||||
callbackReq,
|
||||
resp,
|
||||
globalConfig.Callback.CallbackBeforeSetGroupMemberInfo,
|
||||
cfg.BeforeCreateGroup,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -192,8 +196,9 @@ func CallbackBeforeSetGroupMemberInfo(ctx context.Context, globalConfig *config.
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func CallbackAfterSetGroupMemberInfo(ctx context.Context, globalConfig *config.GlobalConfig, req *group.SetGroupMemberInfo) (err error) {
|
||||
if !globalConfig.Callback.CallbackBeforeSetGroupMemberInfo.Enable {
|
||||
|
||||
func CallbackAfterSetGroupMemberInfo(ctx context.Context, cfg *EventCallbackConfig, req *group.SetGroupMemberInfo) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
callbackReq := callbackstruct.CallbackAfterSetGroupMemberInfoReq{
|
||||
@ -214,14 +219,14 @@ func CallbackAfterSetGroupMemberInfo(ctx context.Context, globalConfig *config.G
|
||||
callbackReq.Ex = &req.Ex.Value
|
||||
}
|
||||
resp := &callbackstruct.CallbackAfterSetGroupMemberInfoResp{}
|
||||
if err = http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, callbackReq, resp, globalConfig.Callback.CallbackAfterSetGroupMemberInfo); err != nil {
|
||||
if err = http.CallBackPostReturn(ctx, cfg.CallbackUrl, callbackReq, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackQuitGroup(ctx context.Context, globalConfig *config.GlobalConfig, req *group.QuitGroupReq) (err error) {
|
||||
if !globalConfig.Callback.CallbackQuitGroup.Enable {
|
||||
func CallbackQuitGroup(ctx context.Context, cfg *EventCallbackConfig, req *group.QuitGroupReq) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
cbReq := &callbackstruct.CallbackQuitGroupReq{
|
||||
@ -230,14 +235,14 @@ func CallbackQuitGroup(ctx context.Context, globalConfig *config.GlobalConfig, r
|
||||
UserID: req.UserID,
|
||||
}
|
||||
resp := &callbackstruct.CallbackQuitGroupResp{}
|
||||
if err = http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, cbReq, resp, globalConfig.Callback.CallbackQuitGroup); err != nil {
|
||||
if err = http.CallBackPostReturn(ctx, cfg.CallbackUrl, cbReq, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackKillGroupMember(ctx context.Context, globalConfig *config.GlobalConfig, req *pbgroup.KickGroupMemberReq) (err error) {
|
||||
if !globalConfig.Callback.CallbackKillGroupMember.Enable {
|
||||
func CallbackKillGroupMember(ctx context.Context, cfg *EventCallbackConfig, req *pbgroup.KickGroupMemberReq) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
cbReq := &callbackstruct.CallbackKillGroupMemberReq{
|
||||
@ -246,41 +251,41 @@ func CallbackKillGroupMember(ctx context.Context, globalConfig *config.GlobalCon
|
||||
KickedUserIDs: req.KickedUserIDs,
|
||||
}
|
||||
resp := &callbackstruct.CallbackKillGroupMemberResp{}
|
||||
if err = http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, cbReq, resp, globalConfig.Callback.CallbackQuitGroup); err != nil {
|
||||
if err = http.CallBackPostReturn(ctx, cfg.CallbackUrl, cbReq, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackDismissGroup(ctx context.Context, globalConfig *config.GlobalConfig, req *callbackstruct.CallbackDisMissGroupReq) (err error) {
|
||||
if !globalConfig.Callback.CallbackDismissGroup.Enable {
|
||||
func CallbackDismissGroup(ctx context.Context, cfg *EventCallbackConfig, req *callbackstruct.CallbackDisMissGroupReq) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
req.CallbackCommand = callbackstruct.CallbackDisMissGroupCommand
|
||||
resp := &callbackstruct.CallbackDisMissGroupResp{}
|
||||
if err = http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, req, resp, globalConfig.Callback.CallbackQuitGroup); err != nil {
|
||||
if err = http.CallBackPostReturn(ctx, cfg.CallbackUrl, req, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackApplyJoinGroupBefore(ctx context.Context, globalConfig *config.GlobalConfig, req *callbackstruct.CallbackJoinGroupReq) (err error) {
|
||||
if !globalConfig.Callback.CallbackBeforeJoinGroup.Enable {
|
||||
func CallbackApplyJoinGroupBefore(ctx context.Context, cfg *EventCallbackConfig, req *callbackstruct.CallbackJoinGroupReq) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
|
||||
req.CallbackCommand = callbackstruct.CallbackBeforeJoinGroupCommand
|
||||
|
||||
resp := &callbackstruct.CallbackJoinGroupResp{}
|
||||
if err = http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, req, resp, globalConfig.Callback.CallbackBeforeJoinGroup); err != nil {
|
||||
if err = http.CallBackPostReturn(ctx, cfg.CallbackUrl, req, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackAfterTransferGroupOwner(ctx context.Context, globalConfig *config.GlobalConfig, req *pbgroup.TransferGroupOwnerReq) (err error) {
|
||||
if !globalConfig.Callback.CallbackAfterTransferGroupOwner.Enable {
|
||||
func CallbackAfterTransferGroupOwner(ctx context.Context, cfg *EventCallbackConfig, req *pbgroup.TransferGroupOwnerReq) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -292,13 +297,13 @@ func CallbackAfterTransferGroupOwner(ctx context.Context, globalConfig *config.G
|
||||
}
|
||||
|
||||
resp := &callbackstruct.CallbackTransferGroupOwnerResp{}
|
||||
if err = http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, cbReq, resp, globalConfig.Callback.CallbackAfterTransferGroupOwner); err != nil {
|
||||
if err = http.CallBackPostReturn(ctx, cfg.CallbackUrl, cbReq, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func CallbackBeforeInviteUserToGroup(ctx context.Context, globalConfig *config.GlobalConfig, req *group.InviteUserToGroupReq) (err error) {
|
||||
if !globalConfig.Callback.CallbackBeforeInviteUserToGroup.Enable {
|
||||
func CallbackBeforeInviteUserToGroup(ctx context.Context, cfg *EventCallbackConfig, req *group.InviteUserToGroupReq) (err error) {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -313,10 +318,10 @@ func CallbackBeforeInviteUserToGroup(ctx context.Context, globalConfig *config.G
|
||||
resp := &callbackstruct.CallbackBeforeInviteUserToGroupResp{}
|
||||
err = http.CallBackPostReturn(
|
||||
ctx,
|
||||
globalConfig.Callback.CallbackUrl,
|
||||
cfg.CallbackUrl,
|
||||
callbackReq,
|
||||
resp,
|
||||
globalConfig.Callback.CallbackBeforeInviteUserToGroup,
|
||||
cfg.BeforeCreateGroup,
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
@ -330,8 +335,8 @@ func CallbackBeforeInviteUserToGroup(ctx context.Context, globalConfig *config.G
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackAfterJoinGroup(ctx context.Context, globalConfig *config.GlobalConfig, req *group.JoinGroupReq) error {
|
||||
if !globalConfig.Callback.CallbackAfterJoinGroup.Enable {
|
||||
func CallbackAfterJoinGroup(ctx context.Context, cfg *EventCallbackConfig, req *group.JoinGroupReq) error {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
callbackReq := &callbackstruct.CallbackAfterJoinGroupReq{
|
||||
@ -343,14 +348,14 @@ func CallbackAfterJoinGroup(ctx context.Context, globalConfig *config.GlobalConf
|
||||
InviterUserID: req.InviterUserID,
|
||||
}
|
||||
resp := &callbackstruct.CallbackAfterJoinGroupResp{}
|
||||
if err := http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, callbackReq, resp, globalConfig.Callback.CallbackAfterJoinGroup); err != nil {
|
||||
if err := http.CallBackPostReturn(ctx, cfg.CallbackUrl, callbackReq, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func CallbackBeforeSetGroupInfo(ctx context.Context, globalConfig *config.GlobalConfig, req *group.SetGroupInfoReq) error {
|
||||
if !globalConfig.Callback.CallbackBeforeSetGroupInfo.Enable {
|
||||
func CallbackBeforeSetGroupInfo(ctx context.Context, cfg *EventCallbackConfig, req *group.SetGroupInfoReq) error {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
callbackReq := &callbackstruct.CallbackBeforeSetGroupInfoReq{
|
||||
@ -377,7 +382,7 @@ func CallbackBeforeSetGroupInfo(ctx context.Context, globalConfig *config.Global
|
||||
}
|
||||
resp := &callbackstruct.CallbackBeforeSetGroupInfoResp{}
|
||||
|
||||
if err := http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, callbackReq, resp, globalConfig.Callback.CallbackBeforeSetGroupInfo); err != nil {
|
||||
if err := http.CallBackPostReturn(ctx, cfg.CallbackUrl, callbackReq, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -399,8 +404,9 @@ func CallbackBeforeSetGroupInfo(ctx context.Context, globalConfig *config.Global
|
||||
utils.NotNilReplace(&req.GroupInfoForSet.Introduction, &resp.Introduction)
|
||||
return nil
|
||||
}
|
||||
func CallbackAfterSetGroupInfo(ctx context.Context, globalConfig *config.GlobalConfig, req *group.SetGroupInfoReq) error {
|
||||
if !globalConfig.Callback.CallbackAfterSetGroupInfo.Enable {
|
||||
|
||||
func CallbackAfterSetGroupInfo(ctx context.Context, cfg *EventCallbackConfig, req *group.SetGroupInfoReq) error {
|
||||
if !cfg.BeforeCreateGroup.Enable {
|
||||
return nil
|
||||
}
|
||||
callbackReq := &callbackstruct.CallbackAfterSetGroupInfoReq{
|
||||
@ -424,7 +430,7 @@ func CallbackAfterSetGroupInfo(ctx context.Context, globalConfig *config.GlobalC
|
||||
callbackReq.ApplyMemberFriend = &req.GroupInfoForSet.ApplyMemberFriend.Value
|
||||
}
|
||||
resp := &callbackstruct.CallbackAfterSetGroupInfoResp{}
|
||||
if err := http.CallBackPostReturn(ctx, globalConfig.Callback.CallbackUrl, callbackReq, resp, globalConfig.Callback.CallbackAfterSetGroupInfo); err != nil {
|
||||
if err := http.CallBackPostReturn(ctx, cfg.CallbackUrl, callbackReq, resp, cfg.BeforeCreateGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
@ -216,15 +216,28 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbgroup.CreateGroupR
|
||||
if len(userMap) != len(userIDs) {
|
||||
return nil, errs.ErrUserIDNotFound.Wrap("user not found")
|
||||
}
|
||||
|
||||
config := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeCreateGroup,
|
||||
}
|
||||
|
||||
// Callback Before create Group
|
||||
if err := CallbackBeforeCreateGroup(ctx, s.config, req); err != nil {
|
||||
if err := CallbackBeforeCreateGroup(ctx, config, req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var groupMembers []*relationtb.GroupMemberModel
|
||||
group := convert.Pb2DBGroupInfo(req.GroupInfo)
|
||||
if err := s.GenGroupID(ctx, &group.GroupID); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
beforeCreateGroupConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeMemberJoinGroup,
|
||||
}
|
||||
|
||||
joinGroup := func(userID string, roleLevel int32) error {
|
||||
groupMember := &relationtb.GroupMemberModel{
|
||||
GroupID: group.GroupID,
|
||||
@ -236,7 +249,8 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbgroup.CreateGroupR
|
||||
JoinTime: time.Now(),
|
||||
MuteEndTime: time.UnixMilli(0),
|
||||
}
|
||||
if err := CallbackBeforeMemberJoinGroup(ctx, s.config, groupMember, group.Ex); err != nil {
|
||||
|
||||
if err := CallbackBeforeMemberJoinGroup(ctx, beforeCreateGroupConfig, groupMember, group.Ex); err != nil {
|
||||
return err
|
||||
}
|
||||
groupMembers = append(groupMembers, groupMember)
|
||||
@ -259,6 +273,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbgroup.CreateGroupR
|
||||
return nil, err
|
||||
}
|
||||
resp := &pbgroup.CreateGroupResp{GroupInfo: &sdkws.GroupInfo{}}
|
||||
|
||||
resp.GroupInfo = convert.Db2PbGroupInfo(group, req.OwnerUserID, uint32(len(userIDs)))
|
||||
resp.GroupInfo.MemberCount = uint32(len(userIDs))
|
||||
tips := &sdkws.GroupCreatedTips{
|
||||
@ -297,6 +312,9 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbgroup.CreateGroupR
|
||||
}
|
||||
s.Notification.GroupCreatedNotification(ctx, tips)
|
||||
}
|
||||
|
||||
afterCreateGroupConfig := beforeCreateGroupConfig
|
||||
|
||||
reqCallBackAfter := &pbgroup.CreateGroupReq{
|
||||
MemberUserIDs: userIDs,
|
||||
GroupInfo: resp.GroupInfo,
|
||||
@ -304,7 +322,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbgroup.CreateGroupR
|
||||
AdminUserIDs: req.AdminUserIDs,
|
||||
}
|
||||
|
||||
if err := CallbackAfterCreateGroup(ctx, s.config, reqCallBackAfter); err != nil {
|
||||
if err := CallbackAfterCreateGroup(ctx, afterCreateGroupConfig, reqCallBackAfter); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@ -395,9 +413,15 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbgroup.Invite
|
||||
}
|
||||
}
|
||||
|
||||
if err := CallbackBeforeInviteUserToGroup(ctx, s.config, req); err != nil {
|
||||
beforeInviteUserToGroupConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeInviteUserToGroup,
|
||||
}
|
||||
|
||||
if err := CallbackBeforeInviteUserToGroup(ctx, beforeInviteUserToGroupConfig, req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if group.NeedVerification == constant.AllNeedVerification {
|
||||
if !authverify.IsAppManagerUid(ctx, s.config) {
|
||||
if !(groupMember.RoleLevel == constant.GroupOwner || groupMember.RoleLevel == constant.GroupAdmin) {
|
||||
@ -439,7 +463,10 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbgroup.Invite
|
||||
JoinTime: time.Now(),
|
||||
MuteEndTime: time.UnixMilli(0),
|
||||
}
|
||||
if err := CallbackBeforeMemberJoinGroup(ctx, s.config, member, group.Ex); err != nil {
|
||||
|
||||
beforeMemberJoinGroupConfig := beforeInviteUserToGroupConfig
|
||||
|
||||
if err := CallbackBeforeMemberJoinGroup(ctx, beforeMemberJoinGroupConfig, member, group.Ex); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
groupMembers = append(groupMembers, member)
|
||||
@ -611,7 +638,12 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbgroup.KickGrou
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := CallbackKillGroupMember(ctx, s.config, req); err != nil {
|
||||
killGroupMemberConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeMemberJoinGroup,
|
||||
}
|
||||
|
||||
if err := CallbackKillGroupMember(ctx, killGroupMemberConfig, req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return resp, nil
|
||||
@ -781,7 +813,13 @@ func (s *groupServer) GroupApplicationResponse(ctx context.Context, req *pbgroup
|
||||
OperatorUserID: mcontext.GetOpUserID(ctx),
|
||||
Ex: groupRequest.Ex,
|
||||
}
|
||||
if err = CallbackBeforeMemberJoinGroup(ctx, s.config, member, group.Ex); err != nil {
|
||||
|
||||
beforeMemberJoinGroupConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeMemberJoinGroup,
|
||||
}
|
||||
|
||||
if err = CallbackBeforeMemberJoinGroup(ctx, beforeMemberJoinGroupConfig, member, group.Ex); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@ -829,7 +867,12 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbgroup.JoinGroupReq)
|
||||
Ex: req.Ex,
|
||||
}
|
||||
|
||||
if err = CallbackApplyJoinGroupBefore(ctx, s.config, reqCall); err != nil {
|
||||
applyJoinGroupBeforeConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeMemberJoinGroup,
|
||||
}
|
||||
|
||||
if err = CallbackApplyJoinGroupBefore(ctx, applyJoinGroupBeforeConfig, reqCall); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
_, err = s.db.TakeGroupMember(ctx, req.GroupID, req.InviterUserID)
|
||||
@ -850,7 +893,8 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbgroup.JoinGroupReq)
|
||||
JoinTime: time.Now(),
|
||||
MuteEndTime: time.UnixMilli(0),
|
||||
}
|
||||
if err := CallbackBeforeMemberJoinGroup(ctx, s.config, groupMember, group.Ex); err != nil {
|
||||
MemberJoinGroupConfig := applyJoinGroupBeforeConfig
|
||||
if err := CallbackBeforeMemberJoinGroup(ctx, MemberJoinGroupConfig, groupMember, group.Ex); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := s.db.CreateGroup(ctx, nil, []*relationtb.GroupMemberModel{groupMember}); err != nil {
|
||||
@ -861,7 +905,8 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbgroup.JoinGroupReq)
|
||||
return nil, err
|
||||
}
|
||||
s.Notification.MemberEnterNotification(ctx, req.GroupID, req.InviterUserID)
|
||||
if err = CallbackAfterJoinGroup(ctx, s.config, req); err != nil {
|
||||
afterJoinGroupConfig := applyJoinGroupBeforeConfig
|
||||
if err = CallbackAfterJoinGroup(ctx, afterJoinGroupConfig, req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return resp, nil
|
||||
@ -910,8 +955,12 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbgroup.QuitGroupReq)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// callback
|
||||
if err := CallbackQuitGroup(ctx, s.config, req); err != nil {
|
||||
quitGroupConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeMemberJoinGroup,
|
||||
}
|
||||
|
||||
if err := CallbackQuitGroup(ctx, quitGroupConfig, req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return resp, nil
|
||||
@ -941,7 +990,13 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbgroup.SetGroupInf
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
if err := CallbackBeforeSetGroupInfo(ctx, s.config, req); err != nil {
|
||||
|
||||
beforeSetGroupInfoConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeMemberJoinGroup,
|
||||
}
|
||||
|
||||
if err := CallbackBeforeSetGroupInfo(ctx, beforeSetGroupInfoConfig, req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
group, err := s.db.TakeGroup(ctx, req.GroupInfoForSet.GroupID)
|
||||
@ -1010,7 +1065,9 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbgroup.SetGroupInf
|
||||
if num > 0 {
|
||||
_ = s.Notification.GroupInfoSetNotification(ctx, tips)
|
||||
}
|
||||
if err := CallbackAfterSetGroupInfo(ctx, s.config, req); err != nil {
|
||||
|
||||
afterSetGroupInfoConfig := beforeSetGroupInfoConfig
|
||||
if err := CallbackAfterSetGroupInfo(ctx, afterSetGroupInfoConfig, req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return resp, nil
|
||||
@ -1056,7 +1113,12 @@ func (s *groupServer) TransferGroupOwner(ctx context.Context, req *pbgroup.Trans
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := CallbackAfterTransferGroupOwner(ctx, s.config, req); err != nil {
|
||||
afterTransferGroupOwnerConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeMemberJoinGroup,
|
||||
}
|
||||
|
||||
if err := CallbackAfterTransferGroupOwner(ctx, afterTransferGroupOwnerConfig, req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
s.Notification.GroupOwnerTransferredNotification(ctx, req)
|
||||
@ -1223,7 +1285,13 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbgroup.DismissGrou
|
||||
MembersID: membersID,
|
||||
GroupType: string(group.GroupType),
|
||||
}
|
||||
if err := CallbackDismissGroup(ctx, s.config, reqCall); err != nil {
|
||||
|
||||
dismissGroupConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeMemberJoinGroup,
|
||||
}
|
||||
|
||||
if err := CallbackDismissGroup(ctx, dismissGroupConfig, reqCall); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@ -1414,8 +1482,14 @@ func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbgroup.SetGr
|
||||
return nil, errs.ErrArgs.Wrap("user not in group")
|
||||
}
|
||||
}
|
||||
|
||||
beforeSetGroupMemberInfoConfig := &EventCallbackConfig{
|
||||
CallbackUrl: s.config.Callback.CallbackUrl,
|
||||
BeforeCreateGroup: s.config.Callback.CallbackBeforeMemberJoinGroup,
|
||||
}
|
||||
|
||||
for i := 0; i < len(req.Members); i++ {
|
||||
if err := CallbackBeforeSetGroupMemberInfo(ctx, s.config, req.Members[i]); err != nil {
|
||||
if err := CallbackBeforeSetGroupMemberInfo(ctx, beforeSetGroupMemberInfoConfig, req.Members[i]); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@ -1441,8 +1515,9 @@ func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbgroup.SetGr
|
||||
s.Notification.GroupMemberInfoSetNotification(ctx, member.GroupID, member.UserID)
|
||||
}
|
||||
}
|
||||
afterSetGroupMemberInfoConfig := beforeSetGroupMemberInfoConfig
|
||||
for i := 0; i < len(req.Members); i++ {
|
||||
if err := CallbackAfterSetGroupMemberInfo(ctx, s.config, req.Members[i]); err != nil {
|
||||
if err := CallbackAfterSetGroupMemberInfo(ctx, afterSetGroupMemberInfoConfig, req.Members[i]); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
@ -118,6 +118,7 @@ type Minio struct {
|
||||
SignEndpoint string `yaml:"signEndpoint"`
|
||||
PublicRead bool `yaml:"publicRead"`
|
||||
}
|
||||
|
||||
type Cos struct {
|
||||
BucketURL string `yaml:"bucketURL"`
|
||||
SecretID string `yaml:"secretID"`
|
||||
@ -125,6 +126,7 @@ type Cos struct {
|
||||
SessionToken string `yaml:"sessionToken"`
|
||||
PublicRead bool `yaml:"publicRead"`
|
||||
}
|
||||
|
||||
type Oss struct {
|
||||
Endpoint string `yaml:"endpoint"`
|
||||
Bucket string `yaml:"bucket"`
|
||||
@ -134,6 +136,7 @@ type Oss struct {
|
||||
SessionToken string `yaml:"sessionToken"`
|
||||
PublicRead bool `yaml:"publicRead"`
|
||||
}
|
||||
|
||||
type Kodo struct {
|
||||
Endpoint string `yaml:"endpoint"`
|
||||
Bucket string `yaml:"bucket"`
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user