Skip to content

isabelle-platform/isabelle-core

Repository files navigation

isabelle-core

Build Status

Isabelle is a Rust-based framework for building safe and performant servers for the variety of use cases.

Features

  • 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.

Endpoints

  1. 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"
}
  1. POST /login (username, password inside the post request):
{
	"succeeded": true/false,
	"error": "detailed error",
}
  1. POST /logout:

  2. 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>
}
  1. 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",
}
  1. POST /itm/del (collection, id): delete the item from the collection
{
	"succeeded": true/false,
	"error": "detailed error",
}

Dependencies

  • Python 3 is needed for Google Calendar integration

Building

Building Isabelle is as easy as Cargo invocation:

cargo build

Running

Use run.sh script:

./run.sh

License

MIT

About

Isabelle Core

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors