From deff2264a6a410b9faf312811402dd652c31df99 Mon Sep 17 00:00:00 2001 From: Chris Chen Date: Mon, 22 Jun 2026 17:57:20 -0700 Subject: [PATCH] Create HealthController.cs --- API/ROLAC.API/Controllers/HealthController.cs | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 API/ROLAC.API/Controllers/HealthController.cs diff --git a/API/ROLAC.API/Controllers/HealthController.cs b/API/ROLAC.API/Controllers/HealthController.cs new file mode 100644 index 0000000..09c3dc2 --- /dev/null +++ b/API/ROLAC.API/Controllers/HealthController.cs @@ -0,0 +1,29 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using ROLAC.API.Data; + +namespace ROLAC.API.Controllers; + +[ApiController] +[Route("api/health")] +[AllowAnonymous] +public class HealthController : ControllerBase +{ + private readonly AppDbContext _db; + public HealthController(AppDbContext db) => _db = db; + + [HttpGet] + public async Task Get(CancellationToken cancellationToken) + { + var canConnectToDatabase = await _db.Database.CanConnectAsync(cancellationToken); + + var payload = new + { + status = canConnectToDatabase ? "healthy" : "degraded", + database = canConnectToDatabase ? "up" : "down", + time = DateTimeOffset.UtcNow + }; + + return canConnectToDatabase ? Ok(payload) : StatusCode(503, payload); + } +}