first attempt - savepoint commit
This commit is contained in:
parent
b083a8255c
commit
07c0d782af
8 changed files with 700 additions and 43 deletions
61
app.go
61
app.go
|
|
@ -13,24 +13,27 @@ import (
|
|||
)
|
||||
|
||||
type App struct {
|
||||
cfg Config
|
||||
flags Flags
|
||||
cfg Config
|
||||
flags Flags
|
||||
tracker *SQLiteTimeTracker // Hinzufügen
|
||||
}
|
||||
|
||||
func NewApp() (*App, error) {
|
||||
func NewApp(tracker *SQLiteTimeTracker) (*App, error) {
|
||||
cfg, err := loadConfig()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error loading config: %w", err)
|
||||
}
|
||||
|
||||
return &App{
|
||||
cfg: cfg,
|
||||
cfg: cfg,
|
||||
tracker: tracker, // Speichern
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a *App) connect() {
|
||||
tw := NewTimeWarrior()
|
||||
tw.StartWork()
|
||||
// tw := NewTimeWarrior()
|
||||
// tw.StartWork()
|
||||
a.tracker.StartWork()
|
||||
a.wakeWorkstation()
|
||||
sshCon, err := a.newSSHConnection()
|
||||
if err != nil {
|
||||
|
|
@ -119,7 +122,7 @@ func (a *App) startRDPConnection() {
|
|||
|
||||
func (a *App) makeChoice() {
|
||||
var choice string
|
||||
tw := NewTimeWarrior()
|
||||
// tw := NewTimeWarrior()
|
||||
form := huh.NewForm(
|
||||
huh.NewGroup(
|
||||
huh.NewSelect[string]().
|
||||
|
|
@ -148,26 +151,44 @@ func (a *App) makeChoice() {
|
|||
|
||||
switch choice {
|
||||
case "start work":
|
||||
a.connect()
|
||||
a.connect() // connect nutzt jetzt a.tracker
|
||||
case "stop work":
|
||||
tw.StopWork()
|
||||
a.tracker.StopWork()
|
||||
case "start break":
|
||||
tw.StartBreak()
|
||||
a.tracker.StartBreak()
|
||||
case "stop break":
|
||||
tw.StopBreak()
|
||||
a.tracker.StopBreak()
|
||||
case "show week summary":
|
||||
tw.ShowSummary(":week")
|
||||
a.tracker.ShowSummary(":week")
|
||||
case "show month summary":
|
||||
tw.ShowSummary(":month")
|
||||
case "connect to jump":
|
||||
a.connectToJump()
|
||||
case "connect to workstation":
|
||||
a.connectToWorkstation()
|
||||
case "start rdp connection":
|
||||
a.startRDPConnection()
|
||||
a.tracker.ShowSummary(":month")
|
||||
case "export":
|
||||
tw.ExportSummary(a.flags.ExportName)
|
||||
if err := a.tracker.ExportSummary(a.flags.ExportName); err != nil {
|
||||
log.Printf("Error exporting summary: %v", err)
|
||||
}
|
||||
}
|
||||
// switch choice {
|
||||
// case "start work":
|
||||
// a.connect()
|
||||
// case "stop work":
|
||||
// tw.StopWork()
|
||||
// case "start break":
|
||||
// tw.StartBreak()
|
||||
// case "stop break":
|
||||
// tw.StopBreak()
|
||||
// case "show week summary":
|
||||
// tw.ShowSummary(":week")
|
||||
// case "show month summary":
|
||||
// tw.ShowSummary(":month")
|
||||
// case "connect to jump":
|
||||
// a.connectToJump()
|
||||
// case "connect to workstation":
|
||||
// a.connectToWorkstation()
|
||||
// case "start rdp connection":
|
||||
// a.startRDPConnection()
|
||||
// case "export":
|
||||
// tw.ExportSummary(a.flags.ExportName)
|
||||
// }
|
||||
}
|
||||
|
||||
func (a *App) getSSHAuth() ssh.AuthMethod {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue