@joktec/mongo
Version:
JokTec - Mongo Service
30 lines • 1.08 kB
TypeScript
import { Func, ICustomOptions, IndexOptions } from '@typegoose/typegoose/lib/types';
import { IndexDirection, SchemaOptions } from 'mongoose';
import { ParanoidOptions } from '../plugins';
export interface IPlugin<TFunc extends Func = any, TParams = Parameters<TFunc>[1]> {
mongoosePlugin: TFunc;
options?: TParams;
}
export interface IIndexOptions {
fields: Record<string, IndexDirection>;
options?: IndexOptions;
}
export interface ITimeToLiveIndexOptions {
field: string;
expiry: number | string;
}
export interface ISchemaOptions {
collection?: string;
schemaOptions?: Omit<SchemaOptions, 'collection'>;
customOptions?: ICustomOptions;
paranoid?: boolean | ParanoidOptions;
plugins?: IPlugin[];
index?: string | string[];
unique?: string | string[];
ttl?: ITimeToLiveIndexOptions | ITimeToLiveIndexOptions[];
textSearch?: string;
geoSearch?: string;
customIndexes?: IIndexOptions[];
}
export declare const Schema: (options?: ISchemaOptions) => ClassDecorator;
//# sourceMappingURL=scheme.decorator.d.ts.map