Skip to content

Commit 1230f69

Browse files
committed
fix code review
1 parent 7363394 commit 1230f69

File tree

4 files changed

+22
-11
lines changed

4 files changed

+22
-11
lines changed

cmd/arduino-app-cli/system/system.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,14 @@ func newUpdateCmd() *cobra.Command {
113113

114114
events := updater.Subscribe()
115115
for event := range events {
116-
if event.Type == update.ErrorEvent {
116+
switch event.Type {
117+
case update.ErrorEvent:
117118
// TODO: add colors to error messages
118119
err := event.GetError()
119120
feedback.Printf("Error: %s [%s]", err.Error(), update.GetUpdateErrorCode(err))
120-
} else {
121+
case update.ProgressEvent:
122+
feedback.Printf("[%s] %.2f", event.Type.String(), event.GetProgress())
123+
default:
121124
feedback.Printf("[%s] %s", event.Type.String(), event.GetData())
122125
}
123126

internal/api/handlers/update.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ func HandleUpdateEvents(updater *update.Manager) http.HandlerFunc {
152152
slog.Info("APT event channel closed, stopping SSE stream")
153153
return
154154
}
155-
if event.Type == update.ErrorEvent {
155+
switch event.Type {
156+
case update.ErrorEvent:
156157
err := event.GetError()
157158
code := render.InternalServiceErr
158159
if c := update.GetUpdateErrorCode(err); c != update.UnknownErrorCode {
@@ -162,7 +163,12 @@ func HandleUpdateEvents(updater *update.Manager) http.HandlerFunc {
162163
Code: code,
163164
Message: err.Error(),
164165
})
165-
} else {
166+
case update.ProgressEvent:
167+
sseStream.Send(render.SSEEvent{
168+
Type: event.Type.String(),
169+
Data: event.GetProgress(),
170+
})
171+
default:
166172
sseStream.Send(render.SSEEvent{
167173
Type: event.Type.String(),
168174
Data: event.GetData(),

internal/update/event.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
package update
1717

1818
import (
19-
"fmt"
20-
2119
"go.bug.st/f"
2220
)
2321

@@ -36,7 +34,7 @@ const (
3634
// Event represents a single event in the upgrade process.
3735
type Event struct {
3836
Type EventType
39-
Progress float32
37+
progress float32
4038
data string
4139
err error // error field for error events
4240
}
@@ -70,8 +68,7 @@ func NewDataEvent(t EventType, data string) Event {
7068
func NewProgressEvent(progress float32) Event {
7169
return Event{
7270
Type: ProgressEvent,
73-
data: fmt.Sprintf("%.2f", progress),
74-
Progress: progress,
71+
progress: progress,
7572
}
7673
}
7774

@@ -92,6 +89,11 @@ func (e Event) GetError() error {
9289
return e.err
9390
}
9491

92+
func (e Event) GetProgress() float32 {
93+
f.Assert(e.Type == ProgressEvent, "not a progress event")
94+
return e.progress
95+
}
96+
9597
type PackageType string
9698

9799
const (

internal/update/update.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ func (m *Manager) UpgradePackages(ctx context.Context, pkgs []UpgradablePackage)
147147
}
148148
for e := range arduinoEvents {
149149
if e.Type == ProgressEvent {
150-
globalProgress := (e.Progress / 100.0) * arduinoWeight
150+
globalProgress := (e.progress / 100.0) * arduinoWeight
151151
m.broadcast(NewProgressEvent(globalProgress))
152152
} else {
153153
m.broadcast(e)
@@ -160,7 +160,7 @@ func (m *Manager) UpgradePackages(ctx context.Context, pkgs []UpgradablePackage)
160160
}
161161
for e := range aptEvents {
162162
if e.Type == ProgressEvent {
163-
globalProgress := arduinoWeight + (e.Progress/100.0)*aptWeight
163+
globalProgress := arduinoWeight + (e.progress/100.0)*aptWeight
164164
m.broadcast(NewProgressEvent(globalProgress))
165165
} else {
166166
m.broadcast(e)

0 commit comments

Comments
 (0)