feat(cli): add history command and logging for actions
This commit is contained in:
parent
f8abf29594
commit
8ed3b0c013
9 changed files with 110 additions and 4 deletions
|
|
@ -2,6 +2,9 @@ package utils
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/charmbracelet/huh"
|
||||
)
|
||||
|
|
@ -11,7 +14,7 @@ func GetSudoPassword() (string, error) {
|
|||
form := huh.NewForm(
|
||||
huh.NewGroup(
|
||||
huh.NewInput().
|
||||
Title("Bitte geben Sie Ihr sudo-Passwort ein").
|
||||
Title("Enter your password").
|
||||
EchoMode(huh.EchoModePassword).
|
||||
Value(&password),
|
||||
),
|
||||
|
|
@ -19,7 +22,7 @@ func GetSudoPassword() (string, error) {
|
|||
|
||||
err := form.Run()
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("fehler bei der Passwortabfrage: %v", err)
|
||||
return "", fmt.Errorf("error at password-dialog: %v", err)
|
||||
}
|
||||
return password, nil
|
||||
}
|
||||
|
|
@ -30,3 +33,24 @@ func max(a, b int) int {
|
|||
}
|
||||
return b
|
||||
}
|
||||
|
||||
func LogToHistory(action, pkg, manager string) error {
|
||||
dirname, err := os.UserConfigDir()
|
||||
if err != nil {
|
||||
return fmt.Errorf("cant obtain config dir: %v", err)
|
||||
}
|
||||
historyFile := filepath.Join(dirname, "sst", "sst_history")
|
||||
f, err := os.OpenFile(historyFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
timestamp := time.Now().Format("2006-01-02 15:04:05")
|
||||
logEntry := fmt.Sprintf("%s: action: [%s] - package: [%s] - packagemanager: [%s]\n", timestamp, action, pkg, manager)
|
||||
|
||||
if _, err := f.WriteString(logEntry); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue