From 688668f6d34d4d962247bd5df60c3fca61185927 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Thu, 24 Oct 2024 16:39:14 +0300 Subject: feat: worked on client --- internal/client/api/api.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 internal/client/api/api.go (limited to 'internal/client/api') diff --git a/internal/client/api/api.go b/internal/client/api/api.go new file mode 100644 index 0000000..56cf054 --- /dev/null +++ b/internal/client/api/api.go @@ -0,0 +1,29 @@ +package api + +import ( + "log" + + tea "github.com/charmbracelet/bubbletea" + + "github.com/kyren223/eko/internal/client/gateway" + "github.com/kyren223/eko/internal/packet" + "github.com/kyren223/eko/pkg/assert" +) + +func SendMessage(message string) tea.Cmd { + return func() tea.Msg { + log.Println("request SendMessage sent") + request := packet.SendMessage{Content: message} + responsePayload, ok := <-gateway.Send(&request) + if !ok { + log.Println("request timeout") + return "" + } + log.Println("request SendMessage received response") + + response := responsePayload.(*packet.ErrorMessage) + assert.Assert(ok, "server should return an ErrorMessage response for a SendMessage request") + assert.Assert(response.IsOk(), "server should always return an OK if we didn't mess up") + return "" + } +} -- cgit v1.3.1