diff --git a/libgm/messages.go b/libgm/messages.go deleted file mode 100644 index eb55eff..0000000 --- a/libgm/messages.go +++ /dev/null @@ -1,25 +0,0 @@ -package libgm - -import ( - "go.mau.fi/mautrix-gmessages/libgm/gmproto" -) - -func (c *Client) SendReaction(payload *gmproto.SendReactionRequest) (*gmproto.SendReactionResponse, error) { - actionType := gmproto.ActionType_SEND_REACTION - return typedResponse[*gmproto.SendReactionResponse](c.sessionHandler.sendMessage(actionType, payload)) -} - -func (c *Client) DeleteMessage(messageID string) (*gmproto.DeleteMessageResponse, error) { - payload := &gmproto.DeleteMessageRequest{MessageID: messageID} - actionType := gmproto.ActionType_DELETE_MESSAGE - - return typedResponse[*gmproto.DeleteMessageResponse](c.sessionHandler.sendMessage(actionType, payload)) -} - -func (c *Client) MarkRead(conversationID, messageID string) error { - payload := &gmproto.MessageReadRequest{ConversationID: conversationID, MessageID: messageID} - actionType := gmproto.ActionType_MESSAGE_READ - - _, err := c.sessionHandler.sendMessage(actionType, payload) - return err -} diff --git a/libgm/conversations.go b/libgm/methods.go similarity index 68% rename from libgm/conversations.go rename to libgm/methods.go index 463eca5..4ed00b1 100644 --- a/libgm/conversations.go +++ b/libgm/methods.go @@ -76,19 +76,31 @@ func (c *Client) GetParticipantThumbnail(convID string) (*gmproto.GetParticipant return typedResponse[*gmproto.GetParticipantThumbnailResponse](c.sessionHandler.sendMessage(actionType, payload)) } -func (c *Client) UpdateConversation(convBuilder *ConversationBuilder) (*gmproto.UpdateConversationResponse, error) { - data := &gmproto.UpdateConversationRequest{} - - payload, buildErr := convBuilder.Build(data) - if buildErr != nil { - panic(buildErr) - } - +func (c *Client) UpdateConversation(payload *gmproto.UpdateConversationRequest) (*gmproto.UpdateConversationResponse, error) { actionType := gmproto.ActionType_UPDATE_CONVERSATION - return typedResponse[*gmproto.UpdateConversationResponse](c.sessionHandler.sendMessage(actionType, payload)) } +func (c *Client) SendReaction(payload *gmproto.SendReactionRequest) (*gmproto.SendReactionResponse, error) { + actionType := gmproto.ActionType_SEND_REACTION + return typedResponse[*gmproto.SendReactionResponse](c.sessionHandler.sendMessage(actionType, payload)) +} + +func (c *Client) DeleteMessage(messageID string) (*gmproto.DeleteMessageResponse, error) { + payload := &gmproto.DeleteMessageRequest{MessageID: messageID} + actionType := gmproto.ActionType_DELETE_MESSAGE + + return typedResponse[*gmproto.DeleteMessageResponse](c.sessionHandler.sendMessage(actionType, payload)) +} + +func (c *Client) MarkRead(conversationID, messageID string) error { + payload := &gmproto.MessageReadRequest{ConversationID: conversationID, MessageID: messageID} + actionType := gmproto.ActionType_MESSAGE_READ + + _, err := c.sessionHandler.sendMessage(actionType, payload) + return err +} + func (c *Client) SetTyping(convID string) error { payload := &gmproto.TypingUpdateRequest{ Data: &gmproto.TypingUpdateRequest_Data{ConversationID: convID, Typing: true}, @@ -98,3 +110,26 @@ func (c *Client) SetTyping(convID string) error { _, err := c.sessionHandler.sendMessage(actionType, payload) return err } + +func (c *Client) SetActiveSession() error { + c.sessionHandler.ResetSessionID() + return c.sessionHandler.sendMessageNoResponse(SendMessageParams{ + Action: gmproto.ActionType_GET_UPDATES, + OmitTTL: true, + UseSessionID: true, + }) +} + +func (c *Client) IsBugleDefault() (*gmproto.IsBugleDefaultResponse, error) { + c.sessionHandler.ResetSessionID() + actionType := gmproto.ActionType_IS_BUGLE_DEFAULT + return typedResponse[*gmproto.IsBugleDefaultResponse](c.sessionHandler.sendMessage(actionType, nil)) +} + +func (c *Client) NotifyDittoActivity() error { + payload := &gmproto.NotifyDittoActivityRequest{Success: true} + actionType := gmproto.ActionType_NOTIFY_DITTO_ACTIVITY + + _, err := c.sessionHandler.sendMessage(actionType, payload) + return err +} diff --git a/libgm/session.go b/libgm/session.go deleted file mode 100644 index e546bf8..0000000 --- a/libgm/session.go +++ /dev/null @@ -1,28 +0,0 @@ -package libgm - -import ( - "go.mau.fi/mautrix-gmessages/libgm/gmproto" -) - -func (c *Client) SetActiveSession() error { - c.sessionHandler.ResetSessionID() - return c.sessionHandler.sendMessageNoResponse(SendMessageParams{ - Action: gmproto.ActionType_GET_UPDATES, - OmitTTL: true, - UseSessionID: true, - }) -} - -func (c *Client) IsBugleDefault() (*gmproto.IsBugleDefaultResponse, error) { - c.sessionHandler.ResetSessionID() - actionType := gmproto.ActionType_IS_BUGLE_DEFAULT - return typedResponse[*gmproto.IsBugleDefaultResponse](c.sessionHandler.sendMessage(actionType, nil)) -} - -func (c *Client) NotifyDittoActivity() error { - payload := &gmproto.NotifyDittoActivityRequest{Success: true} - actionType := gmproto.ActionType_NOTIFY_DITTO_ACTIVITY - - _, err := c.sessionHandler.sendMessage(actionType, payload) - return err -}