Add OpenCorporates collector for org targets, gated on an API token
Closes the last coverage gap for org (person remains intentionally unaddressed — no good free/non-scraping option exists). Unlike the other 8 sources, OpenCorporates now requires an API token even on its free tier (confirmed: keyless request gets 401). RunnerRegistry::has() checks services.opencorporates.token is configured before exposing the source as runnable, so it degrades to "not yet integrated" in the UI rather than a broken Run button, until OPENCORPORATES_API_TOKEN is set. Also fixes a real bug hit while building this: a RunnerRegistry::REQUIRES class constant mapping source key to a closure crashed on file load (PHP class constants can't hold closures) — inlined the one check instead of building an abstraction for a single case. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
86f73c46b2
commit
dc4388eabf
@@ -70,6 +70,13 @@ class SourceSeeder extends Seeder
|
||||
'target_types' => ['domain'],
|
||||
'runner' => 'dns:records',
|
||||
],
|
||||
[
|
||||
'key' => 'opencorporates',
|
||||
'name' => 'OpenCorporates',
|
||||
'description' => 'Company registration search by name. Requires a free OpenCorporates API token (OPENCORPORATES_API_TOKEN) — hidden from "runnable" sources until one is configured.',
|
||||
'target_types' => ['org'],
|
||||
'runner' => 'http:opencorporates',
|
||||
],
|
||||
];
|
||||
|
||||
foreach ($sources as $source) {
|
||||
|
||||
Reference in New Issue
Block a user