27 lines
676 B
Go
27 lines
676 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"github.com/jackc/pgx/v5/pgxpool"
|
|
"knowledge-governance/internal/jobs"
|
|
"knowledge-governance/internal/qaopsorg"
|
|
)
|
|
|
|
func configureDirectorySync(pool *pgxpool.Pool, getenv func(string) string, handlers map[string]jobs.Handler) error {
|
|
settings, err := qaopsorg.LoadSyncSettings(getenv)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if !settings.Enabled {
|
|
return nil
|
|
}
|
|
if err = settings.CheckWorkerRuntime(); err != nil {
|
|
return err
|
|
}
|
|
store := qaopsorg.NewStore(pool, settings.Tenant)
|
|
handlers[store.SyncJobType()] = func(ctx context.Context, job jobs.Job) error {
|
|
return store.HandleDirectorySync(ctx, job, settings.Runner)
|
|
}
|
|
return nil
|
|
}
|