gte/cmd/cli/command/update.go

44 lines
865 B
Go
Raw Normal View History

2021-07-29 07:01:24 +02:00
package command
import (
2021-09-19 11:59:26 +02:00
"ewintr.nl/gte/cmd/cli/format"
"ewintr.nl/gte/internal/configuration"
"ewintr.nl/gte/internal/process"
"ewintr.nl/gte/internal/storage"
2021-07-29 07:01:24 +02:00
)
type Update struct {
updater *process.Update
}
func NewUpdate(localId int, conf *configuration.Configuration, cmdArgs []string) (*Update, error) {
local, err := storage.NewSqlite(conf.Sqlite())
if err != nil {
return &Update{}, err
}
2022-09-28 08:49:25 +02:00
update, err := ParseTaskFieldArgs(cmdArgs)
2021-07-29 07:01:24 +02:00
if err != nil {
return &Update{}, err
}
localTask, err := local.FindByLocalId(localId)
2021-07-29 07:01:24 +02:00
if err != nil {
return &Update{}, err
}
2021-08-22 13:29:04 +02:00
update.ForVersion = localTask.Version
2021-07-29 07:01:24 +02:00
2021-09-03 10:02:08 +02:00
updater := process.NewUpdate(local, localTask.Id, update)
2021-07-29 07:01:24 +02:00
return &Update{
updater: updater,
}, nil
}
func (u *Update) Do() string {
if err := u.updater.Process(); err != nil {
return format.FormatError(err)
}
2021-09-04 12:20:35 +02:00
return ""
2021-07-29 07:01:24 +02:00
}