diff --git a/client/internal/cmdline/scanner.go b/client/internal/cmdline/scanner.go index c26c85a..18fc571 100644 --- a/client/internal/cmdline/scanner.go +++ b/client/internal/cmdline/scanner.go @@ -16,7 +16,7 @@ func ScannerPostEvent(ctx CommandContext, args []string) error { return fmt.Errorf("execute parsing event command failed, err: %w", err) } - err = ctx.Cmdline.Svc.ScannerSvc().PostEvent(ret, false, false) + err = ctx.Cmdline.Svc.ScannerSvc().PostEvent(ret.(scevt.Event), false, false) if err != nil { return fmt.Errorf("post event to scanner failed, err: %w", err) } diff --git a/common/pkgs/mq/scanner/event/agent_check_cache.go b/common/pkgs/mq/scanner/event/agent_check_cache.go index cd0496e..a050647 100644 --- a/common/pkgs/mq/scanner/event/agent_check_cache.go +++ b/common/pkgs/mq/scanner/event/agent_check_cache.go @@ -1,6 +1,7 @@ package event type AgentCheckCache struct { + EventBase NodeID int64 `json:"nodeID"` FileHashes []string `json:"fileHashes"` // 需要检查的FileHash列表,如果为nil(不是为空),则代表进行全量检查 } diff --git a/common/pkgs/mq/scanner/event/agent_check_state.go b/common/pkgs/mq/scanner/event/agent_check_state.go index 5f19ab7..c369735 100644 --- a/common/pkgs/mq/scanner/event/agent_check_state.go +++ b/common/pkgs/mq/scanner/event/agent_check_state.go @@ -1,6 +1,7 @@ package event type AgentCheckState struct { + EventBase NodeID int64 `json:"nodeID"` } diff --git a/common/pkgs/mq/scanner/event/agent_check_storage.go b/common/pkgs/mq/scanner/event/agent_check_storage.go index d50df77..a7fe7e1 100644 --- a/common/pkgs/mq/scanner/event/agent_check_storage.go +++ b/common/pkgs/mq/scanner/event/agent_check_storage.go @@ -1,6 +1,7 @@ package event type AgentCheckStorage struct { + EventBase StorageID int64 `json:"storageID"` PackageIDs []int64 `json:"packageIDs"` // 需要检查的Package文件列表,如果为nil(不是为空),则代表进行全量检查 } diff --git a/common/pkgs/mq/scanner/event/check_cache.go b/common/pkgs/mq/scanner/event/check_cache.go index 36a306c..ffb9278 100644 --- a/common/pkgs/mq/scanner/event/check_cache.go +++ b/common/pkgs/mq/scanner/event/check_cache.go @@ -1,6 +1,7 @@ package event type CheckCache struct { + EventBase NodeID int64 `json:"nodeID"` } diff --git a/common/pkgs/mq/scanner/event/check_package.go b/common/pkgs/mq/scanner/event/check_package.go index 4ba71d2..842a893 100644 --- a/common/pkgs/mq/scanner/event/check_package.go +++ b/common/pkgs/mq/scanner/event/check_package.go @@ -1,6 +1,7 @@ package event type CheckPackage struct { + EventBase PackageIDs []int64 `json:"packageIDs"` } diff --git a/common/pkgs/mq/scanner/event/check_rep_count.go b/common/pkgs/mq/scanner/event/check_rep_count.go index ce639a7..d393cb1 100644 --- a/common/pkgs/mq/scanner/event/check_rep_count.go +++ b/common/pkgs/mq/scanner/event/check_rep_count.go @@ -1,6 +1,7 @@ package event type CheckRepCount struct { + EventBase FileHashes []string `json:"fileHashes"` } diff --git a/common/pkgs/mq/scanner/event/event.go b/common/pkgs/mq/scanner/event/event.go index 67b8278..0eafbd7 100644 --- a/common/pkgs/mq/scanner/event/event.go +++ b/common/pkgs/mq/scanner/event/event.go @@ -5,10 +5,16 @@ import ( myreflect "gitlink.org.cn/cloudream/common/utils/reflect" ) -type Event interface{} +type Event interface { + Noop() +} var EventTypeUnino = types.NewTypeUnion[Event]() +type EventBase struct{} + +func (e *EventBase) Noop() {} + func Register[T any]() { EventTypeUnino.Add(myreflect.TypeOf[T]()) }