Skip to content

Commit 3d7bb61

Browse files
committed
Migrate Neo4j OnIndex decorator
1 parent 10009ef commit 3d7bb61

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

src/core/database/indexer/create-indexes.decorator.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import { SetMetadata } from '@nestjs/common';
1+
import { createMetadataDecorator } from '@seedcompany/nest';
22
import { type ILogger } from '../../logger';
33
import { type DatabaseService, type ServerInfo } from '../database.service';
4-
import { DB_INDEX_KEY } from './indexer.constants';
54

65
export type IndexMode = 'write' | 'schema';
76

@@ -11,8 +10,10 @@ export type IndexMode = 'write' | 'schema';
1110
* It should be used on a provider method.
1211
* It's passed a db Connection for convenience.
1312
*/
14-
export const OnIndex = (mode: IndexMode = 'write') =>
15-
SetMetadata(DB_INDEX_KEY, mode);
13+
export const OnIndex = createMetadataDecorator({
14+
setter: (mode: IndexMode = 'write') => mode,
15+
types: ['method'],
16+
});
1617

1718
export interface OnIndexParams {
1819
db: DatabaseService;

src/core/database/indexer/indexer.constants.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/core/database/indexer/indexer.module.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ import { many } from '~/common';
99
import { ConfigService } from '../../config/config.service';
1010
import { ILogger, Logger } from '../../logger';
1111
import { DatabaseService, type ServerInfo } from '../database.service';
12-
import { type IndexMode } from './create-indexes.decorator';
13-
import { DB_INDEX_KEY } from './indexer.constants';
12+
import { OnIndex } from './create-indexes.decorator';
1413

1514
@Module({
1615
imports: [DiscoveryModule],
@@ -28,8 +27,9 @@ export class IndexerModule implements OnModuleInit {
2827
return;
2928
}
3029

31-
const discovered =
32-
await this.discover.providerMethodsWithMetaAtKey<IndexMode>(DB_INDEX_KEY);
30+
const discovered = await this.discover.providerMethodsWithMetaAtKey<
31+
(typeof OnIndex)['$value']
32+
>(OnIndex.KEY);
3333
this.logger.debug('Discovered indexers', { count: discovered.length });
3434
const groupedByMode = groupToMapBy(discovered, (d) => d.meta);
3535

0 commit comments

Comments
 (0)