https://go.dev/doc/modules/layout This also enables us to later import just the db interaction part say to the gemini capsule backend go project.
39 lines
838 B
Go
39 lines
838 B
Go
package ui
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
gemlog "git.travisshears.com/travisshears/gemlog-cli/gemlog"
|
|
tea "github.com/charmbracelet/bubbletea"
|
|
)
|
|
|
|
func DeleteGemlogCMD(config *gemlog.Config, id string, rev string) tea.Cmd {
|
|
return func() tea.Msg {
|
|
err := gemlog.DeleteGemlogEntry(config, id, rev)
|
|
if err != nil {
|
|
return ErrorMsg{err}
|
|
}
|
|
|
|
return Notification(fmt.Sprintf("Gemlog with id: %s deleted", id))
|
|
}
|
|
}
|
|
|
|
func LoadGemlogCMD(config *gemlog.Config, id string) tea.Cmd {
|
|
return func() tea.Msg {
|
|
log, err := gemlog.ReadGemlogEntry(config, id)
|
|
if err != nil {
|
|
return ErrorMsg{err}
|
|
}
|
|
return GemLogLoaded{Log: log}
|
|
}
|
|
}
|
|
|
|
func LoadGemlogsCMD(config *gemlog.Config) tea.Cmd {
|
|
return func() tea.Msg {
|
|
logs, err := gemlog.ListGemLogs(config)
|
|
if err != nil {
|
|
return ErrorMsg{err}
|
|
}
|
|
return GemLogsLoaded{Logs: logs}
|
|
}
|
|
}
|