edanalytics / lightbeam

CLI tool for validating and transmitting payloads from JSONL files into an Ed-Fi API.
Apache License 2.0
10 stars 1 forks source link

Feature - Custom metadata URLs #33

Closed mcriscenzo closed 5 months ago

mcriscenzo commented 5 months ago

The Lightbeam code assumes that there will be a json file at the root of the API url that defines where the auth, dependencies, and swagger metadata files are located. However, this isn't always the case. Indiana DOE's DEX system is an example, where the file does not exist in the expected location, and the metadata files are also not in their "default" urls relative to the base url.

Previously, this would prevent Lightbeam from being used to connect to these non-standard APIs, since there was no way to manually define metadata urls for a connection.

This update adds 4 optional configuration options in the source/destination yaml files, to explicitly define the auth, dependencies, descriptor swagger, and resource swagger metadata files locations. If these are defined in the yaml config file, then Lightbeam will use the explicit option settings, and NOT attempt to automatically detect them. If any of them are NOT defined, then it will attempt to find them in the default locations (preexisting behavior). In other words, default behavior has not changed.

Readme has been updated to reflect this change.