Skip to content

Repository files navigation

Sequelize Adapter

NPM versionNPM downloadcodebeat badgeciCoverage StatusDiscord

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

Based on Officially Supported Databases, the current supported databases are:

  • PostgreSQL
  • MySQL
  • SQLite
  • MSSQL

You may find other 3rd-party supported DBs in Sequelize website or other places.

Installation

NPM Install

npm install casbin-sequelize-adapter --save

Yarn Install

yarn add casbin-sequelize-adapter

Testing Locally

Start mysql for tests:

docker compose up -d
yarn test

Simple Example

importcasbinfrom'casbin';import{SequelizeAdapter}from'casbin-sequelize-adapter';asyncfunctionmyFunction(){// Initialize a Sequelize adapter and use it in a Node-Casbin enforcer:// The adapter can not automatically create database.// But the adapter will automatically and use the table named "casbin_rule".// The second boolean argument: autoCreateTable determines whether the adapter will automatically create the "casbin_rule" table.// ORM should not create databases automatically.consta=awaitSequelizeAdapter.newAdapter({username: 'root',password: '',database: 'casbin',dialect: 'mysql',},true,);conste=awaitcasbin.newEnforcer('examples/rbac_model.conf',a);// Check the permission.e.enforce('alice','data1','read');// Modify the policy.// await e.addPolicy(...);// await e.removePolicy(...);// Save the policy back to DB.awaite.savePolicy();}

Getting Help

License

This project is under Apache 2.0 License. See the LICENSE file for the full license text.

Releases

Packages

Used by

Contributors

Languages