BaseJellyfinApiController.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System.Collections.Generic;
  2. using System.Net.Mime;
  3. using Jellyfin.Api.Results;
  4. using Jellyfin.Extensions.Json;
  5. using Microsoft.AspNetCore.Mvc;
  6. namespace Jellyfin.Api;
  7. /// <summary>
  8. /// Base api controller for the API setting a default route.
  9. /// </summary>
  10. [ApiController]
  11. [Route("[controller]")]
  12. [Produces(
  13. MediaTypeNames.Application.Json,
  14. JsonDefaults.CamelCaseMediaType,
  15. JsonDefaults.PascalCaseMediaType)]
  16. public class BaseJellyfinApiController : ControllerBase
  17. {
  18. /// <summary>
  19. /// Create a new <see cref="OkResult{T}"/>.
  20. /// </summary>
  21. /// <param name="value">The value to return.</param>
  22. /// <typeparam name="T">The type to return.</typeparam>
  23. /// <returns>The <see cref="ActionResult{T}"/>.</returns>
  24. protected ActionResult<IEnumerable<T>> Ok<T>(IEnumerable<T>? value)
  25. => new OkResult<IEnumerable<T>?>(value);
  26. /// <summary>
  27. /// Create a new <see cref="OkResult{T}"/>.
  28. /// </summary>
  29. /// <param name="value">The value to return.</param>
  30. /// <typeparam name="T">The type to return.</typeparam>
  31. /// <returns>The <see cref="ActionResult{T}"/>.</returns>
  32. protected ActionResult<T> Ok<T>(T value)
  33. => new OkResult<T>(value);
  34. }