feat: save callbacks code

pull/2100/head
Xinwei Xiong (cubxxw) 2 years ago
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…
Cancel
Save