Files
2026-08-17 10:10:14 +08:00

28 lines
1017 B
Go

package backendupdate
import "yms-daemon/internal/transaction"
// Progress 一次更新过程中的单条实时进度事件,用于回传给本地 CLI。
// 它仅用于观测反馈:即使投递失败也不得改变已持久化的更新事务状态。
type Progress struct {
// TransactionID 事件所属的事务标识。
TransactionID string
// State 事件发生时的事务状态。
State transaction.State
// Message 面向用户的进度描述文本。
Message string
}
// ProgressReporter 进度事件回调,接收一次更新过程中的单条进度。
// 实现必须可安全地并发调用,且失败不应影响更新主流程。
type ProgressReporter func(Progress)
// operationLabel 根据输入类型返回本次操作的中文可读标签:重启类输入返回
// "restart",其余输入返回 "update"。该标签用于拼装进度与提交消息。
func operationLabel(inputType string) string {
if inputType == inputTypeCurrentRelease {
return "restart"
}
return "update"
}