DtoExtensions.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Collections.Generic;
  2. using MediaBrowser.Controller.Dto;
  3. using MediaBrowser.Model.Entities;
  4. namespace Jellyfin.Api.Extensions;
  5. /// <summary>
  6. /// Dto Extensions.
  7. /// </summary>
  8. public static class DtoExtensions
  9. {
  10. /// <summary>
  11. /// Add additional DtoOptions.
  12. /// </summary>
  13. /// <remarks>
  14. /// Converted from IHasDtoOptions.
  15. /// Legacy order: 3.
  16. /// </remarks>
  17. /// <param name="dtoOptions">DtoOptions object.</param>
  18. /// <param name="enableImages">Enable images.</param>
  19. /// <param name="enableUserData">Enable user data.</param>
  20. /// <param name="imageTypeLimit">Image type limit.</param>
  21. /// <param name="enableImageTypes">Enable image types.</param>
  22. /// <returns>Modified DtoOptions object.</returns>
  23. internal static DtoOptions AddAdditionalDtoOptions(
  24. this DtoOptions dtoOptions,
  25. bool? enableImages,
  26. bool? enableUserData,
  27. int? imageTypeLimit,
  28. IReadOnlyList<ImageType> enableImageTypes)
  29. {
  30. dtoOptions.EnableImages = enableImages ?? true;
  31. if (imageTypeLimit.HasValue)
  32. {
  33. dtoOptions.ImageTypeLimit = imageTypeLimit.Value;
  34. }
  35. if (enableUserData.HasValue)
  36. {
  37. dtoOptions.EnableUserData = enableUserData.Value;
  38. }
  39. if (enableImageTypes.Count != 0)
  40. {
  41. dtoOptions.ImageTypes = enableImageTypes;
  42. }
  43. return dtoOptions;
  44. }
  45. }