diesel-adapter

Crates.io Docs CI codecov

Diesel Adapter is the Diesel adapter for Casbin-rs. With this library, Casbin can load policy from Diesel supported database or save policy to it.

Based on Diesel, The current supported databases are:

Install

Add it to Cargo.toml

diesel-adapter = { version = "0.7.2", features = ["postgres"] } async-std = "1.6.2"

Configure

Rename sample.env to .env and put DATABASE_URL, POOL_SIZE inside

```bash DATABASEURL=postgres://casbinrs:casbin_rs@127.0.0.1:5432/casbin

DATABASEURL=mysql://casbinrs:casbin_rs@127.0.0.1:3306/casbin

POOL_SIZE=8 ```

Or you can export DATABASE_URL, POOL_SIZE

bash export DATABASE_URL=postgres://casbin_rs:casbin_rs@127.0.0.1:5432/casbin export POOL_SIZE=8

Example

```rust use dieseladapter::casbin::prelude::*; use dieseladapter::DieselAdapter;

[async_std::main]

async fn main() -> Result<()> { let mut m = DefaultModel::fromfile("examples/rbacmodel.conf").await?; let a = DieselAdapter::new()?; let mut e = Enforcer::new(m, a).await?; Ok(()) } ```

Features

Attention: postgres and mysql are mutual exclusive which means that you can only activate one of them. Currently we don't have support for sqlite, it may be added in the near future.