diff --git a/backend/internal/repository/repository.go b/backend/internal/repository/repository.go index 187f087..a5c9286 100644 --- a/backend/internal/repository/repository.go +++ b/backend/internal/repository/repository.go @@ -160,11 +160,11 @@ func (r *Repository) Login(login, password string) (*LoginResponse, error) { func (r *Repository) GetToken(token string) (*Tokens, error) { var t Tokens err := r.DB.QueryRow( - `SELECT id, name, last_name, login, token, permission_view, permission_manage_agent, permission_admin + `SELECT id, name, last_name, login, token, permission_view, permission_manage_agent, permission_admin, is_active FROM tokens WHERE token = ?`, token, ).Scan(&t.ID, &t.Name, &t.LastName, &t.Login, &t.Token, - &t.PermissionView, &t.PermissionManage, &t.PermissionAdmin) + &t.PermissionView, &t.PermissionManage, &t.PermissionAdmin, &t.IsActive) if err != nil { if errors.Is(err, sql.ErrNoRows) { @@ -178,7 +178,7 @@ func (r *Repository) GetToken(token string) (*Tokens, error) { // ListTokens returns all users without password and token. func (r *Repository) ListTokens() ([]Tokens, error) { rows, err := r.DB.Query( - `SELECT id, name, last_name, login, permission_view, permission_manage_agent, permission_admin + `SELECT id, name, last_name, login, permission_view, permission_manage_agent, permission_admin, is_active FROM tokens`, ) if err != nil { @@ -190,7 +190,7 @@ func (r *Repository) ListTokens() ([]Tokens, error) { for rows.Next() { var t Tokens if err := rows.Scan(&t.ID, &t.Name, &t.LastName, &t.Login, - &t.PermissionView, &t.PermissionManage, &t.PermissionAdmin); err != nil { + &t.PermissionView, &t.PermissionManage, &t.PermissionAdmin, &t.IsActive); err != nil { return nil, err } tokens = append(tokens, t) @@ -344,12 +344,13 @@ func (r *Repository) ActivateUserByLogin(login string) error { login, ) if err != nil { - return err + return fmt.Errorf("activate exec: %w", err) } affected, err := result.RowsAffected() if err != nil { - return err + return fmt.Errorf("rows affected: %w", err) } + log.Printf("[activate] login=%s affected=%d", login, affected) if affected == 0 { return ErrNotFound } diff --git a/backend/internal/storage/sqlite.go b/backend/internal/storage/sqlite.go index 6bcea23..380d179 100644 --- a/backend/internal/storage/sqlite.go +++ b/backend/internal/storage/sqlite.go @@ -3,6 +3,7 @@ package storage import ( "database/sql" "fmt" + "log" "strings" _ "modernc.org/sqlite" @@ -37,7 +38,11 @@ func Open(path string) (*sql.DB, error) { } // Migration: add is_active column if it doesn't exist - _, _ = db.Exec(AddIsActiveColumn) + if _, err := db.Exec(AddIsActiveColumn); err != nil { + log.Printf("[sqlite] WARNING: failed to add is_active column: %v", err) + } else { + log.Println("[sqlite] is_active column migration applied") + } return db, nil }