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

43 lines
1.2 KiB
C#
Raw Normal View History

2022-04-17 16:22:40 +01:00
using Microsoft.AspNetCore.Mvc;
using isnd.Entities;
using isnd.Services;
using isn.Abstract;
2022-09-23 20:34:51 +01:00
using isn.abst;
2023-03-18 12:50:31 +00:00
using isnd.Interfaces;
using Unleash;
using System.Linq;
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>
/// <param name="unleashĈlient"></param>
public ApiController(IPackageManager pm, IUnleash unleashĈlient)
{
packageManager = pm;
resources = packageManager.GetResources(unleashĈlient).ToArray();
}
2023-01-29 13:04:50 +00:00
/// <summary>
/// API index
/// </summary>
/// <returns></returns>
2023-03-18 12:50:31 +00:00
[HttpGet(Constants.PackageRootServerPrefix + 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
}
}
}