iBis.Rule.Service 1.2.0
iBis.Rule.Service
Entity rule runtime for iBis: evaluation, CRUD pipeline (RuleChangeHandler), integration actions, and admin Meta API.
Installation
dotnet add package iBis.Rule.Service
Usage
services.AddRuleEngine("SAAS"); // from iBis.Tenant.Service
// Optional integration transports (Enqueue, PublishEvent):
services.AddScoped<IRuleIntegrationTransport, SqsRuleIntegrationTransport>();
AddRuleRuntime() registers IRuleMetaService for config metadata and validation.
Admin Meta API (Tenant)
| Method | Path | Purpose |
|---|---|---|
| GET | /tenant/rule-conditions |
Condition types + example JSON |
| GET | /tenant/rule-actions |
Action ops + example JSON |
| POST | /tenant/rules/validate-config |
Validate { kind, code, config } |
Config examples
Entity condition (conditionCode 1):
{"snapshot":"current","field":"statusId","op":"eq","value":"Active"}
Role condition (conditionCode 2, meta only until evaluator plugin):
{"op":"hasAnyRole","roles":["Admin"]}
Integration (actionOp 1–3):
{"target":"trip-events","payloadTemplate":"{\"id\":\"{{entityId}}\"}"}
UI evaluate (actionOp 101–104):
{"target":"statusId","value":"true"}
Error (actionOp 110):
{"target":"statusId","code":"ERR","message":"Not allowed"}
InvalidateCache (actionOp 120, Lifecycle AfterCommit):
{"namespaces":["Rule"]}
Action and condition codes are numeric — see RuleActionOps and RuleConditionCodes in iBis.Rule.Model.
Dependencies
iBis.Rule.Model
Showing the top 20 packages that depend on iBis.Rule.Service.
| Packages | Downloads |
|---|---|
|
iBis.Tenant.Service
Package Description
|
30 |
.NET 8.0
- iBis.Rule.Model (>= 1.2.0)
- iBis.Storage.Model (>= 1.1.0)
- iBis.Token.Model (>= 1.1.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Http (>= 9.0.0)
- iBis.Entity.Types (>= 2.2.12)
- iBis.Entity.WebApi (>= 1.2.29)
- iBis.Util.Logger (>= 1.2.1)