mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-01 06:10:16 +08:00
2f6c4e3696
Co-authored-by: Hongtao Lye <codert.sn@gmail.com> Co-authored-by: liuyi <forehalo@gmail.com> Co-authored-by: LongYinan <lynweklm@gmail.com> Co-authored-by: X1a0t <405028157@qq.com> Co-authored-by: JimmFly <yangjinfei001@gmail.com> Co-authored-by: Peng Xiao <pengxiao@outlook.com> Co-authored-by: xiaodong zuo <53252747+zuoxiaodong0815@users.noreply.github.com> Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> Co-authored-by: Qi <474021214@qq.com> Co-authored-by: danielchim <kahungchim@gmail.com>
43 lines
909 B
TypeScript
43 lines
909 B
TypeScript
import { DynamicModule } from '@nestjs/common';
|
|
|
|
import { DocManager } from './manager';
|
|
import { RedisDocManager } from './redis-manager';
|
|
|
|
export class DocModule {
|
|
/**
|
|
* @param automation whether enable update merging automation logic
|
|
*/
|
|
private static defModule(automation = true): DynamicModule {
|
|
return {
|
|
module: DocModule,
|
|
providers: [
|
|
{
|
|
provide: 'DOC_MANAGER_AUTOMATION',
|
|
useValue: automation,
|
|
},
|
|
{
|
|
provide: DocManager,
|
|
useClass: globalThis.AFFiNE.redis.enabled
|
|
? RedisDocManager
|
|
: DocManager,
|
|
},
|
|
],
|
|
exports: [DocManager],
|
|
};
|
|
}
|
|
|
|
static forRoot() {
|
|
return this.defModule();
|
|
}
|
|
|
|
static forSync(): DynamicModule {
|
|
return this.defModule(false);
|
|
}
|
|
|
|
static forFeature(): DynamicModule {
|
|
return this.defModule(false);
|
|
}
|
|
}
|
|
|
|
export { DocManager };
|