mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-10-26 21:22:16 +08:00
49 lines
2.6 KiB
Go
49 lines
2.6 KiB
Go
package rpcli
|
|
|
|
import (
|
|
"context"
|
|
"github.com/openimsdk/protocol/conversation"
|
|
)
|
|
|
|
func NewConversationClient(cli conversation.ConversationClient) *ConversationClient {
|
|
return &ConversationClient{cli}
|
|
}
|
|
|
|
type ConversationClient struct {
|
|
conversation.ConversationClient
|
|
}
|
|
|
|
func (x *ConversationClient) SetConversationMaxSeq(ctx context.Context, conversationID string, ownerUserIDs []string, maxSeq int64) error {
|
|
req := &conversation.SetConversationMaxSeqReq{ConversationID: conversationID, OwnerUserID: ownerUserIDs, MaxSeq: maxSeq}
|
|
return ignoreResp(x.ConversationClient.SetConversationMaxSeq(ctx, req))
|
|
}
|
|
|
|
func (x *ConversationClient) SetConversations(ctx context.Context, userIDs []string, info *conversation.ConversationReq) error {
|
|
req := &conversation.SetConversationsReq{UserIDs: userIDs, Conversation: info}
|
|
return ignoreResp(x.ConversationClient.SetConversations(ctx, req))
|
|
}
|
|
|
|
func (x *ConversationClient) GetConversationsByConversationIDs(ctx context.Context, conversationIDs []string) ([]*conversation.Conversation, error) {
|
|
req := &conversation.GetConversationsByConversationIDReq{ConversationIDs: conversationIDs}
|
|
return extractField(ctx, x.ConversationClient.GetConversationsByConversationID, req, (*conversation.GetConversationsByConversationIDResp).GetConversations)
|
|
}
|
|
|
|
func (x *ConversationClient) GetConversationsByConversationID(ctx context.Context, conversationID string) (*conversation.Conversation, error) {
|
|
return firstValue(x.GetConversationsByConversationIDs(ctx, []string{conversationID}))
|
|
}
|
|
|
|
func (x *ConversationClient) SetConversationMinSeq(ctx context.Context, conversationID string, ownerUserIDs []string, minSeq int64) error {
|
|
req := &conversation.SetConversationMinSeqReq{ConversationID: conversationID, OwnerUserID: ownerUserIDs, MinSeq: minSeq}
|
|
return ignoreResp(x.ConversationClient.SetConversationMinSeq(ctx, req))
|
|
}
|
|
|
|
func (x *ConversationClient) GetConversation(ctx context.Context, conversationID string, ownerUserID string) (*conversation.Conversation, error) {
|
|
req := &conversation.GetConversationReq{ConversationID: conversationID, OwnerUserID: ownerUserID}
|
|
return extractField(ctx, x.ConversationClient.GetConversation, req, (*conversation.GetConversationResp).GetConversation)
|
|
}
|
|
|
|
func (x *ConversationClient) GetConversations(ctx context.Context, conversationIDs []string, ownerUserID string) ([]*conversation.Conversation, error) {
|
|
req := &conversation.GetConversationsReq{ConversationIDs: conversationIDs, OwnerUserID: ownerUserID}
|
|
return extractField(ctx, x.ConversationClient.GetConversations, req, (*conversation.GetConversationsResp).GetConversations)
|
|
}
|