Query Editor
Execute FLIN queries with persistent history. Chain .where(), .order_by(), .limit() — see results instantly.
Syntax Editor
Write FLIN queries in a dedicated editor with syntax highlighting and instant execution.
Persistent History
Every query you run is saved to IndexedDB. Browse, re-run, or delete past queries across sessions.
Query Chaining
Chain .where(), .order_by(), .limit(), and .offset() in a single expression.
Aggregations
Run sum, avg, min, max, and count directly on your entities.
Example Queries
The query editor speaks the same language as your app code. No SQL, no ORM config — just FLIN.
Query Editor
// Basic queries Entity.all Entity.count Entity.first Entity.last Entity.find(42) // Filtering with conditions User.where(active == true) User.where(role == "admin" && active == true) // Chaining: filter → sort → paginate Product.where(price > 50).order_by("price").limit(10) // Aggregations Order.sum(total) Order.avg(total) Product.min(price) Product.max(price)
Capabilities
- Query chains:
.where(),.order_by(),.limit(),.offset() - Aggregation functions:
sum,avg,min,max,count - Direct lookups with
Entity.find(id)andEntity.get(id) - Soft-delete awareness — deleted records are excluded by default
- Compound conditions with
&&and||operators - Persistent query history stored in IndexedDB across browser sessions
API Endpoint
| Method | Endpoint | Description |
|---|---|---|
| POST | /_flin/api/query | Execute a FLIN query and return results as JSON |
Why This Matters
Other Admin Panels
- Write raw SQL or use a separate query tool
- ORM syntax differs from your app code
- No built-in query history
- Separate setup and configuration required
FLIN Query Editor
- Same query syntax as your app code
- Chaining, aggregations, and filters built in
- Persistent history saved to IndexedDB
- Zero configuration — available at
/_flin