0.3.1 • Published 2 years ago
oso-juggler v0.3.1
oso-juggler
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);