2.0.8 • Published 4 years ago

nestjs-casbin v2.0.8

Weekly downloads
197
License
MIT
Repository
github
Last release
4 years ago

Installation

$ yarn install nestjs-casbin

Setup module

import { Module } from '@nestjs/common';
import { NestCasbinModule } from 'nestjs-casbin';
import { join } from 'path';
import { MongoAdapter } from 'casbin-mongodb-adapter';

const adapter = (async () => await MongoAdapter.newAdapter({
        uri: 'mongodb://localhost:27017',
        collectionName: 'casbin',
        databaseName: 'casbindb',
}));


@Module({
  imports: [
    NestCasbinModule.register({
      adapter,
      casbinModelPath: join(__dirname, './rbac_model.conf')
    }),
  ],
  controllers: [],
  providers: [],
})
export class AppModule {}
import { Module, Injectable } from '@nestjs/common';
import { MongoAdapter } from 'casbin-mongodb-adapter';
import { NestCasbinModuleOptions, NestCasbinOptionsFactory, NestCasbinModule } from 'nestjs-casbin';
import { join } from 'path';

@Injectable()
export class CasbinConfigService implements NestCasbinOptionsFactory {
  async createCasbinOptions(connectionName?: string): Promise<NestCasbinModuleOptions> | NestCasbinModuleOptions {
    
    const adapter = await MongoAdapter.newAdapter({
       uri: 'mongodb://localhost:27017',
       collectionName: 'casbin',
       databaseName: 'casbindb',
    });

    return {
      adapter,
      casbinModelPath: join(__dirname, './rbac_model.conf')
    };
  }
}

@Module({
  imports: [
    NestCasbinModule.registerAsync({
      useClass: CasbinConfigService
    }),
  ],
  controllers: [],
  providers: [],
})
export class AppModule {}

Pre 2.0.0 which supports only mongodb adapter

Installation

$ yarn install nestjs-casbin-mongodb

Setup module

import { Module } from '@nestjs/common';
import { NestCasbinModule } from 'nestjs-casbin-mongodb';
import { join } from 'path';

@Module({
  imports: [
    NestCasbinModule.forRoot({
      uri: 'mongo://localhost:27017',
      casbinModelPath: join(__dirname, './rbac_model.conf'),
      collectionName: 'roles',
      databaseName: 'my-db-name',
    }),
  ],
  controllers: [],
  providers: [],
})
export class AppModule {}

License

This project is MIT licensed.

2.0.8

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago