Files
backrest/internal/protoutil/opselector.go

30 lines
736 B
Go

package protoutil
import (
"errors"
"reflect"
v1 "github.com/garethgeorge/backrest/gen/go/v1"
"github.com/garethgeorge/backrest/internal/oplog"
)
func OpSelectorToQuery(sel *v1.OpSelector) (oplog.Query, error) {
if sel == nil {
return oplog.Query{}, errors.New("empty selector")
}
q := oplog.Query{
RepoGUID: sel.RepoGuid,
PlanID: sel.PlanId,
SnapshotID: sel.SnapshotId,
FlowID: sel.FlowId,
InstanceID: sel.InstanceId,
OriginalInstanceKeyid: sel.OriginalInstanceKeyid,
}
if len(sel.Ids) > 0 && !reflect.DeepEqual(q, oplog.Query{}) {
return oplog.Query{}, errors.New("cannot specify both query and ids")
}
q.OpIDs = sel.Ids
return q, nil
}