Skip to content

Commit

Permalink
Merge pull request #33 from klayrHQ/prisma-refactor
Browse files Browse the repository at this point in the history
prisma refactor
  • Loading branch information
Theezr authored Aug 15, 2024
2 parents 6d574c4 + e719563 commit ad3b80d
Show file tree
Hide file tree
Showing 11 changed files with 25 additions and 22 deletions.
3 changes: 1 addition & 2 deletions src/account/account.module.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { Module } from '@nestjs/common';
import { AccountRepoService } from './account-repo.service';
import { AccountService } from './account.service';
import { PrismaService } from 'src/prisma/prisma.service';

@Module({
providers: [PrismaService, AccountRepoService, AccountService],
providers: [AccountRepoService, AccountService],
exports: [AccountService, AccountRepoService],
})
export class AccountModule {}
2 changes: 2 additions & 0 deletions src/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ import { ScheduleModule } from '@nestjs/schedule';
import { StateModule } from './state/state.module';
import { GeneratorModule } from './generator/generator.module';
import { DbCacheModule } from './db-cache/db-cache.module';
import { PrismaModule } from './prisma/prisma.module';
import { SearchModule } from './search/search.module';

@Module({
imports: [
EventEmitterModule.forRoot(),
ScheduleModule.forRoot(),
ConfigModule.forRoot(),
PrismaModule,
StateModule,
NodeApiModule,
EventModule,
Expand Down
3 changes: 1 addition & 2 deletions src/asset/asset.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ import { Module } from '@nestjs/common';
import { AssetService } from './asset.service';
import { EventModule } from 'src/event/event.module';
import { AssetRepoService } from './asset-repo.service';
import { PrismaService } from 'src/prisma/prisma.service';

@Module({
imports: [EventModule],
providers: [PrismaService, AssetService, AssetRepoService],
providers: [AssetService, AssetRepoService],
})
export class AssetModule {}
3 changes: 1 addition & 2 deletions src/block/block.module.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Module } from '@nestjs/common';
import { BlockService } from './block.service';
import { PrismaService } from 'src/prisma/prisma.service';
import { BlockRepoService } from './block-repo.service';
import { BlockController } from './block.controller';
import { EventModule } from 'src/event/event.module';
Expand All @@ -19,7 +18,7 @@ import { TransactionModule } from 'src/transaction/transaction.module';
ChainEventModule,
DbCacheModule,
],
providers: [PrismaService, BlockService, BlockRepoService],
providers: [BlockService, BlockRepoService],
controllers: [BlockController],
exports: [BlockService, BlockRepoService],
})
Expand Down
3 changes: 1 addition & 2 deletions src/chain-event/chain-event.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@ import { Module } from '@nestjs/common';
import { ChainEventRepoService } from './chain-event-repo.service';
import { ChainEventController } from './chain-event.controller';
import { ChainEventService } from './chain-event.service';
import { PrismaService } from 'src/prisma/prisma.service';
import { NodeApiModule } from 'src/node-api/node-api.module';
import { EventModule } from 'src/event/event.module';
import { AccountModule } from 'src/account/account.module';

@Module({
imports: [NodeApiModule, EventModule, AccountModule],
providers: [PrismaService, ChainEventRepoService, ChainEventService],
providers: [ChainEventRepoService, ChainEventService],
controllers: [ChainEventController],
exports: [ChainEventService],
})
Expand Down
3 changes: 1 addition & 2 deletions src/db-cache/db-cache.module.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { Module } from '@nestjs/common';
import { DbCacheService } from './db-cache.service';
import { PrismaService } from 'src/prisma/prisma.service';

@Module({
providers: [PrismaService, DbCacheService],
providers: [DbCacheService],
exports: [DbCacheService],
})
export class DbCacheModule {}
3 changes: 1 addition & 2 deletions src/indexer/indexer.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@ import { IndexerService } from './indexer.service';
import { NodeApiModule } from 'src/node-api/node-api.module';
import { EventModule } from 'src/event/event.module';
import { IndexerRepoService } from './indexer-repo.service';
import { PrismaService } from 'src/prisma/prisma.service';
import { IndexerGenesisService } from './indexer-genesis.service';
import { AccountModule } from 'src/account/account.module';
import { StateModule } from 'src/state/state.module';

@Module({
imports: [StateModule, NodeApiModule, EventModule, AccountModule],
controllers: [],
providers: [PrismaService, IndexerRepoService, IndexerService, IndexerGenesisService],
providers: [IndexerRepoService, IndexerService, IndexerGenesisService],
exports: [IndexerService],
})
export class IndexerModule {}
9 changes: 9 additions & 0 deletions src/prisma/prisma.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { Global, Module } from '@nestjs/common';
import { PrismaService } from './prisma.service';

@Global()
@Module({
providers: [PrismaService],
exports: [PrismaService], //export this service to use in other modules
})
export class PrismaModule {}
12 changes: 6 additions & 6 deletions src/prisma/prisma.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@ import { PrismaClient } from '@prisma/client';
@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
private readonly logger = new Logger(PrismaService.name);
private static hasBeenInitialized = false;

constructor() {
super({
log: ['info'],
});
}

// for DEV, should be fixed later
async onModuleInit() {
if (PrismaService.hasBeenInitialized) {
return;
}
await this.$connect();

if (process.env.NODE_ENV === 'dev') {
this.logger.warn('DEV mode: clearing DB');
// await this.DEVonlyClearDB();
}

PrismaService.hasBeenInitialized = true;
}

async DEVonlyClearDB() {
Expand Down
3 changes: 1 addition & 2 deletions src/transaction/transaction.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@ import { TransactionRepoService } from './transaction-repo.service';
import { TransactionController } from './transaction.controller';
import { NodeApiModule } from 'src/node-api/node-api.module';
import { TransactionService } from './transaction.service';
import { PrismaService } from 'src/prisma/prisma.service';
import { EventModule } from 'src/event/event.module';
import { StateModule } from 'src/state/state.module';
import { DbCacheModule } from 'src/db-cache/db-cache.module';
import { AccountModule } from 'src/account/account.module';

@Module({
imports: [StateModule, NodeApiModule, EventModule, DbCacheModule, AccountModule],
providers: [PrismaService, TransactionRepoService, TransactionService],
providers: [TransactionRepoService, TransactionService],
exports: [TransactionService, TransactionRepoService],
controllers: [TransactionController],
})
Expand Down
3 changes: 1 addition & 2 deletions src/validator/validator.module.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { Module } from '@nestjs/common';
import { ValidatorRepoService } from './validator.repo-service';
import { ValidatorService } from './validator.service';
import { PrismaService } from 'src/prisma/prisma.service';
import { ValidatorController } from './validator.controller';
import { AccountModule } from 'src/account/account.module';
import { NodeApiModule } from 'src/node-api/node-api.module';
Expand All @@ -11,7 +10,7 @@ import { BlockModule } from 'src/block/block.module';

@Module({
imports: [StateModule, AccountModule, NodeApiModule, DbCacheModule, BlockModule],
providers: [ValidatorRepoService, ValidatorService, PrismaService],
providers: [ValidatorRepoService, ValidatorService],
exports: [ValidatorService, ValidatorRepoService],
controllers: [ValidatorController],
})
Expand Down

0 comments on commit ad3b80d

Please sign in to comment.