2017-06-13 16:41:55 +00:00
|
|
|
# file_service
|
2017-06-13 16:55:07 +00:00
|
|
|
Angel service that persists data to a file on disk, stored as a JSON list. It uses a simple
|
|
|
|
mutex to prevent race conditions, and caches contents in memory until changes
|
|
|
|
are made.
|
|
|
|
|
|
|
|
The file will be created on read/write, if it does not already exist.
|
|
|
|
|
|
|
|
This package is useful in development, as it prevents you from having to install
|
|
|
|
an external database to run your server.
|
|
|
|
|
|
|
|
When running a multi-threaded server, there is no guarantee that file operations
|
|
|
|
will be mutually excluded. Thus, try to only use this one a single-threaded server
|
|
|
|
if possible, or one with very low load.
|
|
|
|
|
|
|
|
While not necessarily *slow*, this package makes no promises about performance.
|
|
|
|
|
|
|
|
# Usage
|
|
|
|
```dart
|
|
|
|
configureServer(Angel app) async {
|
|
|
|
// Just like a normal service
|
2017-12-21 06:37:03 +00:00
|
|
|
app.use(
|
|
|
|
'/api/todos',
|
|
|
|
new JsonFileService(
|
|
|
|
const LocalFileSystem().file('todos_db.json')
|
|
|
|
),
|
|
|
|
);
|
2017-06-13 16:55:07 +00:00
|
|
|
}
|
|
|
|
```
|