rwadurian/backend/services/auth-service/src/api/controllers/health.controller.ts

27 lines
749 B
TypeScript

import { Controller, Get } from '@nestjs/common';
import { PrismaService } from '@/infrastructure/persistence/prisma/prisma.service';
@Controller('health')
export class HealthController {
constructor(private readonly prisma: PrismaService) {}
@Get()
async check(): Promise<{ status: string; service: string; timestamp: string }> {
return {
status: 'ok',
service: 'auth-service',
timestamp: new Date().toISOString(),
};
}
@Get('ready')
async ready(): Promise<{ status: string; database: string }> {
try {
await this.prisma.$queryRaw`SELECT 1`;
return { status: 'ready', database: 'connected' };
} catch (error) {
return { status: 'not ready', database: 'disconnected' };
}
}
}