From 242fb55088032f65e1e743dcd861b8f05d8d60ce Mon Sep 17 00:00:00 2001 From: Kemal <223029+disq@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:00:26 +0300 Subject: [PATCH] feat: Add `opts.SchedulerOpts()` helper to convert `plugin.SyncOptions` for scheduler (#1900) Co-authored-by: Kemal Hadimli --- helpers/opts/syncoptions.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 helpers/opts/syncoptions.go diff --git a/helpers/opts/syncoptions.go b/helpers/opts/syncoptions.go new file mode 100644 index 0000000000..0af8e0100e --- /dev/null +++ b/helpers/opts/syncoptions.go @@ -0,0 +1,17 @@ +package opts + +import ( + "github.com/cloudquery/plugin-sdk/v4/plugin" + "github.com/cloudquery/plugin-sdk/v4/scheduler" +) + +// SchedulerOpts converts plugin.SyncOptions to []scheduler.SyncOption, adding additionalOpts. +func SchedulerOpts(o plugin.SyncOptions, additionalOpts ...scheduler.SyncOption) []scheduler.SyncOption { + opts := []scheduler.SyncOption{ + scheduler.WithSyncDeterministicCQID(o.DeterministicCQID), + } + if o.Shard != nil { + opts = append(opts, scheduler.WithShard(o.Shard.Num, o.Shard.Total)) + } + return append(opts, additionalOpts...) +}