using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using PARR.API.Contracts.V1; using PARR.API.Contracts.V1.Responses; using PARR.API.Contracts.V1.Responses.Base; using PARR.API.Controllers.V1.Base; using System.Reflection; namespace PARR.API.Controllers.V1 { public class ApiStatusController : BaseApiController { /// /// Получить версию и окружение /// /// [AllowAnonymous] [HttpGet(ApiRoutes.ApiStatus.Version)] public IActionResult GetVersion() { var version = Assembly.GetEntryAssembly()?.GetCustomAttribute()?.InformationalVersion; var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); var response = new ApiVersionResponse { Environment = environment, Version = version }; return Ok(new Response(response, true)); } /// /// Проверка доступности системы /// /// [AllowAnonymous] [HttpGet(ApiRoutes.ApiStatus.Health)] public IActionResult GetHealth() { //Так же можно реализовать проверку связи с БД //Проверка доступности хранилищ var response = new ApiHealthResponse { }; return Ok(new Response(response, true)); } } }