diff --git a/packages/casl-mongoose/index.d.ts b/packages/casl-mongoose/index.d.ts index 400acc05b..143daf359 100644 --- a/packages/casl-mongoose/index.d.ts +++ b/packages/casl-mongoose/index.d.ts @@ -7,14 +7,24 @@ interface PermittedFieldsOptions { only?: string | string[], except?: string | string[] } +interface AccessibleFieldsOptions { + only?: string | string[], + except?: string | string[] +} export function permittedFieldsPlugin(schema: PermittedFieldsSchema, options?: PermittedFieldsOptions): void +export function accessibleFieldsPlugin(schema: AccessibleFieldsSchema, options?: AccessibleFieldsOptions): void export interface PermittedFieldsSchema extends mongoose.Schema { plugin( plugin: typeof permittedFieldsPlugin, options?: PermittedFieldsOptions): this } +export interface AccessibleFieldsSchema extends mongoose.Schema { + plugin( + plugin: typeof accessibleFieldsPlugin, + options?: AccessibleFieldsOptions): this +} export function accessibleRecordsPlugin(schema: mongoose.Schema): void @@ -25,7 +35,7 @@ export interface AccessibleSchema extends mongoose.Schema { declare module "mongoose" { export function model( name: string, - schema?: PermittedFieldsSchema | AccessibleSchema, + schema?: PermittedFieldsSchema | AccessibleFieldsSchema | AccessibleSchema, collection?: string, skipInit?: boolean): Model @@ -36,9 +46,11 @@ declare module "mongoose" { interface Model { accessibleBy(ability: Ability, action?: string): Query permittedFieldsBy(ability: Ability, action?: string): string[] + accessibleFieldsBy(ability: Ability, action?: string): string[] } interface Document { permittedFieldsBy(ability: Ability, action?: string): string[] + accessibleFieldsBy(ability: Ability, action?: string): string[] } }