isn/src/isnd/Controllers/Packages/ApiIndex.cs

39 lines
1.1 KiB
C#
Raw Normal View History

2022-04-17 16:22:40 +01:00
using Microsoft.AspNetCore.Mvc;
using isnd.Services;
2023-03-18 12:50:31 +00:00
using isnd.Interfaces;
using System.Linq;
2026-07-05 17:22:57 +01:00
using isnd.Entities;
using Isn.Abstract;
2023-03-18 12:50:31 +00:00
2022-04-17 16:22:40 +01:00
namespace isnd.Controllers
{
2023-01-29 13:04:50 +00:00
/// <summary>
2023-03-18 12:50:31 +00:00
/// Api Controller
2023-01-29 13:04:50 +00:00
/// </summary>
2023-03-18 12:50:31 +00:00
public class ApiController : Controller
2022-04-17 16:22:40 +01:00
{
2023-03-18 12:50:31 +00:00
private readonly IPackageManager packageManager;
private readonly Resource[] resources;
/// <summary>
/// Api Controller Constructor
/// </summary>
/// <param name="pm"></param>
2026-07-05 17:54:36 +01:00
public ApiController(IPackageManager pm)
2023-03-18 12:50:31 +00:00
{
packageManager = pm;
2026-07-05 17:54:36 +01:00
resources = packageManager.GetResources().ToArray();
2023-03-18 12:50:31 +00:00
}
2023-01-29 13:04:50 +00:00
/// <summary>
/// API index
/// </summary>
/// <returns></returns>
2026-07-05 20:17:12 +01:00
[HttpGet("~/" + Constants.APIPrefix + ApiConfig.IndexDotJson)]
2022-04-17 16:22:40 +01:00
public IActionResult ApiIndex()
{
2023-03-14 00:15:42 +00:00
return Ok(new ApiIndexViewModel(packageManager.CatalogBaseUrl + ApiConfig.IndexDotJson){ Version = PackageManager.BASE_API_LEVEL, Resources = resources });
2022-04-17 16:22:40 +01:00
}
}
}