'use strict'; import requests from '../utils/requests'; import { mergeOptions } from '../utils/general_utils'; import { generateOrderingQueryParams } from '../utils/url_utils'; let PieceListFetcher = { /** * Fetches a list of pieces from the API. * Can be called with all supplied queryparams the API. */ fetch(page, pageSize, search, orderBy, orderAsc, filterBy) { let ordering = generateOrderingQueryParams(orderBy, orderAsc); // filterBy is an object of acl key-value pairs. // The values are booleans let queryParams = mergeOptions( { page, pageSize, search, ordering }, filterBy ); return requests.get('pieces_list', queryParams); }, fetchRequestActions() { return requests.get('pieces_list_request_actions'); }, fetchFirstEditionForPiece(pieceId) { return requests.get('piece_first_edition_id', {'piece_id': pieceId}); } }; export default PieceListFetcher;