Isabelle is a Rust-based framework for building safe and performant servers for the variety of use cases.
- Unified item storage with addition, editing and deletion support.
- Collection hooks allowing plugins to do additional checks or synchronization.
- Security checks.
- E-Mail sending support.
- Google Calendar integration.
- Login/logout functionality.
- One-time password support.
- GET /is_logged_in: check the login status.
Result:
```
{
"username": "<username>",
"id": <user id>,
"role": [ "role_is_admin" ],
"site_name": "Test",
"site_logo": "Test Logo"
"licensed_to": "Test Company"
}
```
-
POST /login (username, password inside the post request):
{ "succeeded": true/false, "error": "detailed error", }
-
POST /logout:
-
GET /itm/list (collection, [id], [id_min], [id_max], [skip], [limit], [sort_key], [filter]): read the item from the collection
{ "map": [ <id>: {} ], "total_count": <value> }
-
POST /itm/edit ("item" inside the post request and inside the query string, "collection" and "merge" = false/true in query): edit the item in collection.
{ "succeeded": true/false, "error": "detailed error", }
-
POST /itm/del (collection, id): delete the item from the collection
{ "succeeded": true/false, "error": "detailed error", }
- Python 3 is needed for Google Calendar integration
Building Isabelle is as easy as Cargo invocation:
cargo build
Use run.sh
script:
./run.sh
MIT