feat(observabillity): #115 integrate otel for metrics and traces
Some checks failed
Build Docker Image / Build-Docker-Image (push) Has been cancelled

This commit is contained in:
2025-06-07 12:18:41 +02:00
parent 7efaa0fc61
commit e2ff1221ca
32 changed files with 480 additions and 314 deletions

View File

@@ -52,7 +52,7 @@ func (db AuthSqlite) InsertUser(user *types.User) error {
return ErrAlreadyExists
}
log.Error("SQL error InsertUser: %v", err)
log.L.Error("SQL error InsertUser", "err", err)
return types.ErrInternal
}
@@ -67,7 +67,7 @@ func (db AuthSqlite) UpdateUser(user *types.User) error {
user.EmailVerified, user.EmailVerifiedAt, user.Password, user.Id)
if err != nil {
log.Error("SQL error UpdateUser: %v", err)
log.L.Error("SQL error UpdateUser", "err", err)
return types.ErrInternal
}
@@ -93,7 +93,7 @@ func (db AuthSqlite) GetUserByEmail(email string) (*types.User, error) {
if errors.Is(err, sql.ErrNoRows) {
return nil, ErrNotFound
} else {
log.Error("SQL error GetUser: %v", err)
log.L.Error("SQL error GetUser", "err", err)
return nil, types.ErrInternal
}
}
@@ -120,7 +120,7 @@ func (db AuthSqlite) GetUser(userId uuid.UUID) (*types.User, error) {
if errors.Is(err, sql.ErrNoRows) {
return nil, ErrNotFound
} else {
log.Error("SQL error GetUser %v", err)
log.L.Error("SQL error GetUser", "err", err)
return nil, types.ErrInternal
}
}
@@ -131,55 +131,55 @@ func (db AuthSqlite) GetUser(userId uuid.UUID) (*types.User, error) {
func (db AuthSqlite) DeleteUser(userId uuid.UUID) error {
tx, err := db.db.Begin()
if err != nil {
log.Error("Could not start transaction: %v", err)
log.L.Error("Could not start transaction", "err", err)
return types.ErrInternal
}
_, err = tx.Exec("DELETE FROM account WHERE user_id = ?", userId)
if err != nil {
_ = tx.Rollback()
log.Error("Could not delete accounts: %v", err)
log.L.Error("Could not delete accounts", "err", err)
return types.ErrInternal
}
_, err = tx.Exec("DELETE FROM token WHERE user_id = ?", userId)
if err != nil {
_ = tx.Rollback()
log.Error("Could not delete user tokens: %v", err)
log.L.Error("Could not delete user tokens", "err", err)
return types.ErrInternal
}
_, err = tx.Exec("DELETE FROM session WHERE user_id = ?", userId)
if err != nil {
_ = tx.Rollback()
log.Error("Could not delete sessions: %v", err)
log.L.Error("Could not delete sessions", "err", err)
return types.ErrInternal
}
_, err = tx.Exec("DELETE FROM user WHERE user_id = ?", userId)
if err != nil {
_ = tx.Rollback()
log.Error("Could not delete user: %v", err)
log.L.Error("Could not delete user", "err", err)
return types.ErrInternal
}
_, err = tx.Exec("DELETE FROM treasure_chest WHERE user_id = ?", userId)
if err != nil {
_ = tx.Rollback()
log.Error("Could not delete user: %v", err)
log.L.Error("Could not delete user", "err", err)
return types.ErrInternal
}
_, err = tx.Exec("DELETE FROM \"transaction\" WHERE user_id = ?", userId)
if err != nil {
_ = tx.Rollback()
log.Error("Could not delete user: %v", err)
log.L.Error("Could not delete user", "err", err)
return types.ErrInternal
}
err = tx.Commit()
if err != nil {
log.Error("Could not commit transaction: %v", err)
log.L.Error("Could not commit transaction", "err", err)
return types.ErrInternal
}
@@ -192,7 +192,7 @@ func (db AuthSqlite) InsertToken(token *types.Token) error {
VALUES (?, ?, ?, ?, ?, ?)`, token.UserId, token.SessionId, token.Type, token.Token, token.CreatedAt, token.ExpiresAt)
if err != nil {
log.Error("Could not insert token: %v", err)
log.L.Error("Could not insert token", "err", err)
return types.ErrInternal
}
@@ -217,23 +217,23 @@ func (db AuthSqlite) GetToken(token string) (*types.Token, error) {
if err != nil {
if errors.Is(err, sql.ErrNoRows) {
log.Info("Token '%v' not found", token)
log.L.Info("Token not found", "token", token)
return nil, ErrNotFound
} else {
log.Error("Could not get token: %v", err)
log.L.Error("Could not get token", "err", err)
return nil, types.ErrInternal
}
}
createdAt, err = time.Parse(time.RFC3339, createdAtStr)
if err != nil {
log.Error("Could not parse token.created_at: %v", err)
log.L.Error("Could not parse token.created_at", "err", err)
return nil, types.ErrInternal
}
expiresAt, err = time.Parse(time.RFC3339, expiresAtStr)
if err != nil {
log.Error("Could not parse token.expires_at: %v", err)
log.L.Error("Could not parse token.expires_at", "err", err)
return nil, types.ErrInternal
}
@@ -248,7 +248,7 @@ func (db AuthSqlite) GetTokensByUserIdAndType(userId uuid.UUID, tokenType types.
AND type = ?`, userId, tokenType)
if err != nil {
log.Error("Could not get token: %v", err)
log.L.Error("Could not get token", "err", err)
return nil, types.ErrInternal
}
@@ -263,7 +263,7 @@ func (db AuthSqlite) GetTokensBySessionIdAndType(sessionId string, tokenType typ
AND type = ?`, sessionId, tokenType)
if err != nil {
log.Error("Could not get token: %v", err)
log.L.Error("Could not get token", "err", err)
return nil, types.ErrInternal
}
@@ -287,19 +287,19 @@ func getTokensFromQuery(query *sql.Rows, userId uuid.UUID, sessionId string, tok
err := query.Scan(&token, &createdAtStr, &expiresAtStr)
if err != nil {
log.Error("Could not scan token: %v", err)
log.L.Error("Could not scan token", "err", err)
return nil, types.ErrInternal
}
createdAt, err = time.Parse(time.RFC3339, createdAtStr)
if err != nil {
log.Error("Could not parse token.created_at: %v", err)
log.L.Error("Could not parse token.created_at", "err", err)
return nil, types.ErrInternal
}
expiresAt, err = time.Parse(time.RFC3339, expiresAtStr)
if err != nil {
log.Error("Could not parse token.expires_at: %v", err)
log.L.Error("Could not parse token.expires_at", "err", err)
return nil, types.ErrInternal
}
@@ -316,7 +316,7 @@ func getTokensFromQuery(query *sql.Rows, userId uuid.UUID, sessionId string, tok
func (db AuthSqlite) DeleteToken(token string) error {
_, err := db.db.Exec("DELETE FROM token WHERE token = ?", token)
if err != nil {
log.Error("Could not delete token: %v", err)
log.L.Error("Could not delete token", "err", err)
return types.ErrInternal
}
return nil
@@ -328,7 +328,7 @@ func (db AuthSqlite) InsertSession(session *types.Session) error {
VALUES (?, ?, ?, ?)`, session.Id, session.UserId, session.CreatedAt, session.ExpiresAt)
if err != nil {
log.Error("Could not insert new session %v", err)
log.L.Error("Could not insert new session", "err", err)
return types.ErrInternal
}
@@ -348,7 +348,7 @@ func (db AuthSqlite) GetSession(sessionId string) (*types.Session, error) {
WHERE session_id = ?`, sessionId).Scan(&userId, &createdAt, &expiresAt)
if err != nil {
log.Warn("Session \"%s\" not found: %v", sessionId, err)
log.L.Warn("Session not found", "session-id", sessionId, "err", err)
return nil, ErrNotFound
}
@@ -362,7 +362,7 @@ func (db AuthSqlite) GetSessions(userId uuid.UUID) ([]*types.Session, error) {
FROM session
WHERE user_id = ?`, userId)
if err != nil {
log.Error("Could not get sessions: %v", err)
log.L.Error("Could not get sessions", "err", err)
return nil, types.ErrInternal
}
@@ -375,7 +375,7 @@ func (db AuthSqlite) DeleteOldSessions(userId uuid.UUID) error {
WHERE expires_at < datetime('now')
AND user_id = ?`, userId)
if err != nil {
log.Error("Could not delete old sessions: %v", err)
log.L.Error("Could not delete old sessions", "err", err)
return types.ErrInternal
}
return nil
@@ -385,7 +385,7 @@ func (db AuthSqlite) DeleteSession(sessionId string) error {
if sessionId != "" {
_, err := db.db.Exec("DELETE FROM session WHERE session_id = ?", sessionId)
if err != nil {
log.Error("Could not delete session: %v", err)
log.L.Error("Could not delete session", "err", err)
return types.ErrInternal
}
}