edgebase_admin 0.1.2
edgebase_admin: ^0.1.2 copied to clipboard
EdgeBase Admin SDK — server-side admin operations.
edgebase_admin
Trusted server-side SDK for EdgeBase in Dart
Database admin, user management, SQL, analytics, push, storage, and trusted function calls
Dart VM · Backend services · Trusted workers · Cron jobs · Secure environments
Database Admin SDK · Admin Users · Analytics Admin SDK · Push Admin SDK
edgebase_admin is the trusted server-side Dart SDK for EdgeBase.
Use it when you need:
- Service Key authenticated access
- server-side database operations that bypass access rules
- admin user management
- raw SQL execution
- push and analytics from secure environments
- server-to-server function calls
- access to KV, D1, and Vectorize resources
If code runs in a Flutter app or untrusted client, use edgebase_flutter instead. If you only need low-level primitives for a custom integration, use edgebase_core.
Beta: the package is already usable, but some APIs may still evolve before general availability.
Documentation Map #
- Database Admin SDK Server-side database access with a Service Key
- Admin User Management Create, update, list, revoke, and manage users
- Analytics Admin SDK Query request analytics and track server-side events
- Push Admin SDK Send push notifications from secure environments
- Admin SDK Reference Public admin SDK surface by category
For AI Coding Assistants #
If you are using an AI coding assistant, check llms.txt before generating code.
It captures the trusted-server package boundary, canonical admin usage, and Dart-specific rules for adminAuth, SQL, analytics query options, and Service Key handling.
Installation #
dart pub add edgebase_admin
Quick Start #
import 'package:edgebase_admin/edgebase_admin.dart';
final admin = AdminEdgeBase(
'https://your-project.edgebase.fun',
serviceKey: 'YOUR_SERVICE_KEY',
);
final posts = await admin
.db('app')
.table('posts')
.orderBy('createdAt', direction: 'desc')
.limit(20)
.getList();
print(posts.items);
Core API #
Once you create an admin client, these are the main surfaces you will use:
admin.adminAuthAdmin user managementadmin.db(namespace, instanceId: ...)Server-side database accessadmin.sql(namespace, instanceId, sql, [params])Raw SQL executionadmin.storageServer-side storage accessadmin.functionsCall app functions from trusted codeadmin.pushSend push notificationsadmin.analyticsQuery analytics and track server-side eventsadmin.kv(namespace),admin.d1(database),admin.vector(index)Access platform resources from trusted code
Database Access #
final posts = admin.db('app').table('posts');
final latest = await posts
.where('status', '==', 'published')
.orderBy('createdAt', direction: 'desc')
.limit(20)
.getList();
For instance databases, pass the instance id explicitly:
admin.db('workspace', instanceId: 'ws-123');
admin.db('user', instanceId: 'user-123');
Read more: Database Admin SDK
Admin Users #
final created = await admin.adminAuth.createUser(
email: 'admin@example.com',
password: 'secure-pass-123',
displayName: 'June',
role: 'moderator',
);
await admin.adminAuth.setCustomClaims(created.id, {
'plan': 'pro',
});
final users = await admin.adminAuth.listUsers(limit: 20);
print(users.users);
Read more: Admin User Management
Raw SQL #
final rows = await admin.sql(
'workspace',
'ws-123',
'select * from documents where status = ?',
['published'],
);
print(rows.length);
Push And Analytics #
await admin.push.send('user-123', {
'title': 'Deployment finished',
'body': 'Your content is live.',
});
final overview = await admin.analytics.overview({'range': '7d'});
print(overview['summary']);
Read more:
Native Resource Access #
await admin.kv('cache').set('homepage', 'warm', ttl: 60);
final rows = await admin.d1('analytics').exec(
'SELECT * FROM events WHERE type = ?',
['click'],
);
print(rows);
Choose The Right Dart Package #
| Package | Use it for |
|---|---|
edgebase_flutter |
Flutter apps and client-side code |
edgebase_admin |
Trusted server-side Dart code with Service Key access |
edgebase_core |
Low-level primitives for custom SDK or integration work |
edgebase |
Umbrella package when you want a broader Dart entry point |
License #
MIT