PocketBase Drift
PocketBase client cached with Drift.
- Full Text Search
- Offline first
- Partial updates
- CRUD support
- SQLite storage
- All platforms supported
- Example app
- Tests
Getting Started
Replace a pocketbase client with a drift client.
- import 'package:pocketbase/pocketbase.dart';
+ import 'package:pocketbase_drift/pocketbase_drift.dart';
- final client = PocketBase(
+ final client = $PocketBase.database(
'http://127.0.0.1:8090',
);
Web
For web, you need to follow the instructions for Drift to copy the sqlite wasm binary into the web/
directory.
TODO
- [X] Add support for offline mutations and retry
- [X] Add tests to cover offline actions
- [X] Authentication persistence
- [X] Offline collections
- [X] Offline records
- [X] Full text search for all local records
- [X] Add support for fields (select)
- [X] Add support for sort
- [X] Add support for expand single/multi
- [X] Add support for pagination
- [ ] Add support for indirect expand
- [ ] Add support validation of create/update for required fields
- [ ] Add support for files (and local)