Understanding Eden-MDBS's core concepts will help you get the most out of the platform. This guide explains the fundamental building blocks and how they work together.
Organizations are the top-level containers in Eden-MDBS that provide multi-tenant isolation.
Organization
├── Users (with access levels)
├── Endpoints (database connections)
├── Templates (reusable operations)
└── Workflows (multi-step automations)Eden uses a hierarchical access level system with four tiers:
| Level | Capabilities |
|---|---|
| Read | View resources and execute read-only queries |
| Write | All Read permissions + execute write queries |
| Admin | All Write permissions + manage users, endpoints, templates |
| SuperAdmin | All Admin permissions + manage other admins, organization |
Each level includes all permissions from lower levels. A Write user automatically has Read permissions.
Endpoints are managed connections to external databases and services. They provide:
Relational Databases:
NoSQL Databases:
External Services:
| Operation | Description | Access Required |
|---|---|---|
| Read | Query data without modification | Read |
| Write | Insert, update, or delete data | Write |
| Transaction | Multiple operations in one atomic unit | Write |
Templates are reusable, parameterized operations that define database queries or API calls.
{
"id": "get_user_orders",
"kind": "Read",
"template": {
"query": "SELECT * FROM orders WHERE user_id = {{user_id}}",
"params": ["{{user_id}}"]
}
}Templates use Handlebars syntax for parameter substitution:
{{parameter}} - Simple value substitution{{#if condition}}...{{/if}} - Conditional logic{{#each array}}...{{/each}} - Loop over arraysWorkflows are multi-step operations that orchestrate multiple templates or actions.
Use workflows when you need to:
RBAC controls who can access what resources at a granular level.
You can grant different access levels per resource:
User: developer@company.com
├── Organization: Read
├── Endpoint "analytics_db": Read
├── Endpoint "app_db": Write
└── Template "user_report": ReadA user with organization-level Write access:
Eden uses JWT (JSON Web Token) authentication:
Authorization: Bearer <jwt_token>JWT tokens contain:
All API endpoints follow a consistent pattern:
http://{host}:8000/api/v1/{resource}Success:
{
"status": "success",
"data": { ... }
}Error:
{
"error": "Error Type",
"message": "Detailed error message"
}Here's how the concepts work together in a typical workflow: