mirror of
https://github.com/garethgeorge/backrest.git
synced 2026-05-13 00:00:49 +00:00
93becf3e32
Release Please / release-please (push) Has been cancelled
Release Preview / call-reusable-release (push) Has been cancelled
Test / test-nix (push) Has been cancelled
Test / test-win (push) Has been cancelled
Update Restic / update-restic-version (push) Has been cancelled
31 lines
775 B
Go
31 lines
775 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,
|
|
ModnoGte: sel.ModnoGte,
|
|
}
|
|
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
|
|
}
|