diff --git a/cmd/chat-cli/api/client.go b/cmd/chat-cli/api/client.go index 42334d2..205f39d 100644 --- a/cmd/chat-cli/api/client.go +++ b/cmd/chat-cli/api/client.go @@ -7,6 +7,7 @@ import ( "io" "net/http" "net/url" + "strings" "time" ) @@ -167,7 +168,9 @@ func (c *Client) ListChannels() ([]Channel, error) { // GetMembers returns members of a channel. func (c *Client) GetMembers(channel string) ([]string, error) { - data, err := c.do("GET", "/api/v1/channels/"+url.PathEscape(channel)+"/members", nil) + // Server route is /channels/{channel}/members where channel is without '#' + name := strings.TrimPrefix(channel, "#") + data, err := c.do("GET", "/api/v1/channels/"+url.PathEscape(name)+"/members", nil) if err != nil { return nil, err } diff --git a/cmd/chat-cli/api/types.go b/cmd/chat-cli/api/types.go index 9e7f9a0..d66069f 100644 --- a/cmd/chat-cli/api/types.go +++ b/cmd/chat-cli/api/types.go @@ -9,18 +9,16 @@ type SessionRequest struct { // SessionResponse is the response from POST /api/v1/session. type SessionResponse struct { - SessionID string `json:"session_id"` - ClientID string `json:"client_id"` - Nick string `json:"nick"` - Token string `json:"token"` + ID int64 `json:"id"` + Nick string `json:"nick"` + Token string `json:"token"` } // StateResponse is the response from GET /api/v1/state. type StateResponse struct { - SessionID string `json:"session_id"` - ClientID string `json:"client_id"` - Nick string `json:"nick"` - Channels []string `json:"channels"` + ID int64 `json:"id"` + Nick string `json:"nick"` + Channels []string `json:"channels"` } // Message represents a chat message envelope. diff --git a/cmd/chat-cli/main.go b/cmd/chat-cli/main.go index 95713a6..317d95a 100644 --- a/cmd/chat-cli/main.go +++ b/cmd/chat-cli/main.go @@ -145,7 +145,7 @@ func (a *App) cmdConnect(serverURL string) { a.lastQID = 0 a.mu.Unlock() - a.ui.AddStatus(fmt.Sprintf("[green]Connected! Nick: %s, Session: %s", resp.Nick, resp.SessionID)) + a.ui.AddStatus(fmt.Sprintf("[green]Connected! Nick: %s, Session: %d", resp.Nick, resp.ID)) a.ui.SetStatus(resp.Nick, "", "connected") // Start polling.