53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
|
import { Lbryio } from 'lbryinc';
|
||
|
import * as ACTIONS from 'constants/action_types';
|
||
|
|
||
|
const CHECK_BLACK_LISTED_CONTENT_INTERVAL = 60 * 60 * 1000;
|
||
|
|
||
|
export function doFetchBlackListedOutpoints() {
|
||
|
return dispatch => {
|
||
|
dispatch({
|
||
|
type: ACTIONS.FETCH_BLACK_LISTED_CONTENT_STARTED,
|
||
|
});
|
||
|
|
||
|
const success = ({ outpoints }) => {
|
||
|
const splitOutpoints = [];
|
||
|
if (outpoints) {
|
||
|
outpoints.forEach((outpoint, index) => {
|
||
|
const [txid, nout] = outpoint.split(':');
|
||
|
|
||
|
splitOutpoints[index] = { txid, nout: Number.parseInt(nout, 10) };
|
||
|
});
|
||
|
}
|
||
|
|
||
|
dispatch({
|
||
|
type: ACTIONS.FETCH_BLACK_LISTED_CONTENT_COMPLETED,
|
||
|
data: {
|
||
|
outpoints: splitOutpoints,
|
||
|
success: true,
|
||
|
},
|
||
|
});
|
||
|
};
|
||
|
|
||
|
const failure = ({ message: error }) => {
|
||
|
dispatch({
|
||
|
type: ACTIONS.FETCH_BLACK_LISTED_CONTENT_FAILED,
|
||
|
data: {
|
||
|
error,
|
||
|
success: false,
|
||
|
},
|
||
|
});
|
||
|
};
|
||
|
|
||
|
Lbryio.call('file', 'list_blocked', {
|
||
|
auth_token: '',
|
||
|
}).then(success, failure);
|
||
|
};
|
||
|
}
|
||
|
|
||
|
export function doBlackListedOutpointsSubscribe() {
|
||
|
return dispatch => {
|
||
|
dispatch(doFetchBlackListedOutpoints());
|
||
|
setInterval(() => dispatch(doFetchBlackListedOutpoints()), CHECK_BLACK_LISTED_CONTENT_INTERVAL);
|
||
|
};
|
||
|
}
|