OpenMetadata/openmetadata-service
Ram Narayan Balaji 0aa9238a72
Fix: #19907 Glossary Term Approval Workflow - Trigger Filters - JsonLogic along with Exclude Fields filter (#22437)
* Draft Implementation of Auto approve Glossary Terms - JsonLogicFilter

* Update generated TypeScript types

* Fixed Issues: PassFilter Inversion when jsonLogic is true, Unescaping JsonFilter

* Corrected the Test Expectations and fixed the test

* Fixed the Test for auto approval

* Fixed Java Checkstyle

* Added Entity to the jsonLogic Map for rule application so that other operations on entity is also used in jsonLogic

* Implementation of Code Review Changes
1. Use the Singleton Rule Engine and add Operations
2. Use Migrations and remove the backward Compatibility

* Update generated TypeScript types

* Removed Flowable variable updatedBy

* Update CheckEntityAttributesImpl to use Singleton rule instance

* Final Design: Improved Json Logic Triggers : isChanged, isReviewer, isOwner

* Fixed Issue: Extracting var from isChanged rule

* Fixed Issue: Fixed comment and trigger properties for entityBasedTrigger

* Hybrid approach: Exclude Fields + JsonLogic

* Update generated TypeScript types

* Added a lot of test cases!

* Auto Approve Glossary Terms during creation to avoid forever DRAFT state

* Added nodes for auto approve for reviewers

* Revert starting terms in DRAFT

* Adding Migrations to take the fresh data from the seed config, since our default workflow definitions have been changed.

* Handled Migrations properly for glossary term auto approve nodes

* Fix Merge Conflicts - Updated MigrationUtil, Fixed GlossaryStates test with newly added nodes

* Add Trigger filter to have empty string

* Fix Java checkstyle

* Updated the JsonLogic apply to incorporate RuleEngine changes

* Update the default rule for checkglossaryterm has reviewers node in governance workflow

* add migration logic

* Fix Flaky Optimistic Lock exception in the test case

* add tests

* Fix: 1. Propagate updatedBy from the trigger and make the updatedBy to be a reviewer in case of auto approval by reviewer.
2.  Multiple Workflow Instance Conflicts resolution

* Remove early no conflict return

* revert search provider changes

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karan Hotchandani <33024356+karanh37@users.noreply.github.com>
Co-authored-by: karanh37 <karanh37@gmail.com>
Co-authored-by: sonika-shah <58761340+sonika-shah@users.noreply.github.com>
2025-08-06 12:17:55 +00:00
..