| Ocalt Query Language
Pricing Dashboard ocalt.com v1.0

Advanced Examples

Real-world OQL patterns combining multiple verbs, chains, and site mode.

Auth-protected REST API

(* Site Mode — index.oql *) (* Verify session on every request *) SESSION !REQUEST(header:x-session-token) SET ?user AFTER IF ?user IS NULL OPEN NEST STATUS 401 AFTER HEADER "Content-Type" AS "application/json" AFTER EMIT `{"error":"Unauthorized"}` AFTER EXIT ALL CLOSE NEST (* Route dispatch *) ELSE IF !REQUEST(path) IS EQUAL TO "/api/me" OPEN NEST HEADER "Content-Type" AS "application/json" AFTER CAST ?user AS "json" SET ?json_str AFTER EMIT ?json_str CLOSE NEST ELSE OPEN NEST STATUS 404 CLOSE NEST

Rate-limited image resize API

(* Check rate limit — 10 resizes per 60s per IP *) GEOIP ADDRESS SET ?ip AFTER CACHE "resize_rate:" & ?ip SET ?count AFTER IF ?count IS NOT NULL OPEN NEST IF ?count IS GREATER THAN OR EQUAL TO 10 OPEN NEST STATUS 429 AFTER EMIT "Rate limit exceeded" AFTER EXIT ALL CLOSE NEST CLOSE NEST AFTER CACHE CALCULATE "(?count + 1)" AS "resize_rate:" & ?ip ON "60" (* Process image *) PARSE JSON !REQUEST(body) SET ?body AFTER FETCH ?body(url) INTO "/root/tmp/" & UUID & ".jpg" SET ?path AFTER IMAGE LOAD ?path SET ?img AFTER RESIZE ?img TO ?body(size) SET ?resized AFTER SHARE ?resized SET ?url AFTER REMOVE ?path AFTER HEADER "Content-Type" AS "application/json" AFTER EMIT `{"url":"` & ?url & `"}`

Product catalogue with cache

CACHE "products_v2" SET ?cached AFTER IF ?cached IS NOT NULL OPEN NEST PARSE JSON ?cached SET ?products AFTER EMIT ?products CLOSE NEST ELSE OPEN NEST QUERY "products" FROM "shop" WHERE in_stock IS EQUAL TO true SORT BY "name" SET ?products CLOSE NEST AFTER CAST ?products AS "json" SET ?json_str AFTER CACHE ?json_str AS "products_v2" ON "300" AFTER EMIT ?products

Parallel competitor price check

FETCH "https://api.competitor1.com/prices/widget" SET ?p1 AND FETCH "https://api.competitor2.com/prices/widget" SET ?p2 AND QUERY "products" FROM "shop" WHERE sku IS EQUAL TO "WIDGET-01" LIMIT 1 SET ?mine AFTER NEW JSON OBJECT OPEN NEST SET "ours" AS ?mine(price) AND SET "comp1" AS ?p1(price) AND SET "comp2" AS ?p2(price) AND SET "cheapest" AS (CALCULATE "min(min(?p1(price), ?p2(price)), ?mine(price))") CLOSE NEST SET ?report AFTER EMIT ?report

Daily PDF report via CRON

DEFINE CRON "daily-sales-pdf" ON SCHEDULE "0 7 * * *" OPEN NEST TIME NOW AS "date" SET ?today AFTER QUERY "orders" FROM "shop" WHERE created_date IS EQUAL TO ?today SORT BY "amount" FORMAT "desc" SET ?orders AFTER LENGTH ?orders SET ?count AFTER CALCULATE "0" SET ?total AFTER FOREACH ?orders AS ?o OPEN NEST CALCULATE "?total + ?o(amount)" SET ?total CLOSE NEST AFTER DOC CREATE AS "pdf" INTO "/root/reports/sales_" & ?today & ".pdf" OPEN NEST EMIT `

Sales Report — ` & ?today & `

` AFTER EMIT `

Orders: ` & ?count & ` | Total: R` & ?total & `

` CLOSE NEST SET ?pdf AFTER SHARE ?pdf SET ?url AFTER EMAIL `Sales report for ` & ?today & `: ` & ?url TO "reports@myshop.com" WITH "Daily Sales Report — " & ?today CLOSE NEST