| @@ -16,7 +16,7 @@ func ScannerPostEvent(ctx CommandContext, args []string) error { | |||||
| return fmt.Errorf("execute parsing event command failed, err: %w", err) | 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 { | if err != nil { | ||||
| return fmt.Errorf("post event to scanner failed, err: %w", err) | return fmt.Errorf("post event to scanner failed, err: %w", err) | ||||
| } | } | ||||
| @@ -1,6 +1,7 @@ | |||||
| package event | package event | ||||
| type AgentCheckCache struct { | type AgentCheckCache struct { | ||||
| EventBase | |||||
| NodeID int64 `json:"nodeID"` | NodeID int64 `json:"nodeID"` | ||||
| FileHashes []string `json:"fileHashes"` // 需要检查的FileHash列表,如果为nil(不是为空),则代表进行全量检查 | FileHashes []string `json:"fileHashes"` // 需要检查的FileHash列表,如果为nil(不是为空),则代表进行全量检查 | ||||
| } | } | ||||
| @@ -1,6 +1,7 @@ | |||||
| package event | package event | ||||
| type AgentCheckState struct { | type AgentCheckState struct { | ||||
| EventBase | |||||
| NodeID int64 `json:"nodeID"` | NodeID int64 `json:"nodeID"` | ||||
| } | } | ||||
| @@ -1,6 +1,7 @@ | |||||
| package event | package event | ||||
| type AgentCheckStorage struct { | type AgentCheckStorage struct { | ||||
| EventBase | |||||
| StorageID int64 `json:"storageID"` | StorageID int64 `json:"storageID"` | ||||
| PackageIDs []int64 `json:"packageIDs"` // 需要检查的Package文件列表,如果为nil(不是为空),则代表进行全量检查 | PackageIDs []int64 `json:"packageIDs"` // 需要检查的Package文件列表,如果为nil(不是为空),则代表进行全量检查 | ||||
| } | } | ||||
| @@ -1,6 +1,7 @@ | |||||
| package event | package event | ||||
| type CheckCache struct { | type CheckCache struct { | ||||
| EventBase | |||||
| NodeID int64 `json:"nodeID"` | NodeID int64 `json:"nodeID"` | ||||
| } | } | ||||
| @@ -1,6 +1,7 @@ | |||||
| package event | package event | ||||
| type CheckPackage struct { | type CheckPackage struct { | ||||
| EventBase | |||||
| PackageIDs []int64 `json:"packageIDs"` | PackageIDs []int64 `json:"packageIDs"` | ||||
| } | } | ||||
| @@ -1,6 +1,7 @@ | |||||
| package event | package event | ||||
| type CheckRepCount struct { | type CheckRepCount struct { | ||||
| EventBase | |||||
| FileHashes []string `json:"fileHashes"` | FileHashes []string `json:"fileHashes"` | ||||
| } | } | ||||
| @@ -5,10 +5,16 @@ import ( | |||||
| myreflect "gitlink.org.cn/cloudream/common/utils/reflect" | myreflect "gitlink.org.cn/cloudream/common/utils/reflect" | ||||
| ) | ) | ||||
| type Event interface{} | |||||
| type Event interface { | |||||
| Noop() | |||||
| } | |||||
| var EventTypeUnino = types.NewTypeUnion[Event]() | var EventTypeUnino = types.NewTypeUnion[Event]() | ||||
| type EventBase struct{} | |||||
| func (e *EventBase) Noop() {} | |||||
| func Register[T any]() { | func Register[T any]() { | ||||
| EventTypeUnino.Add(myreflect.TypeOf[T]()) | EventTypeUnino.Add(myreflect.TypeOf[T]()) | ||||
| } | } | ||||