in resources/plugin/client.go [28:52]
func Configure(ctx context.Context, logger zerolog.Logger, spec []byte, opts plugin.NewClientOptions) (plugin.Client, error) {
if opts.NoConnection {
return &Client{
logger: logger,
tables: getTables(),
}, nil
}
config := &client.Spec{}
if err := json.Unmarshal(spec, config); err != nil {
return nil, fmt.Errorf("failed to unmarshal spec: %w", err)
}
syncClient, err := client.New(ctx, logger, config)
if err != nil {
return nil, fmt.Errorf("failed to create client: %w", err)
}
return &Client{
logger: logger,
config: *config,
tables: getTables(),
syncClient: &syncClient,
scheduler: scheduler.NewScheduler(scheduler.WithLogger(logger)),
}, nil
}