Socket
Book a DemoInstallSign in
Socket

casbin-sequelize-adapter

Package Overview
Dependencies
Maintainers
2
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

casbin-sequelize-adapter

Sequelize adapter for Casbin

latest
Source
npmnpm
Version
2.7.1
Version published
Weekly downloads
5K
168.63%
Maintainers
2
Weekly downloads
 
Created
Source

Sequelize Adapter

NPM version NPM download codebeat badge ci Coverage Status Discord

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

import casbin from 'casbin';
import { SequelizeAdapter } from 'casbin-sequelize-adapter';

async function myFunction() {
  // 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.
  const a = await SequelizeAdapter.newAdapter(
    {
      username: 'root',
      password: '',
      database: 'casbin',
      dialect: 'mysql',
    },
    true,
  );

  const e = await casbin.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.
  await e.savePolicy();
}

Getting Help

License

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

Keywords

casbin

FAQs

Package last updated on 09 Dec 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts