summaryrefslogtreecommitdiff
path: root/internal/client/api
diff options
context:
space:
mode:
Diffstat (limited to 'internal/client/api')
-rw-r--r--internal/client/api/api.go130
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())
- }
-}