expand logging

This commit is contained in:
2025-05-18 18:25:17 -04:00
parent 028c084cdd
commit 72c0188071
8 changed files with 178 additions and 33 deletions

View File

@@ -3,6 +3,7 @@ package api
import (
"errors"
"fmt"
"log/slog"
"git.dubyatp.xyz/chat-api-server/db"
"github.com/gocql/gocql"
@@ -13,25 +14,34 @@ func dbGetUser(id string) (*User, error) {
query := `SELECT id, name, password FROM users WHERE id = ?`
var user User
err := db.Session.Query(query, id).Scan(&user.ID, &user.Name, &user.Password)
if err == gocql.ErrNotFound {
slog.Debug("db: user not found", "userid", id)
return nil, errors.New("User not found")
} else if err != nil {
return nil, fmt.Errorf("failed to query user: %v", err)
slog.Error("db: failed to query user", "error", err)
return nil, fmt.Errorf("failed to query user")
}
slog.Debug("db: user found", "userid", user.ID, "username", user.Name)
return &user, nil
}
func dbGetUserByName(username string) (*User, error) {
// This will be deprecated soon after implementing https://git.dubyatp.xyz/williamp/chatservice_concept/issues/1
query := `SELECT id, name, password FROM users WHERE name = ? ALLOW FILTERING`
var user User
err := db.Session.Query(query, username).Scan(&user.ID, &user.Name, &user.Password)
if err == gocql.ErrNotFound {
slog.Debug("db: user not found", "username", username)
return nil, errors.New("User not found")
} else if err != nil {
return nil, fmt.Errorf("failed to query user: %v", err)
slog.Error("db: failed to query user", "error", err)
return nil, fmt.Errorf("failed to query user")
}
slog.Debug("db: user found", "userid", user.ID, "username", user.Name)
return &user, nil
}
@@ -50,13 +60,16 @@ func dbGetAllUsers() ([]*User, error) {
}
if err := iter.Close(); err != nil {
return nil, fmt.Errorf("failed to iterate users: %v", err)
slog.Error("db: failed to iterate users", "error", err)
return nil, fmt.Errorf("failed to iterate users")
}
if len(users) == 0 {
slog.Debug("db: no users found")
return nil, errors.New("no users found")
}
slog.Debug("db: user list returned")
return users, nil
}
@@ -70,11 +83,14 @@ func dbGetMessage(id string) (*Message, error) {
&message.Timestamp,
&message.UserID)
if err == gocql.ErrNotFound {
slog.Debug("db: message not found", "messageid", id)
return nil, errors.New("Message not found")
} else if err != nil {
return nil, fmt.Errorf("failed to query message: %v", err)
slog.Error("db: failed to query message", "error", err)
return nil, fmt.Errorf("failed to query message")
}
slog.Debug("db: message found", "messageid", message.ID)
return &message, nil
}
@@ -98,13 +114,16 @@ func dbGetAllMessages() ([]*Message, error) {
}
if err := iter.Close(); err != nil {
return nil, fmt.Errorf("failed to iterate messages: %v", err)
slog.Error("db: failed to iterate messages", "error", err)
return nil, fmt.Errorf("failed to iterate messages")
}
if len(messages) == 0 {
slog.Debug("db: no messages found")
return nil, errors.New("no messages found")
}
slog.Debug("db: message list returned")
return messages, nil
}
@@ -112,8 +131,11 @@ func dbAddSession(session *Session) error {
query := `INSERT INTO sessions (session_token, username) VALUES (?, ?)`
err := db.Session.Query(query, session.Token, session.Username).Exec()
if err != nil {
return fmt.Errorf("failed to add session: %v", err)
slog.Error("db: failed to add session", "error", err)
return fmt.Errorf("failed to add session")
}
slog.Debug("db: session added", "username", session.Username)
return nil
}
@@ -124,9 +146,11 @@ func dbGetSession(id uuid.UUID) (*Session, error) {
&session.Token,
&session.Username)
if err == gocql.ErrNotFound {
slog.Debug("db: session not found")
return nil, errors.New("Session not found")
} else if err != nil {
return nil, fmt.Errorf("failed to query session: %v", err)
slog.Error("db: failed to query session", "error", err)
return nil, fmt.Errorf("failed to query session")
}
return &session, nil
@@ -138,9 +162,11 @@ func dbDeleteSession(id uuid.UUID) error {
err := db.Session.Query(query, id).Exec()
if err != nil {
return fmt.Errorf("failed to delete session: %v", err)
slog.Error("db: failed to delete session")
return fmt.Errorf("failed to delete session")
}
slog.Debug("db: session deleted")
return nil
}
@@ -148,8 +174,11 @@ func dbAddUser(user *User) error {
query := `INSERT INTO users (id, name, password) VALUES (?, ?, ?)`
err := db.Session.Query(query, user.ID, user.Name, user.Password).Exec()
if err != nil {
return fmt.Errorf("failed to add user: %v", err)
slog.Error("db: failed to add user", "error", err, "userid", user.ID, "username", user.Name)
return fmt.Errorf("failed to add user")
}
slog.Debug("db: user added", "userid", user.ID, "username", user.Name)
return nil
}
@@ -163,8 +192,11 @@ func dbAddMessage(message *Message) error {
message.Timestamp,
message.UserID).Exec()
if err != nil {
return fmt.Errorf("failed to add message: %v", err)
slog.Error("db: failed to add message", "error", err, "messageid", message.ID)
return fmt.Errorf("failed to add message")
}
slog.Debug("db: message added", "messageid", message.ID)
return nil
}
@@ -187,9 +219,11 @@ func dbUpdateMessage(updatedMessage *Message) error {
updatedMessage.ID).Exec()
if err != nil {
return fmt.Errorf("failed to update message: %v", err)
slog.Error("db: failed to update message", "error", err, "messageid", updatedMessage.ID)
return fmt.Errorf("failed to update message")
}
slog.Debug("db: message updated", "messageid", updatedMessage.ID)
return nil
}
@@ -200,8 +234,10 @@ func dbDeleteMessage(id string) error {
err := db.Session.Query(query, id).Exec()
if err != nil {
return fmt.Errorf("failed to delete message: %v", err)
slog.Error("db: failed to delete message", "error", err, "messageid", id)
return fmt.Errorf("failed to delete message")
}
slog.Debug("db: message deleted", "messageid", id)
return nil
}