Git Product home page Git Product logo

rule-evaluator-jpa's People

Contributors

dfpaulino avatar

Watchers

 avatar

rule-evaluator-jpa's Issues

expose controller for Predicates

The controller should preform basic operation:

  1. GetAll
  2. GetById
  3. UpdateById

Delete operations should not be allowed, as it can leave the group (owner of the predicate) in a inconsistent state.
If its required to delete a predicate, it should be done on the group level (remove from the predicateSet)

groupController: Add Validation of Payloads

Validate the payloads.
validate Validity of the predicates.
Might use the Predicate Generator from the core module to validate if the predicate is valid.
Throw Custom Exception if not

Add ControllerAdvice

Create a Custom Exception with proper exception Handling
Error
400 - for invalid payload
404 - rules/group/predicate not found
500 - for the rest

Align API to TMF-671

This is a break change, as it involves profound DTO changes and slight DB entity changes.
The Engine should remain.

Big Task ahead...
need to decompose this into smaller tasks to allow better traceability (TBD)

Create Rule Controller

create REST

  • CreateRule
  • DeleteById
  • GetRuleById (return the Rule with groups and predicates)
  • GetAll Rules (return only a list of ruleNames)

Link to delete Child group is wrong

The link to delete a childGroup is wrong. the ID of the parent is always 0, bit should be the ID of the parent group

"deleteChildGroup": { "href": "http://localhost:8080/groups/0/group/2" }
The parent group should be 1

Reload rules on loop

When loading multiple rules, it seems its on a loop
#23 of the core rule-evaluator-core solves the issue

The rules-jpa needs to update the core library to 2.0.2

Allow to De-activate/Activate rule By Id

Creation by default is Active
Add end point to allow de-activation/activation of rules.

Only active rules are to be loaded :

API impacts
for ALL GETS on Rules
add field with Rule_state ACTIVE DEACTIVE

Also modify the get to allow filtering based on the request parameter to filter active(default), deactive or all

add Actions to rule

actions should have

  • type -> defined by values of a table
  • Data -> user defined
  • priority -> user defined

There should be no direct CUD operations directly on Actions, as rules are composed by actions, which means, no actions should be allowed with no rule.

  • The actions should be created upon rule create. (Done)

  • create/delete operations should be using the rule Id (Done)

  • create action controller to allow to get ALL action Types currently on the system (TODO)

add helm charts

add Helm chart to allow deployment in a k8's cluster.
For the moment we will use minikube to test it out (as we dont have GKE cluster...)

Create Rest API to process Rules based on JsonNode

User must test a JSONNode (plain Json object) through a series of rules.
the result should be a list applicable Rules

The Applicable Rules should be ordered by priority and should include
RuleName
Rule Prioriry
List

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.