diff options
Diffstat (limited to 'internal/client/api/api.go')
| -rw-r--r-- | internal/client/api/api.go | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/internal/client/api/api.go b/internal/client/api/api.go deleted file mode 100644 index cfc4ce9..0000000 --- a/internal/client/api/api.go +++ /dev/null @@ -1,130 +0,0 @@ -package api - -import ( - "errors" - "fmt" - "log" - - tea "github.com/charmbracelet/bubbletea" - - "github.com/kyren223/eko/internal/client/gateway" - "github.com/kyren223/eko/internal/data" - "github.com/kyren223/eko/internal/packet" - "github.com/kyren223/eko/pkg/assert" - "github.com/kyren223/eko/pkg/snowflake" -) - -type ( - AppendMessage data.Message - UserProfileUpdate data.User -) - -func SendMessage(message string) tea.Cmd { - return func() tea.Msg { - log.Println("request SendMessage sent") - frequencyId := snowflake.ID(1852771536100921344) - request := packet.SendMessage{ - Content: message, - FrequencyID: &frequencyId, - } - response, ok := <-gateway.Send(&request) - if !ok { - return errors.New("request SendMessage timeout") - } - log.Println("request SendMessage received response") - - switch response := response.(type) { - case *packet.ErrorMessage: - return errors.New(response.Error) - case *packet.Messages: - assert.Assert(len(response.Messages) == 1, "server must return only the one message that was sent") - return AppendMessage(response.Messages[0]) - } - return fmt.Errorf("received invalid response from server: %v", response.Type()) - } -} - -func GetMessages() tea.Msg { - log.Println("request GetMessages sent") - frequencyId := snowflake.ID(1852771536100921344) - request := packet.GetMessagesRange{ - FrequencyID: &frequencyId, - ReceiverID: nil, - From: nil, - To: nil, - } - response, ok := <-gateway.Send(&request) - if !ok { - return errors.New("request GetMessages timeout") - } - log.Println("request GetMessages received response") - - switch response := response.(type) { - case *packet.ErrorMessage: - return errors.New(response.Error) - case *packet.Messages: - return response - } - return fmt.Errorf("received invalid response from server: %v", response.Type()) -} - -func GetUserById(id snowflake.ID) tea.Cmd { - return func() tea.Msg { - log.Println("request GetUserById for ID", id, "sent") - request := packet.GetUserByID{UserID: id} - response, ok := <-gateway.Send(&request) - if !ok { - return errors.New("request GetUserById timeout") - } - log.Println("request GetUserById received response") - - switch response := response.(type) { - case *packet.ErrorMessage: - return errors.New(response.Error) - case *packet.Users: - if len(response.Users) == 0 { - return fmt.Errorf("requested user id %v not found", id) - } - assert.Assert(len(response.Users) == 1, "server must return only one user with the matching id") - return UserProfileUpdate(response.Users[0]) - } - return fmt.Errorf("received invalid response from server: %v", response.Type()) - } -} - -func CreateServer( - name string, - icon string, - bgHexColor string, - fgHexColor string, - isPublic bool, -) tea.Cmd { - return func() tea.Msg { - requestName := "CreateServer" - log.Println("request", requestName, "sent") - request := packet.CreateNetwork{ - Name: name, - Icon: icon, - BgHexColor: bgHexColor, - FgHexColor: fgHexColor, - IsPublic: isPublic, - } - response, ok := <-gateway.Send(&request) - if !ok { - return fmt.Errorf("request %s timeout", requestName) - } - log.Println("request", requestName, "received response") - - switch response := response.(type) { - case *packet.ErrorMessage: - return errors.New(response.Error) - case *packet.Users: - if len(response.Users) == 0 { - return fmt.Errorf("requested user id %v not found", id) - } - assert.Assert(len(response.Users) == 1, "server must return only one user with the matching id") - return UserProfileUpdate(response.Users[0]) - } - return fmt.Errorf("received invalid response from server: %v", response.Type()) - } -} |
