2019-11-22 19:12:02 +08:00
|
|
|
import axios from 'axios';
|
|
|
|
|
|
|
|
|
|
const API_PREFIX = '/api/v2/';
|
|
|
|
|
|
|
|
|
|
function fetchPins(offset, tagFilter, userFilter) {
|
|
|
|
|
const url = `${API_PREFIX}pins/`;
|
|
|
|
|
const queryArgs = {
|
|
|
|
|
format: 'json',
|
|
|
|
|
ordering: '-id',
|
2019-11-29 12:26:50 +08:00
|
|
|
limit: 30,
|
2019-11-22 19:12:02 +08:00
|
|
|
offset,
|
|
|
|
|
};
|
|
|
|
|
if (tagFilter) queryArgs.tags__name = tagFilter;
|
|
|
|
|
if (userFilter) queryArgs.submitter__username = userFilter;
|
|
|
|
|
return axios.get(
|
|
|
|
|
url,
|
|
|
|
|
{ params: queryArgs },
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-28 23:12:19 +08:00
|
|
|
function fetchPinsForBoard(boardId) {
|
|
|
|
|
const url = `${API_PREFIX}boards/${boardId}`;
|
|
|
|
|
return new Promise(
|
|
|
|
|
(resolve, reject) => {
|
|
|
|
|
axios.get(url).then(
|
|
|
|
|
(resp) => {
|
2019-11-29 00:16:28 +08:00
|
|
|
resolve({ data: { results: resp.data.pins_detail, next: null } });
|
2019-11-28 23:12:19 +08:00
|
|
|
},
|
|
|
|
|
error => reject(error),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-22 19:12:02 +08:00
|
|
|
export default {
|
|
|
|
|
fetchPins,
|
2019-11-28 23:12:19 +08:00
|
|
|
fetchPinsForBoard,
|
2019-11-22 19:12:02 +08:00
|
|
|
};
|