forked from nestjs/mongoose
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mongoose-options.interface.ts
32 lines (28 loc) 路 993 Bytes
/
mongoose-options.interface.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { ModuleMetadata, Type } from '@nestjs/common';
import { ConnectOptions, MongooseError } from 'mongoose';
export interface MongooseModuleOptions
extends ConnectOptions,
Record<string, any> {
uri?: string;
retryAttempts?: number;
retryDelay?: number;
connectionName?: string;
connectionFactory?: (connection: any, name: string) => any;
connectionError?: (error: MongooseError) => void;
}
export interface MongooseOptionsFactory {
createMongooseOptions():
| Promise<MongooseModuleOptions>
| MongooseModuleOptions;
}
export interface MongooseModuleFactoryOptions extends Omit<MongooseModuleOptions, 'connectionName'> {}
export interface MongooseModuleAsyncOptions
extends Pick<ModuleMetadata, 'imports'> {
connectionName?: string;
useExisting?: Type<MongooseOptionsFactory>;
useClass?: Type<MongooseOptionsFactory>;
useFactory?: (
...args: any[]
) => Promise<MongooseModuleFactoryOptions> | MongooseModuleFactoryOptions;
inject?: any[];
}