import { Injectable } from '@nestjs/common'; import { HealthCheckError, HealthIndicator, HealthIndicatorResult, } from '@nestjs/terminus'; import { UsersRepository } from 'src/modules/user/adapters/secondaries/users.repository'; @Injectable() export class PrismaHealthIndicatorUseCase extends HealthIndicator { constructor(private readonly _repository: UsersRepository) { super(); } async isHealthy(key: string): Promise { try { await this._repository.healthCheck(); return this.getStatus(key, true); } catch (e) { throw new HealthCheckError('Prisma', { prisma: e.message, }); } } }