553 lines
17 KiB
JavaScript
553 lines
17 KiB
JavaScript
import api from '../api';
|
|
|
|
import { showAlertForError } from './alerts';
|
|
import { importFetchedAccounts } from './importer';
|
|
|
|
export const ANTENNA_FETCH_REQUEST = 'ANTENNA_FETCH_REQUEST';
|
|
export const ANTENNA_FETCH_SUCCESS = 'ANTENNA_FETCH_SUCCESS';
|
|
export const ANTENNA_FETCH_FAIL = 'ANTENNA_FETCH_FAIL';
|
|
|
|
export const ANTENNAS_FETCH_REQUEST = 'ANTENNAS_FETCH_REQUEST';
|
|
export const ANTENNAS_FETCH_SUCCESS = 'ANTENNAS_FETCH_SUCCESS';
|
|
export const ANTENNAS_FETCH_FAIL = 'ANTENNAS_FETCH_FAIL';
|
|
|
|
export const ANTENNA_EDITOR_TITLE_CHANGE = 'ANTENNA_EDITOR_TITLE_CHANGE';
|
|
export const ANTENNA_EDITOR_RESET = 'ANTENNA_EDITOR_RESET';
|
|
export const ANTENNA_EDITOR_SETUP = 'ANTENNA_EDITOR_SETUP';
|
|
|
|
export const ANTENNA_CREATE_REQUEST = 'ANTENNA_CREATE_REQUEST';
|
|
export const ANTENNA_CREATE_SUCCESS = 'ANTENNA_CREATE_SUCCESS';
|
|
export const ANTENNA_CREATE_FAIL = 'ANTENNA_CREATE_FAIL';
|
|
|
|
export const ANTENNA_UPDATE_REQUEST = 'ANTENNA_UPDATE_REQUEST';
|
|
export const ANTENNA_UPDATE_SUCCESS = 'ANTENNA_UPDATE_SUCCESS';
|
|
export const ANTENNA_UPDATE_FAIL = 'ANTENNA_UPDATE_FAIL';
|
|
|
|
export const ANTENNA_DELETE_REQUEST = 'ANTENNA_DELETE_REQUEST';
|
|
export const ANTENNA_DELETE_SUCCESS = 'ANTENNA_DELETE_SUCCESS';
|
|
export const ANTENNA_DELETE_FAIL = 'ANTENNA_DELETE_FAIL';
|
|
|
|
export const ANTENNA_ACCOUNTS_FETCH_REQUEST = 'ANTENNA_ACCOUNTS_FETCH_REQUEST';
|
|
export const ANTENNA_ACCOUNTS_FETCH_SUCCESS = 'ANTENNA_ACCOUNTS_FETCH_SUCCESS';
|
|
export const ANTENNA_ACCOUNTS_FETCH_FAIL = 'ANTENNA_ACCOUNTS_FETCH_FAIL';
|
|
|
|
export const ANTENNA_EDITOR_SUGGESTIONS_CHANGE = 'ANTENNA_EDITOR_SUGGESTIONS_CHANGE';
|
|
export const ANTENNA_EDITOR_SUGGESTIONS_READY = 'ANTENNA_EDITOR_SUGGESTIONS_READY';
|
|
export const ANTENNA_EDITOR_SUGGESTIONS_CLEAR = 'ANTENNA_EDITOR_SUGGESTIONS_CLEAR';
|
|
|
|
export const ANTENNA_EDITOR_ADD_REQUEST = 'ANTENNA_EDITOR_ADD_REQUEST';
|
|
export const ANTENNA_EDITOR_ADD_SUCCESS = 'ANTENNA_EDITOR_ADD_SUCCESS';
|
|
export const ANTENNA_EDITOR_ADD_FAIL = 'ANTENNA_EDITOR_ADD_FAIL';
|
|
|
|
export const ANTENNA_EDITOR_REMOVE_REQUEST = 'ANTENNA_EDITOR_REMOVE_REQUEST';
|
|
export const ANTENNA_EDITOR_REMOVE_SUCCESS = 'ANTENNA_EDITOR_REMOVE_SUCCESS';
|
|
export const ANTENNA_EDITOR_REMOVE_FAIL = 'ANTENNA_EDITOR_REMOVE_FAIL';
|
|
|
|
export const ANTENNA_EDITOR_FETCH_DOMAINS_REQUEST = 'ANTENNA_EDITOR_FETCH_DOMAINS_REQUEST';
|
|
export const ANTENNA_EDITOR_FETCH_DOMAINS_SUCCESS = 'ANTENNA_EDITOR_FETCH_DOMAINS_SUCCESS';
|
|
export const ANTENNA_EDITOR_FETCH_DOMAINS_FAIL = 'ANTENNA_EDITOR_FETCH_DOMAINS_FAIL';
|
|
|
|
export const ANTENNA_EDITOR_ADD_DOMAIN_REQUEST = 'ANTENNA_EDITOR_ADD_DOMAIN_REQUEST';
|
|
export const ANTENNA_EDITOR_ADD_DOMAIN_SUCCESS = 'ANTENNA_EDITOR_ADD_DOMAIN_SUCCESS';
|
|
export const ANTENNA_EDITOR_ADD_DOMAIN_FAIL = 'ANTENNA_EDITOR_ADD_DOMAIN_FAIL';
|
|
|
|
export const ANTENNA_EDITOR_REMOVE_DOMAIN_REQUEST = 'ANTENNA_EDITOR_REMOVE_DOMAIN_REQUEST';
|
|
export const ANTENNA_EDITOR_REMOVE_DOMAIN_SUCCESS = 'ANTENNA_EDITOR_REMOVE_DOMAIN_SUCCESS';
|
|
export const ANTENNA_EDITOR_REMOVE_DOMAIN_FAIL = 'ANTENNA_EDITOR_REMOVE_DOMAIN_FAIL';
|
|
|
|
export const ANTENNA_EDITOR_FETCH_KEYWORDS_REQUEST = 'ANTENNA_EDITOR_FETCH_KEYWORDS_REQUEST';
|
|
export const ANTENNA_EDITOR_FETCH_KEYWORDS_SUCCESS = 'ANTENNA_EDITOR_FETCH_KEYWORDS_SUCCESS';
|
|
export const ANTENNA_EDITOR_FETCH_KEYWORDS_FAIL = 'ANTENNA_EDITOR_FETCH_KEYWORDS_FAIL';
|
|
|
|
export const ANTENNA_EDITOR_ADD_KEYWORD_REQUEST = 'ANTENNA_EDITOR_ADD_KEYWORD_REQUEST';
|
|
export const ANTENNA_EDITOR_ADD_KEYWORD_SUCCESS = 'ANTENNA_EDITOR_ADD_KEYWORD_SUCCESS';
|
|
export const ANTENNA_EDITOR_ADD_KEYWORD_FAIL = 'ANTENNA_EDITOR_ADD_KEYWORD_FAIL';
|
|
|
|
export const ANTENNA_EDITOR_REMOVE_KEYWORD_REQUEST = 'ANTENNA_EDITOR_REMOVE_KEYWORD_REQUEST';
|
|
export const ANTENNA_EDITOR_REMOVE_KEYWORD_SUCCESS = 'ANTENNA_EDITOR_REMOVE_KEYWORD_SUCCESS';
|
|
export const ANTENNA_EDITOR_REMOVE_KEYWORD_FAIL = 'ANTENNA_EDITOR_REMOVE_KEYWORD_FAIL';
|
|
|
|
export const ANTENNA_ADDER_RESET = 'ANTENNA_ADDER_RESET';
|
|
export const ANTENNA_ADDER_SETUP = 'ANTENNA_ADDER_SETUP';
|
|
|
|
export const ANTENNA_ADDER_ANTENNAS_FETCH_REQUEST = 'ANTENNA_ADDER_ANTENNAS_FETCH_REQUEST';
|
|
export const ANTENNA_ADDER_ANTENNAS_FETCH_SUCCESS = 'ANTENNA_ADDER_ANTENNAS_FETCH_SUCCESS';
|
|
export const ANTENNA_ADDER_ANTENNAS_FETCH_FAIL = 'ANTENNA_ADDER_ANTENNAS_FETCH_FAIL';
|
|
|
|
export const fetchAntenna = id => (dispatch, getState) => {
|
|
if (getState().getIn(['antennas', id])) {
|
|
return;
|
|
}
|
|
|
|
dispatch(fetchAntennaRequest(id));
|
|
|
|
api(getState).get(`/api/v1/antennas/${id}`)
|
|
.then(({ data }) => dispatch(fetchAntennaSuccess(data)))
|
|
.catch(err => dispatch(fetchAntennaFail(id, err)));
|
|
};
|
|
|
|
export const fetchAntennaRequest = id => ({
|
|
type: ANTENNA_FETCH_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const fetchAntennaSuccess = antenna => ({
|
|
type: ANTENNA_FETCH_SUCCESS,
|
|
antenna,
|
|
});
|
|
|
|
export const fetchAntennaFail = (id, error) => ({
|
|
type: ANTENNA_FETCH_FAIL,
|
|
id,
|
|
error,
|
|
});
|
|
|
|
export const fetchAntennas = () => (dispatch, getState) => {
|
|
dispatch(fetchAntennasRequest());
|
|
|
|
api(getState).get('/api/v1/antennas')
|
|
.then(({ data }) => dispatch(fetchAntennasSuccess(data)))
|
|
.catch(err => dispatch(fetchAntennasFail(err)));
|
|
};
|
|
|
|
export const fetchAntennasRequest = () => ({
|
|
type: ANTENNAS_FETCH_REQUEST,
|
|
});
|
|
|
|
export const fetchAntennasSuccess = antennas => ({
|
|
type: ANTENNAS_FETCH_SUCCESS,
|
|
antennas,
|
|
});
|
|
|
|
export const fetchAntennasFail = error => ({
|
|
type: ANTENNAS_FETCH_FAIL,
|
|
error,
|
|
});
|
|
|
|
export const submitAntennaEditor = shouldReset => (dispatch, getState) => {
|
|
const antennaId = getState().getIn(['antennaEditor', 'antennaId']);
|
|
const title = getState().getIn(['antennaEditor', 'title']);
|
|
|
|
if (antennaId === null) {
|
|
dispatch(createAntenna(title, shouldReset));
|
|
} else {
|
|
dispatch(updateAntenna(antennaId, title, shouldReset));
|
|
}
|
|
};
|
|
|
|
export const setupAntennaEditor = antennaId => (dispatch, getState) => {
|
|
dispatch({
|
|
type: ANTENNA_EDITOR_SETUP,
|
|
antenna: getState().getIn(['antennas', antennaId]),
|
|
});
|
|
|
|
dispatch(fetchAntennaAccounts(antennaId));
|
|
};
|
|
|
|
export const changeAntennaEditorTitle = value => ({
|
|
type: ANTENNA_EDITOR_TITLE_CHANGE,
|
|
value,
|
|
});
|
|
|
|
export const createAntenna = (title, shouldReset) => (dispatch, getState) => {
|
|
dispatch(createAntennaRequest());
|
|
|
|
api(getState).post('/api/v1/antennas', { title }).then(({ data }) => {
|
|
dispatch(createAntennaSuccess(data));
|
|
|
|
if (shouldReset) {
|
|
dispatch(resetAntennaEditor());
|
|
}
|
|
}).catch(err => dispatch(createAntennaFail(err)));
|
|
};
|
|
|
|
export const createAntennaRequest = () => ({
|
|
type: ANTENNA_CREATE_REQUEST,
|
|
});
|
|
|
|
export const createAntennaSuccess = antenna => ({
|
|
type: ANTENNA_CREATE_SUCCESS,
|
|
antenna,
|
|
});
|
|
|
|
export const createAntennaFail = error => ({
|
|
type: ANTENNA_CREATE_FAIL,
|
|
error,
|
|
});
|
|
|
|
export const updateAntenna = (id, title, shouldReset, list_id, stl, with_media_only, ignore_reblog, insert_feeds) => (dispatch, getState) => {
|
|
dispatch(updateAntennaRequest(id));
|
|
|
|
api(getState).put(`/api/v1/antennas/${id}`, { title, list_id, stl, with_media_only, ignore_reblog, insert_feeds }).then(({ data }) => {
|
|
dispatch(updateAntennaSuccess(data));
|
|
|
|
if (shouldReset) {
|
|
dispatch(resetAntennaEditor());
|
|
}
|
|
}).catch(err => dispatch(updateAntennaFail(id, err)));
|
|
};
|
|
|
|
export const updateAntennaRequest = id => ({
|
|
type: ANTENNA_UPDATE_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const updateAntennaSuccess = antenna => ({
|
|
type: ANTENNA_UPDATE_SUCCESS,
|
|
antenna,
|
|
});
|
|
|
|
export const updateAntennaFail = (id, error) => ({
|
|
type: ANTENNA_UPDATE_FAIL,
|
|
id,
|
|
error,
|
|
});
|
|
|
|
export const resetAntennaEditor = () => ({
|
|
type: ANTENNA_EDITOR_RESET,
|
|
});
|
|
|
|
export const deleteAntenna = id => (dispatch, getState) => {
|
|
dispatch(deleteAntennaRequest(id));
|
|
|
|
api(getState).delete(`/api/v1/antennas/${id}`)
|
|
.then(() => dispatch(deleteAntennaSuccess(id)))
|
|
.catch(err => dispatch(deleteAntennaFail(id, err)));
|
|
};
|
|
|
|
export const deleteAntennaRequest = id => ({
|
|
type: ANTENNA_DELETE_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const deleteAntennaSuccess = id => ({
|
|
type: ANTENNA_DELETE_SUCCESS,
|
|
id,
|
|
});
|
|
|
|
export const deleteAntennaFail = (id, error) => ({
|
|
type: ANTENNA_DELETE_FAIL,
|
|
id,
|
|
error,
|
|
});
|
|
|
|
export const fetchAntennaAccounts = antennaId => (dispatch, getState) => {
|
|
dispatch(fetchAntennaAccountsRequest(antennaId));
|
|
|
|
api(getState).get(`/api/v1/antennas/${antennaId}/accounts`, { params: { limit: 0 } }).then(({ data }) => {
|
|
dispatch(importFetchedAccounts(data));
|
|
dispatch(fetchAntennaAccountsSuccess(antennaId, data));
|
|
}).catch(err => dispatch(fetchAntennaAccountsFail(antennaId, err)));
|
|
};
|
|
|
|
export const fetchAntennaAccountsRequest = id => ({
|
|
type: ANTENNA_ACCOUNTS_FETCH_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const fetchAntennaAccountsSuccess = (id, accounts, next) => ({
|
|
type: ANTENNA_ACCOUNTS_FETCH_SUCCESS,
|
|
id,
|
|
accounts,
|
|
next,
|
|
});
|
|
|
|
export const fetchAntennaAccountsFail = (id, error) => ({
|
|
type: ANTENNA_ACCOUNTS_FETCH_FAIL,
|
|
id,
|
|
error,
|
|
});
|
|
|
|
export const fetchAntennaSuggestions = q => (dispatch, getState) => {
|
|
const params = {
|
|
q,
|
|
resolve: false,
|
|
};
|
|
|
|
api(getState).get('/api/v1/accounts/search', { params }).then(({ data }) => {
|
|
dispatch(importFetchedAccounts(data));
|
|
dispatch(fetchAntennaSuggestionsReady(q, data));
|
|
}).catch(error => dispatch(showAlertForError(error)));
|
|
};
|
|
|
|
export const fetchAntennaSuggestionsReady = (query, accounts) => ({
|
|
type: ANTENNA_EDITOR_SUGGESTIONS_READY,
|
|
query,
|
|
accounts,
|
|
});
|
|
|
|
export const clearAntennaSuggestions = () => ({
|
|
type: ANTENNA_EDITOR_SUGGESTIONS_CLEAR,
|
|
});
|
|
|
|
export const changeAntennaSuggestions = value => ({
|
|
type: ANTENNA_EDITOR_SUGGESTIONS_CHANGE,
|
|
value,
|
|
});
|
|
|
|
export const addToAntennaEditor = accountId => (dispatch, getState) => {
|
|
dispatch(addToAntenna(getState().getIn(['antennaEditor', 'antennaId']), accountId));
|
|
};
|
|
|
|
export const addToAntenna = (antennaId, accountId) => (dispatch, getState) => {
|
|
dispatch(addToAntennaRequest(antennaId, accountId));
|
|
|
|
api(getState).post(`/api/v1/antennas/${antennaId}/accounts`, { account_ids: [accountId] })
|
|
.then(() => dispatch(addToAntennaSuccess(antennaId, accountId)))
|
|
.catch(err => dispatch(addToAntennaFail(antennaId, accountId, err)));
|
|
};
|
|
|
|
export const addToAntennaRequest = (antennaId, accountId) => ({
|
|
type: ANTENNA_EDITOR_ADD_REQUEST,
|
|
antennaId,
|
|
accountId,
|
|
});
|
|
|
|
export const addToAntennaSuccess = (antennaId, accountId) => ({
|
|
type: ANTENNA_EDITOR_ADD_SUCCESS,
|
|
antennaId,
|
|
accountId,
|
|
});
|
|
|
|
export const addToAntennaFail = (antennaId, accountId, error) => ({
|
|
type: ANTENNA_EDITOR_ADD_FAIL,
|
|
antennaId,
|
|
accountId,
|
|
error,
|
|
});
|
|
|
|
export const fetchAntennaDomains = antennaId => (dispatch, getState) => {
|
|
dispatch(fetchAntennaDomainsRequest(antennaId));
|
|
|
|
api(getState).get(`/api/v1/antennas/${antennaId}/domains`, { params: { limit: 0 } }).then(({ data }) => {
|
|
dispatch(fetchAntennaDomainsSuccess(antennaId, data));
|
|
}).catch(err => dispatch(fetchAntennaDomainsFail(antennaId, err)));
|
|
};
|
|
|
|
export const fetchAntennaDomainsRequest = id => ({
|
|
type: ANTENNA_EDITOR_FETCH_DOMAINS_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const fetchAntennaDomainsSuccess = (id, domains) => ({
|
|
type: ANTENNA_EDITOR_FETCH_DOMAINS_SUCCESS,
|
|
id,
|
|
domains,
|
|
});
|
|
|
|
export const fetchAntennaDomainsFail = (id, error) => ({
|
|
type: ANTENNA_EDITOR_FETCH_DOMAINS_FAIL,
|
|
id,
|
|
error,
|
|
});
|
|
|
|
export const addDomainToAntenna = (antennaId, domain) => (dispatch, getState) => {
|
|
dispatch(addDomainToAntennaRequest(antennaId, domain));
|
|
|
|
api(getState).post(`/api/v1/antennas/${antennaId}/domains`, { domains: [domain] })
|
|
.then(() => dispatch(addDomainToAntennaSuccess(antennaId, domain)))
|
|
.catch(err => dispatch(addDomainToAntennaFail(antennaId, domain, err)));
|
|
};
|
|
|
|
export const addDomainToAntennaRequest = (antennaId, domain) => ({
|
|
type: ANTENNA_EDITOR_ADD_DOMAIN_REQUEST,
|
|
antennaId,
|
|
domain,
|
|
});
|
|
|
|
export const addDomainToAntennaSuccess = (antennaId, domain) => ({
|
|
type: ANTENNA_EDITOR_ADD_DOMAIN_SUCCESS,
|
|
antennaId,
|
|
domain,
|
|
});
|
|
|
|
export const addDomainToAntennaFail = (antennaId, domain, error) => ({
|
|
type: ANTENNA_EDITOR_ADD_DOMAIN_FAIL,
|
|
antennaId,
|
|
domain,
|
|
error,
|
|
});
|
|
|
|
export const fetchAntennaKeywords = antennaId => (dispatch, getState) => {
|
|
dispatch(fetchAntennaKeywordsRequest(antennaId));
|
|
|
|
api(getState).get(`/api/v1/antennas/${antennaId}/keywords`, { params: { limit: 0 } }).then(({ data }) => {
|
|
dispatch(fetchAntennaKeywordsSuccess(antennaId, data));
|
|
}).catch(err => dispatch(fetchAntennaKeywordsFail(antennaId, err)));
|
|
};
|
|
|
|
export const fetchAntennaKeywordsRequest = id => ({
|
|
type: ANTENNA_EDITOR_FETCH_KEYWORDS_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const fetchAntennaKeywordsSuccess = (id, keywords) => ({
|
|
type: ANTENNA_EDITOR_FETCH_KEYWORDS_SUCCESS,
|
|
id,
|
|
keywords,
|
|
});
|
|
|
|
export const fetchAntennaKeywordsFail = (id, error) => ({
|
|
type: ANTENNA_EDITOR_FETCH_KEYWORDS_FAIL,
|
|
id,
|
|
error,
|
|
});
|
|
|
|
export const addKeywordToAntenna = (antennaId, keyword) => (dispatch, getState) => {
|
|
dispatch(addKeywordToAntennaRequest(antennaId, keyword));
|
|
|
|
api(getState).post(`/api/v1/antennas/${antennaId}/keywords`, { keywords: [keyword] })
|
|
.then(() => dispatch(addKeywordToAntennaSuccess(antennaId, keyword)))
|
|
.catch(err => dispatch(addKeywordToAntennaFail(antennaId, keyword, err)));
|
|
};
|
|
|
|
export const addKeywordToAntennaRequest = (antennaId, keyword) => ({
|
|
type: ANTENNA_EDITOR_ADD_KEYWORD_REQUEST,
|
|
antennaId,
|
|
keyword,
|
|
});
|
|
|
|
export const addKeywordToAntennaSuccess = (antennaId, keyword) => ({
|
|
type: ANTENNA_EDITOR_ADD_KEYWORD_SUCCESS,
|
|
antennaId,
|
|
keyword,
|
|
});
|
|
|
|
export const addKeywordToAntennaFail = (antennaId, keyword, error) => ({
|
|
type: ANTENNA_EDITOR_ADD_KEYWORD_FAIL,
|
|
antennaId,
|
|
keyword,
|
|
error,
|
|
});
|
|
|
|
export const removeFromAntennaEditor = accountId => (dispatch, getState) => {
|
|
dispatch(removeFromAntenna(getState().getIn(['antennaEditor', 'antennaId']), accountId));
|
|
};
|
|
|
|
export const removeFromAntenna = (antennaId, accountId) => (dispatch, getState) => {
|
|
dispatch(removeFromAntennaRequest(antennaId, accountId));
|
|
|
|
api(getState).delete(`/api/v1/antennas/${antennaId}/accounts`, { params: { account_ids: [accountId] } })
|
|
.then(() => dispatch(removeFromAntennaSuccess(antennaId, accountId)))
|
|
.catch(err => dispatch(removeFromAntennaFail(antennaId, accountId, err)));
|
|
};
|
|
|
|
export const removeFromAntennaRequest = (antennaId, accountId) => ({
|
|
type: ANTENNA_EDITOR_REMOVE_REQUEST,
|
|
antennaId,
|
|
accountId,
|
|
});
|
|
|
|
export const removeFromAntennaSuccess = (antennaId, accountId) => ({
|
|
type: ANTENNA_EDITOR_REMOVE_SUCCESS,
|
|
antennaId,
|
|
accountId,
|
|
});
|
|
|
|
export const removeFromAntennaFail = (antennaId, accountId, error) => ({
|
|
type: ANTENNA_EDITOR_REMOVE_FAIL,
|
|
antennaId,
|
|
accountId,
|
|
error,
|
|
});
|
|
|
|
export const removeDomainFromAntenna = (antennaId, domain) => (dispatch, getState) => {
|
|
dispatch(removeDomainFromAntennaRequest(antennaId, domain));
|
|
|
|
api(getState).delete(`/api/v1/antennas/${antennaId}/domains`, { params: { domains: [domain] } })
|
|
.then(() => dispatch(removeDomainFromAntennaSuccess(antennaId, domain)))
|
|
.catch(err => dispatch(removeDomainFromAntennaFail(antennaId, domain, err)));
|
|
};
|
|
|
|
export const removeDomainFromAntennaRequest = (antennaId, domain) => ({
|
|
type: ANTENNA_EDITOR_REMOVE_DOMAIN_REQUEST,
|
|
antennaId,
|
|
domain,
|
|
});
|
|
|
|
export const removeDomainFromAntennaSuccess = (antennaId, domain) => ({
|
|
type: ANTENNA_EDITOR_REMOVE_DOMAIN_SUCCESS,
|
|
antennaId,
|
|
domain,
|
|
});
|
|
|
|
export const removeDomainFromAntennaFail = (antennaId, domain, error) => ({
|
|
type: ANTENNA_EDITOR_REMOVE_DOMAIN_FAIL,
|
|
antennaId,
|
|
domain,
|
|
error,
|
|
});
|
|
|
|
export const removeKeywordFromAntenna = (antennaId, keyword) => (dispatch, getState) => {
|
|
dispatch(removeKeywordFromAntennaRequest(antennaId, keyword));
|
|
|
|
api(getState).delete(`/api/v1/antennas/${antennaId}/keywords`, { params: { keywords: [keyword] } })
|
|
.then(() => dispatch(removeKeywordFromAntennaSuccess(antennaId, keyword)))
|
|
.catch(err => dispatch(removeKeywordFromAntennaFail(antennaId, keyword, err)));
|
|
};
|
|
|
|
export const removeKeywordFromAntennaRequest = (antennaId, keyword) => ({
|
|
type: ANTENNA_EDITOR_REMOVE_KEYWORD_REQUEST,
|
|
antennaId,
|
|
keyword,
|
|
});
|
|
|
|
export const removeKeywordFromAntennaSuccess = (antennaId, keyword) => ({
|
|
type: ANTENNA_EDITOR_REMOVE_KEYWORD_SUCCESS,
|
|
antennaId,
|
|
keyword,
|
|
});
|
|
|
|
export const removeKeywordFromAntennaFail = (antennaId, keyword, error) => ({
|
|
type: ANTENNA_EDITOR_REMOVE_KEYWORD_FAIL,
|
|
antennaId,
|
|
keyword,
|
|
error,
|
|
});
|
|
|
|
export const resetAntennaAdder = () => ({
|
|
type: ANTENNA_ADDER_RESET,
|
|
});
|
|
|
|
export const setupAntennaAdder = accountId => (dispatch, getState) => {
|
|
dispatch({
|
|
type: ANTENNA_ADDER_SETUP,
|
|
account: getState().getIn(['accounts', accountId]),
|
|
});
|
|
dispatch(fetchAntennas());
|
|
dispatch(fetchAccountAntennas(accountId));
|
|
};
|
|
|
|
export const fetchAccountAntennas = accountId => (dispatch, getState) => {
|
|
dispatch(fetchAccountAntennasRequest(accountId));
|
|
|
|
api(getState).get(`/api/v1/accounts/${accountId}/antennas`)
|
|
.then(({ data }) => dispatch(fetchAccountAntennasSuccess(accountId, data)))
|
|
.catch(err => dispatch(fetchAccountAntennasFail(accountId, err)));
|
|
};
|
|
|
|
export const fetchAccountAntennasRequest = id => ({
|
|
type:ANTENNA_ADDER_ANTENNAS_FETCH_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const fetchAccountAntennasSuccess = (id, antennas) => ({
|
|
type: ANTENNA_ADDER_ANTENNAS_FETCH_SUCCESS,
|
|
id,
|
|
antennas,
|
|
});
|
|
|
|
export const fetchAccountAntennasFail = (id, err) => ({
|
|
type: ANTENNA_ADDER_ANTENNAS_FETCH_FAIL,
|
|
id,
|
|
err,
|
|
});
|
|
|
|
export const addToAntennaAdder = antennaId => (dispatch, getState) => {
|
|
dispatch(addToAntenna(antennaId, getState().getIn(['antennaAdder', 'accountId'])));
|
|
};
|
|
|
|
export const removeFromAntennaAdder = antennaId => (dispatch, getState) => {
|
|
dispatch(removeFromAntenna(antennaId, getState().getIn(['antennaAdder', 'accountId'])));
|
|
};
|
|
|