public async Task <IActionResult> GetAll( [FromQuery] GetAllProductsQuery query, [FromQuery] PaginationQuery paginationQuery, [FromQuery] SortQuery sortQuery) { var sortingFilter = sortingService.GetProductSortingFilters(sortQuery); var filter = mapper.Map <GetAllProductsFilter>(query); var paginationFilter = mapper.Map <PaginationFilter>(paginationQuery); var productQuery = new GetProductsQuery { Filter = filter, Pagination = paginationFilter, Sorting = sortingFilter }; var result = await mediator.Send(productQuery).ConfigureAwait(false); return(Ok(paginationService.CreateProductPaginatedResponse(paginationFilter, filter, sortingFilter, result))); }