Files
job-search/internal/config/conf_source_findatender.go
T
bwilliams f3a91ad915 An empty api_root now fails at start, for an enabled find_a_tender or fts_mock source and for fetch once
An enabled Find a Tender or mock source with no api_root used to start
and then fail on every fetch. Its worker now returns an error naming the
missing key before it starts, which stops Run. "fetch once" checks
sources.find_a_tender.api_root the same way. TestRunMissingAPIRoot covers
both sources, and TestRunLogsSourceErrors sets an api_root so it still
tests the zero interval. The section docs and internal/config/README.md
say what an empty api_root means.
2026-10-15 16:27:49 +01:00

40 lines
1.1 KiB
Go

package config
import "reflect"
// JSCKSourceFindATender is the Find a Tender source's configuration key.
const JSCKSourceFindATender string = "find_a_tender"
// JSCSourceFindATender configures fetching from the Find a Tender
// OCDS API at APIRoot. Empty: the source fails to start if it is enabled,
// and `fetch once` fails.
type JSCSourceFindATender struct {
JSCSourcesSource
APIRoot string `cfg:"api_root" default:"https://www.find-tender.service.gov.uk/api/1.0"`
}
// ---------- Section methods (see Section) ----------
// Map implements Section.
func (c JSCSourceFindATender) Map() map[string]any { return mapOf(c) }
// Flatten implements Section.
func (c JSCSourceFindATender) Flatten() map[string]any {
return flattenOf(JSCKSourceFindATender, c)
}
// TypeOf implements Section.
func (c JSCSourceFindATender) TypeOf(key string) (reflect.Kind, error) {
return typeOf(c, key)
}
// ValueOf implements Section.
func (c JSCSourceFindATender) ValueOf(key string) (any, error) {
return valueOf(c, key)
}
// SetValue implements Section.
func (c *JSCSourceFindATender) SetValue(key string, value any) error {
return setValue(c, key, value)
}