FileOrganizationService.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using MediaBrowser.Controller.FileOrganization;
  2. using MediaBrowser.Model.FileOrganization;
  3. using MediaBrowser.Model.Querying;
  4. using ServiceStack;
  5. namespace MediaBrowser.Api.Library
  6. {
  7. [Route("/Library/FileOrganization/Results", "GET")]
  8. [Api(Description = "Gets file organization results")]
  9. public class GetFileOrganizationActivity : IReturn<QueryResult<FileOrganizationResult>>
  10. {
  11. /// <summary>
  12. /// Skips over a given number of items within the results. Use for paging.
  13. /// </summary>
  14. /// <value>The start index.</value>
  15. [ApiMember(Name = "StartIndex", Description = "Optional. The record index to start at. All items with a lower index will be dropped from the results.", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
  16. public int? StartIndex { get; set; }
  17. /// <summary>
  18. /// The maximum number of items to return
  19. /// </summary>
  20. /// <value>The limit.</value>
  21. [ApiMember(Name = "Limit", Description = "Optional. The maximum number of records to return", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
  22. public int? Limit { get; set; }
  23. }
  24. public class FileOrganizationService : BaseApiService
  25. {
  26. private readonly IFileOrganizationService _iFileOrganizationService;
  27. public FileOrganizationService(IFileOrganizationService iFileOrganizationService)
  28. {
  29. _iFileOrganizationService = iFileOrganizationService;
  30. }
  31. public object Get(GetFileOrganizationActivity request)
  32. {
  33. var result = _iFileOrganizationService.GetResults(new FileOrganizationResultQuery
  34. {
  35. Limit = request.Limit,
  36. StartIndex = request.Limit
  37. });
  38. return ToOptimizedResult(result);
  39. }
  40. }
  41. }