0.3.1 • Published 2 years ago

oso-juggler v0.3.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

oso-juggler

An oso data filtering adapter for loopback juggler orm

Usage

Define a repository factory for JugglerAdapter. for example:

import {Context} from '@loopback/context';
import {juggler} from '@loopback/repository';
import {DefaultCrudRepositoryWithQuery, EntityClass} from '@bleco/query';
import {RepositoryFactory} from 'oso-juggler';

function repositoryFactory<T extends Entity = Entity>(context: Context, dsName: string): RepositoryFactory<T> {
  return async modelName => {
    const ds = await context.get<juggler.DataSource>(`datasources.${dsName}`);
    const entityClass = await context.get<EntityClass<T>>(`models.${modelName}`);
    return new DefaultCrudRepositoryWithQuery(entityClass, ds);
  };
}

Create juggler adapter with the factory:

import {JugglerAdapter} from 'oso-juggler';

const adapter = new JugglerAdapter(repositoryFactory(context, 'db'));

const oso = new Oso();
oso.setDataFilteringAdapter(adapter);