Guide to get started with Praecepta.
Rule Space is a top level component and it's defined as a Composite of Client Name, Application Name, Rule Space Name. Rule Space can have multiple Rules Groups in it.
Without having a Rule Space created, Praecepta doesn't allow the application to create and execute Rule Groups, Rules and Sidecars.
Example of a Rule Space : Client Name - XYZ Bank, Application Name - Cash Transfer, Space Name - Wire Transfer
Each Version of a Rule Space contains a list of Rule Groups in it. All Rule groups under a Rule Space will have a same Composite key with a combination of Client Name, Application Name, Rule Space Name
Create A Rule Space : Rule Space can be created by calling the endpoint '/ruleSpaceController/ruleSpace' with Http Request Type as 'PUT' with haivng the json input to the endpoint as {"spaceName":"Wire_transfer","clientId":"XYZ_Bank","appName":"Cash_Transfer","version":"V1"}
Fetch All Rule Sapces : All Rule Spaces can be fetched by calling the endpoint '/ruleSpaceController/ruleSpaceList' with Http Request Type as 'GET'
Fetch A Rule Space : A specific Rule Space can be fetched by calling the endpoint '/ruleSpaceController/ruleSpace/{spacename}/{clientid}/{appname}/{version}' with Http Request Type as 'GET' and passing the Space Name, Client Name, Applicaiton Name and Version as Path Parameters
Delete A Rule Space : A specific Rule Space can be deleted by calling the endpoint '/ruleSpaceController/ruleSpace/{spacename}/{clientid}/{appname}/{version}' with Http Request Type as 'DELETE' and passing the Space Name, Client Name, Applicaiton Name and Version as Path Parameters
Rule Group is a Collection of related Rules grouped together to perform a spaecific business function check.
Rule Group defined as a Composite of Client Name, Application Name, Rule Space Name and Rule Group Name.
Example of a Rule Group : Client Name - XYZ Bank, Application Name - Cash Transfer, Space Name - Wire Transfer, Rule Group Name - Wire Transfer Fee Check
Each Version of a Rule Group consists a collection of Rules in it. Every Rule group under a Rule Space will have a same Composite key with a combination of Client Name, Application Name, Rule Space Name and a unique Rule Group Name
Every Rule Group can be maintained with different versions. The CRUD operations on a Rule Group can be performed by passing the Space Key, Rule Group name and Rule Group Version
A Rule Group can be added to a Rule Space if the Space key [Composite of Client Name, Application Name, Rule Space Name] being used by both Rule Space and Rule Group is Same.
Example of a Rule Space : Client Name - XYZ Bank, Application Name - Cash Transfer, Space Name - Wire Transfer
Example of a Rule Group : Client Name - XYZ Bank, Application Name - Cash Transfer, Space Name - Wire Transfer, Rule Group Name - Wire Transfer Fee Check
In the above Example, Since the Client name, App name and Space name is same between Rule Space and Rule Group. The example Rule Group is eligible to add it to Example Rule Space above
Create A Simple Rule Group : Simple Rule Group can be created by calling the endpoint '/ruleGroupController/ruleGroups/{space}/{client}/{appName}/{version}' with Http Request Type as 'PUT' and passing the json input to the endpoint as Simple Rule Group Json
Update A Simple Rule Group : Simple Rule Group update can be done by calling the endpoint '/ruleGroupController/updateRuleGroup/{space}/{client}/{appName}/{version}' with Http Request Type as 'POST' and passing the json input to the endpoint as Simple Rule Group Json
Create A Multi Rule Group : Multi Rule Group can be created by calling the endpoint '/ruleGroupController/multiRuleGroups/{space}/{client}/{appName}/{version}' with Http Request Type as 'PUT' and passing the json input to the endpoint as Multi Rule Group Json
Update A Multi Rule Group : Multi Rule Group update can be done by calling the endpoint '/ruleGroupController/updateMultiRuleGroup/{space}/{client}/{appName}/{version}' with Http Request Type as 'POST' and passing the json input to the endpoint as Multi Rule Group Json
Create A Multi Nested Rule Group : Multi Nested Rule Group can be created by calling the endpoint '/ruleGroupController/multiNestedRuleGroups/{space}/{client}/{appName}/{version}' with Http Request Type as 'PUT' and passing the json input to the endpoint as Multi Nested Rule Group Json
Update A Multi Nested Rule Group : Multi Nested Rule Group update can be done by calling the endpoint '/ruleGroupController/updateMultiNestedRuleGroup/{space}/{client}/{appName}/{version}' with Http Request Type as 'POST' and passing the json input to the endpoint as Multi Nested Rule Group Json
Fetch A Rule Group : A specific Rule Group can be fetched by calling the endpoint '/ruleGroupController/ruleGroups/{space}/{client}/{appName}/{version}/{groupName}' with Http Request Type as 'GET' and passing the Space Name, Client Name, Applicaiton Name, Version and Group Name as Path Parameters
Delete A Rule Group : A specific Rule Group can be deleted by calling the endpoint '/ruleGroupController/ruleGroups/{space}/{client}/{appName}/{version}/{groupName}' with Http Request Type as 'DELETE' and passing the Space Name, Client Name, Applicaiton Name, Version and Group Name as Path Parameters
Multiple Rules with different Conditions and Actions will be added to Rule Group by passing the same Space Name, Client Name, Applicaiton Name, Version and having the same Group Name as part of the Json input.
Rule can be defined as a Criteria/Logic/Expression Evaluator with necessary Actions to be Performed based on the Evaluation Result.
A Rule will have a Criteria Configuration with a Combination of Conditions/Predicates and Conditional Join Operators. Based on the Result of the Condition Evaluation; Configure a Postive and Negative Actions to be performed.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt dicta quidem recusandae odio soluta sequi molestias corrupti, illum nihil, minus veritatis numquam quaerat repellendus veniam eum dolor. Nulla, id ipsum.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit nostrum doloremque molestias non, provident odio beatae quod, optio pariatur accusantium, at amet excepturi ducimus. Consequatur autem deleniti beatae quod doloremque.