liveapicreator-admin-cli
Version:
The NodeJS command line utility for 'CA Live API Creator' DevOps Administration from CA Technologies
219 lines • 8.35 kB
JSON
[
{
"ts": "2018-07-24T16:33:20.083+00:00",
"entity_name": "demo:LineItem",
"attribute_name": "amount",
"prop1": null,
"prop2": null,
"prop3": null,
"prop4": "javascript",
"prop5": null,
"rule_text1": "if (row.qty_ordered <= 6) // discount (using conditional JavaScript logic)\n return row.product_price * row.qty_ordered;\nelse\n return row.product_price * row.qty_ordered * 0.8;\n",
"rule_text2": null,
"rule_text3": null,
"rule_text4": null,
"rule_text5": null,
"predicate": null,
"name": "formula_amount",
"title": "Discounted price*qty",
"is_auto_title": false,
"verbs": null,
"comments": "Reactive Logic is expressed in JavaScript, so you use...\n- conditional logic (as above),\n- standard JavaScript services (e.g., moment date functions - enable in Project > Libraries),\n- SQL / external services.... whatever is required.",
"active": true,
"sqlable": false,
"jit": false,
"ruletype_ident": 3,
"default_name": "formula_amount",
"default_title": "amount = if (row.qty_ordered <= 6) // discount (using conditional JavaScript logic)",
"@metadata": {
"href": "http://localhost:8080/rest/abl/admin/v2/admin:rules/2115",
"checksum": "A:aea8457211be6fab"
}
},
{
"ts": "2018-07-24T16:33:20.363+00:00",
"entity_name": "demo:LineItem",
"attribute_name": "product_price",
"prop1": null,
"prop2": null,
"prop3": null,
"prop4": null,
"prop5": null,
"rule_text1": "product",
"rule_text2": "price",
"rule_text3": null,
"rule_text4": null,
"rule_text5": null,
"predicate": null,
"name": "parentCopy_product_price",
"title": "product_price = parentcopy(product.price)",
"is_auto_title": true,
"verbs": null,
"comments": "Parent copy means order unaffected by product price changes",
"active": true,
"sqlable": false,
"jit": false,
"ruletype_ident": 4,
"default_name": "parentCopy_product_price",
"default_title": "product_price = parentcopy(product.price)",
"@metadata": {
"href": "http://localhost:8080/rest/abl/admin/v2/admin:rules/2116",
"checksum": "A:8c4256ca842834cf"
}
},
{
"ts": "2018-07-24T16:33:20.365+00:00",
"entity_name": "demo:PurchaseOrder",
"attribute_name": null,
"prop1": null,
"prop2": null,
"prop3": null,
"prop4": "javascript",
"prop5": null,
"rule_text1": "if (row.amount_total != oldRow.amount_total) {\n var newPurchaseorder_audit = logicContext.createPersistentBean(\"demo:purchaseorder_audit\");\n newPurchaseorder_audit.amount_total = oldRow.amount_total; // set attributes from old values\n newPurchaseorder_audit.paid = oldRow.paid;\n newPurchaseorder_audit.customer_name = oldRow.customer_name;\n newPurchaseorder_audit.order_number = oldRow.order_number; // set the foreign key\n logicContext.insert(newPurchaseorder_audit); // saves (fires logic)\n}\n// better: re-use alternative using Loadable Libraries\n// if (row.amount_total != oldRow.amount_total)\n// SysLogic.insertChildFrom(\"purchaseorder_audit\", logicContext);\n",
"rule_text2": null,
"rule_text3": null,
"rule_text4": null,
"rule_text5": null,
"predicate": null,
"name": "event_audit_amount",
"title": "Audit Purchase Order amount changes",
"is_auto_title": false,
"verbs": "UPDATE",
"comments": "row, logicContext passed in from engine; initialVerb is *client* action (e.g., POST), irrespective of subsequent updates (e.g., from item adjustments)\nearly events execute before reactive expressions, events execute after reactive expressions, commit events execute after all rows are processed",
"active": true,
"sqlable": false,
"jit": false,
"ruletype_ident": 7,
"default_name": "event_2117",
"default_title": "Event: if (row.amount_total != oldRow.amount_total) {",
"@metadata": {
"href": "http://localhost:8080/rest/abl/admin/v2/admin:rules/2117",
"checksum": "A:3a851203d2730c59"
}
},
{
"ts": "2018-07-24T16:33:20.404+00:00",
"entity_name": "demo:PurchaseOrder",
"attribute_name": "amount_total",
"prop1": null,
"prop2": null,
"prop3": null,
"prop4": null,
"prop5": null,
"rule_text1": "LineItemList",
"rule_text2": null,
"rule_text3": "amount",
"rule_text4": null,
"rule_text5": null,
"predicate": null,
"name": "sum_amount_total",
"title": "amount_total = sum(LineItemList.amount)",
"is_auto_title": true,
"verbs": null,
"comments": "sum of line item amounts",
"active": true,
"sqlable": false,
"jit": false,
"ruletype_ident": 1,
"default_name": "sum_amount_total",
"default_title": "amount_total = sum(LineItemList.amount)",
"@metadata": {
"href": "http://localhost:8080/rest/abl/admin/v2/admin:rules/2118",
"checksum": "A:811bc7751b20df62"
}
},
{
"ts": "2018-07-24T16:33:20.406+00:00",
"entity_name": "demo:customer",
"attribute_name": null,
"prop1": null,
"prop2": null,
"prop3": null,
"prop4": "javascript",
"prop5": null,
"rule_text1": "return row.balance <= row.credit_limit;\n",
"rule_text2": "Customer {name}'s balance: {balance|#,##0.00} exceeds their credit limit: {credit_limit|#,##0.00}",
"rule_text3": null,
"rule_text4": null,
"rule_text5": null,
"predicate": null,
"name": "validation_balance",
"title": "Validation: return row.balance <= row.credit_limit;",
"is_auto_title": true,
"verbs": null,
"comments": "balance cannot exceed credit limit, else throw exception",
"active": true,
"sqlable": false,
"jit": false,
"ruletype_ident": 5,
"default_name": "validation_2119",
"default_title": "Validation: return row.balance <= row.credit_limit;",
"@metadata": {
"href": "http://localhost:8080/rest/abl/admin/v2/admin:rules/2119",
"checksum": "A:6b627120554654fd"
}
},
{
"ts": "2018-07-24T16:33:20.408+00:00",
"entity_name": "demo:customer",
"attribute_name": null,
"prop1": null,
"prop2": null,
"prop3": null,
"prop4": "javascript",
"prop5": null,
"rule_text1": "var detail = {\n filter: \"{_id: \\\"32751\\\"}\" ,\n order: \"\",\n pagesize: 30,\n offset: 0,\n verbose: false\n};\n\nvar response = SysUtility.getResource('zipcodes', detail);\nlog.debug(JSON.stringify(response,null,2));\nlog.debug(response[0].state);\nlog.debug(response[0].city);\n//log.debug(response[0].loc);\n",
"rule_text2": null,
"rule_text3": null,
"rule_text4": null,
"rule_text5": null,
"predicate": null,
"name": "event_citylookup",
"title": "Lookup city and state from zip code",
"is_auto_title": false,
"verbs": "INSERT,UPDATE",
"comments": null,
"active": false,
"sqlable": false,
"jit": false,
"ruletype_ident": 7,
"default_name": "event_2120",
"default_title": "Event: var detail = {",
"@metadata": {
"href": "http://localhost:8080/rest/abl/admin/v2/admin:rules/2120",
"checksum": "A:fca48d603a45ff6d"
}
},
{
"ts": "2018-07-24T16:33:20.41+00:00",
"entity_name": "demo:customer",
"attribute_name": "balance",
"prop1": null,
"prop2": null,
"prop3": null,
"prop4": null,
"prop5": null,
"rule_text1": "PurchaseOrderList",
"rule_text2": "paid = false",
"rule_text3": "amount_total",
"rule_text4": null,
"rule_text5": null,
"predicate": null,
"name": "sum_balance",
"title": "balance = sum(PurchaseOrderList.amount_total where paid = false)",
"is_auto_title": true,
"verbs": null,
"comments": "A rule is like a spreadsheet cell formula... it *reacts\" to changes in referenced data...\n* increased when order placed\n* decreased when order deleted... or paid\n* adjusted when order changed... or assigned to a new customer",
"active": true,
"sqlable": false,
"jit": false,
"ruletype_ident": 1,
"default_name": "sum_balance",
"default_title": "balance = sum(PurchaseOrderList.amount_total where paid = false)",
"@metadata": {
"href": "http://localhost:8080/rest/abl/admin/v2/admin:rules/2121",
"checksum": "A:737cc50d15aab417"
}
}
]