Files
Reactive-Resume/apps/server/src/health/database.health.ts
2023-11-05 12:31:42 +01:00

21 lines
586 B
TypeScript

import { Injectable } from "@nestjs/common";
import { HealthIndicator, HealthIndicatorResult } from "@nestjs/terminus";
import { PrismaService } from "nestjs-prisma";
@Injectable()
export class DatabaseHealthIndicator extends HealthIndicator {
constructor(private readonly prisma: PrismaService) {
super();
}
async isHealthy(): Promise<HealthIndicatorResult> {
try {
await this.prisma.$queryRaw`SELECT 1`;
return this.getStatus("database", true);
} catch (error) {
return this.getStatus("database", false, { message: error.message });
}
}
}