package app import ( "encoding/json" "fmt" ) func decodeMonitoringTaskResultEnvelope(payload []byte) (*monitoringTaskResultEnvelope, error) { if len(payload) == 0 { return nil, fmt.Errorf("monitoring task result payload is empty") } var envelope monitoringTaskResultEnvelope if err := json.Unmarshal(payload, &envelope); err != nil { return nil, err } if envelope.TaskID <= 0 { return nil, fmt.Errorf("monitoring task result payload missing task_id") } return &envelope, nil }