27 lines
749 B
TypeScript
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' };
|
|
}
|
|
}
|
|
}
|