diff --git a/cmd/chat-cli/api/client.go b/cmd/chat-cli/api/client.go index 1145220..2d1174f 100644 --- a/cmd/chat-cli/api/client.go +++ b/cmd/chat-cli/api/client.go @@ -78,7 +78,9 @@ func (c *Client) CreateSession(nick string) (*SessionResponse, error) { } var resp SessionResponse - if err := json.Unmarshal(data, &resp); err != nil { + + err = json.Unmarshal(data, &resp) + if err != nil { return nil, fmt.Errorf("decode session: %w", err) } @@ -95,7 +97,9 @@ func (c *Client) GetState() (*StateResponse, error) { } var resp StateResponse - if err := json.Unmarshal(data, &resp); err != nil { + + err = json.Unmarshal(data, &resp) + if err != nil { return nil, fmt.Errorf("decode state: %w", err) } @@ -150,7 +154,9 @@ func (c *Client) PollMessages(afterID string, timeout int) ([]Message, error) { // The server may return an array directly or wrapped. var msgs []Message - if err := json.Unmarshal(data, &msgs); err != nil { + + err = json.Unmarshal(data, &msgs) + if err != nil { // Try wrapped format. var wrapped MessagesResponse @@ -183,7 +189,9 @@ func (c *Client) ListChannels() ([]Channel, error) { } var channels []Channel - if err := json.Unmarshal(data, &channels); err != nil { + + err = json.Unmarshal(data, &channels) + if err != nil { return nil, err } @@ -198,7 +206,9 @@ func (c *Client) GetMembers(channel string) ([]string, error) { } var members []string - if err := json.Unmarshal(data, &members); err != nil { + + err = json.Unmarshal(data, &members) + if err != nil { // Try object format. var obj map[string]any @@ -221,7 +231,9 @@ func (c *Client) GetServerInfo() (*ServerInfo, error) { } var info ServerInfo - if err := json.Unmarshal(data, &info); err != nil { + + err = json.Unmarshal(data, &info) + if err != nil { return nil, err } diff --git a/internal/db/db.go b/internal/db/db.go index 7313cb8..c0009a5 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -553,7 +553,8 @@ func (s *Database) connect(ctx context.Context) error { s.log.Info("database connected") // Item 9: Enable foreign keys on every connection - if _, err := s.db.ExecContext(ctx, "PRAGMA foreign_keys = ON"); err != nil { + _, err = s.db.ExecContext(ctx, "PRAGMA foreign_keys = ON") + if err != nil { return fmt.Errorf("enable foreign keys: %w", err) } @@ -709,7 +710,8 @@ func (s *Database) applyMigrations( ) } - if err := tx.Commit(); err != nil { + err = tx.Commit() + if err != nil { return fmt.Errorf( "commit migration %d: %w", m.version, err, ) diff --git a/internal/handlers/api.go b/internal/handlers/api.go index 9cc4fca..585a184 100644 --- a/internal/handlers/api.go +++ b/internal/handlers/api.go @@ -62,7 +62,8 @@ func (s *Handlers) HandleCreateSession() http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req request - if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + err := json.NewDecoder(r.Body).Decode(&req) + if err != nil { s.respondJSON(w, r, map[string]string{"error": "invalid request"}, http.StatusBadRequest) return @@ -359,7 +360,8 @@ func (s *Handlers) handleJoin(w http.ResponseWriter, r *http.Request, uid, to st return } - if err := s.params.Database.JoinChannel(r.Context(), chID, uid); err != nil { + err = s.params.Database.JoinChannel(r.Context(), chID, uid) + if err != nil { s.log.Error("join channel failed", "error", err) s.respondJSON(w, r, map[string]string{"error": "internal error"}, http.StatusInternalServerError) @@ -391,7 +393,8 @@ func (s *Handlers) handlePart(w http.ResponseWriter, r *http.Request, uid, to st return } - if err := s.params.Database.PartChannel(r.Context(), chID, uid); err != nil { + err = s.params.Database.PartChannel(r.Context(), chID, uid) + if err != nil { s.log.Error("part channel failed", "error", err) s.respondJSON(w, r, map[string]string{"error": "internal error"}, http.StatusInternalServerError)