This change should fix the entity check endpoint when some facts are
missing, e.g. the retriever has not run yet.
Signed-off-by: Jacob Wejendorp <jwe@tradeshift.com>
* Change entity filter to be an actual entity filter instead of a list of kinds or types
* Modify/simplify types a little bit
* Split common type libs to one for node and one isomorphic
* Remove unnecessary items from FactChecker interface to simplify execution loop.
Needs still matching README.md changes.
Signed-off-by: Jussi Hallila <jussi@hallila.com>
* Adding a container type to be returned from validate function
* Modifying JsonRulesEngineFactChecker to throw with error information if check addition fails on validation
Signed-off-by: Jussi Hallila <jussi@hallila.com>
Types can be used to:
* Determine which check logic to run
* Determine the correct persistence option to use
* Choose correct ser/deser logic for the check
* Determine correct components to render on the frontend
Modify router API to be post for better usability. The API might end up doing writes if caching etc. is added in later as well.
Modify CheckRegistry & FactChecker to return persisted check when it is registered.
Signed-off-by: Jussi Hallila <jussi@hallila.com>
* Add common types and interfaces for Tech Insights. Exposing components needed to use and modify tech-insights-backend module and to implement individual Fact Retrievers, Fact Checkers and their persistence options.
* Implement a framework to run fact retrievers and store fact data into the database. Add migration scripts to create a new database for `tech_insights`.
* Create a default implementation of a FactChecker enabling users to construct checks and run them and generate scorecards based on checks.
* To be able to use tech insights in your application you need to implement `FactRetriever`s to retrieve and return data for facts and register them to the tech-insights-backend. If you want to use fact checking functionality, you need to create `check`s and register them to an implementation of a `FactChecker`.
For more information see documentation on the README.md files of the respective packages.
Signed-off-by: Jussi Hallila <jussi@hallila.com>