expand logging
This commit is contained in:
60
api/db.go
60
api/db.go
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user