You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Open-IM-Server/internal/push/push_rpc_server.go

43 lines
1.1 KiB

2 years ago
package push
4 years ago
import (
2 years ago
"OpenIM/pkg/common/config"
"OpenIM/pkg/common/constant"
"OpenIM/pkg/common/db/cache"
pbPush "OpenIM/pkg/proto/push"
4 years ago
"context"
2 years ago
"github.com/OpenIMSDK/openKeeper"
2 years ago
"google.golang.org/grpc"
4 years ago
)
2 years ago
type pushServer struct {
pusher *Pusher
4 years ago
}
2 years ago
2 years ago
func Start(client *openKeeper.ZkClient, server *grpc.Server) error {
3 years ago
2 years ago
pbPush.RegisterPushMsgServiceServer(server, &pushServer{
pusher: NewPusher(),
})
4 years ago
}
2 years ago
2 years ago
func (r *pushServer) PushMsg(ctx context.Context, pbData *pbPush.PushMsgReq) (resp *pbPush.PushMsgResp, err error) {
3 years ago
switch pbData.MsgData.SessionType {
case constant.SuperGroupChatType:
2 years ago
err = r.pusher.MsgToSuperGroupUser(ctx, pbData.SourceID, pbData.MsgData)
3 years ago
default:
2 years ago
err = r.pusher.MsgToUser(ctx, pbData.SourceID, pbData.MsgData)
3 years ago
}
2 years ago
if err != nil {
return nil, err
}
return &pbPush.PushMsgResp{}, nil
4 years ago
}
2 years ago
func (r *pushServer) DelUserPushToken(ctx context.Context, req *pbPush.DelUserPushTokenReq) (resp *pbPush.DelUserPushTokenResp, err error) {
if err = r.pusher.database.DelFcmToken(ctx, req.UserID, int(req.PlatformID)); err != nil {
return nil, err
}
return &pbPush.DelUserPushTokenResp{}, nil
}