mirror of
https://github.com/langhuihui/monibuca.git
synced 2025-10-06 11:26:51 +08:00
32 lines
831 B
Go
32 lines
831 B
Go
package plugin_monitor
|
|
|
|
import (
|
|
"context"
|
|
"google.golang.org/protobuf/types/known/timestamppb"
|
|
"m7s.live/m7s/v5/plugin/monitor/pb"
|
|
monitor "m7s.live/m7s/v5/plugin/monitor/pkg"
|
|
"slices"
|
|
)
|
|
|
|
func (cfg *MonitorPlugin) SearchTask(ctx context.Context, req *pb.SearchTaskRequest) (res *pb.SearchTaskResponse, err error) {
|
|
res = &pb.SearchTaskResponse{}
|
|
var tasks []*monitor.Task
|
|
tx := cfg.DB.Find(&tasks)
|
|
if err = tx.Error; err == nil {
|
|
res.Data = slices.Collect(func(yield func(*pb.Task) bool) {
|
|
for _, t := range tasks {
|
|
yield(&pb.Task{
|
|
Id: t.ID,
|
|
StartTime: timestamppb.New(t.StartTime),
|
|
EndTime: timestamppb.New(t.CreatedAt),
|
|
Owner: t.OwnerType,
|
|
Type: uint32(t.TaskType),
|
|
Description: t.Description,
|
|
Reason: t.Reason,
|
|
})
|
|
}
|
|
})
|
|
}
|
|
return
|
|
}
|