You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lidarr/frontend/src/Store/Actions/customFilterActions.js

56 lines
1.4 KiB

import { createThunk, handleThunks } from 'Store/thunks';
import createFetchHandler from './Creators/createFetchHandler';
import createRemoveItemHandler from './Creators/createRemoveItemHandler';
import createSaveProviderHandler from './Creators/createSaveProviderHandler';
import createHandleActions from './Creators/createHandleActions';
//
// Variables
export const section = 'customFilters';
//
// State
export const defaultState = {
isFetching: false,
isPopulated: false,
error: null,
isSaving: false,
saveError: null,
isDeleting: false,
deleteError: null,
items: [],
pendingChanges: {}
};
//
// Actions Types
export const FETCH_CUSTOM_FILTERS = 'customFilters/fetchCustomFilters';
export const SAVE_CUSTOM_FILTER = 'customFilters/saveCustomFilter';
export const DELETE_CUSTOM_FILTER = 'customFilters/deleteCustomFilter';
//
// Action Creators
export const fetchCustomFilters = createThunk(FETCH_CUSTOM_FILTERS);
export const saveCustomFilter = createThunk(SAVE_CUSTOM_FILTER);
export const deleteCustomFilter = createThunk(DELETE_CUSTOM_FILTER);
//
// Action Handlers
export const actionHandlers = handleThunks({
[FETCH_CUSTOM_FILTERS]: createFetchHandler(section, '/customFilter'),
[SAVE_CUSTOM_FILTER]: createSaveProviderHandler(section, '/customFilter'),
[DELETE_CUSTOM_FILTER]: createRemoveItemHandler(section, '/customFilter')
});
//
// Reducers
export const reducers = createHandleActions({}, defaultState, section);