Skip to content

Commit

Permalink
Remove Boards from the blacklist on update API objects
Browse files Browse the repository at this point in the history
  • Loading branch information
tomivm committed Jun 26, 2024
1 parent 54aa14d commit b18c8a2
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 3 deletions.
10 changes: 9 additions & 1 deletion src/components/Board/Board.actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ import {
DOWNLOAD_IMAGES_STARTED,
DOWNLOAD_IMAGE_SUCCESS,
DOWNLOAD_IMAGE_FAILURE,
CLEAN_ALL_BOARDS
CLEAN_ALL_BOARDS,
REMOVE_BOARDS_FROM_LIST
} from './Board.constants';

import API from '../../api';
Expand Down Expand Up @@ -885,3 +886,10 @@ export function addNecessaryDefaultBoardsFor(boardIdToAdd) {
}
};
}

export function removeBoardsFromList(blacklist = []) {
return {
type: REMOVE_BOARDS_FROM_LIST,
blacklist
};
}
1 change: 1 addition & 0 deletions src/components/Board/Board.constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ export const ADD_BOARDS = 'cboard/Board/ADD_BOARDS';
export const CREATE_BOARD = 'cboard/Board/CREATE_BOARD';
export const UPDATE_BOARD = 'cboard/Board/UPDATE_BOARD';
export const DELETE_BOARD = 'cboard/Board/DELETE_BOARD';
export const REMOVE_BOARDS_FROM_LIST = 'cboard/Board/REMOVE_BOARDS_FROM_LIST';
export const CHANGE_BOARD = 'cboard/Board/CHANGE_BOARD';
export const REPLACE_BOARD = 'cboard/Board/REPLACE_BOARD';
export const SWITCH_BOARD = 'cboard/Board/SWITCH_BOARD';
Expand Down
10 changes: 9 additions & 1 deletion src/components/Board/Board.reducer.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ import {
DOWNLOAD_IMAGES_STARTED,
DOWNLOAD_IMAGE_SUCCESS,
DOWNLOAD_IMAGE_FAILURE,
CLEAN_ALL_BOARDS
CLEAN_ALL_BOARDS,
REMOVE_BOARDS_FROM_LIST
} from './Board.constants';
import { LOGOUT, LOGIN_SUCCESS } from '../Account/Login/Login.constants';

Expand Down Expand Up @@ -251,6 +252,13 @@ function boardReducer(state = initialState, action) {
board => action.boardId.indexOf(board.id) === -1
)
};
case REMOVE_BOARDS_FROM_LIST:
return {
...state,
boards: state.boards.filter(
board => !action.blacklist?.includes(board.id)
)
};
case CLEAN_ALL_BOARDS:
return {
...state,
Expand Down
10 changes: 9 additions & 1 deletion src/components/Communicator/Communicator.actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import {
import { defaultCommunicatorID } from './Communicator.reducer';
import API from '../../api';
import shortid from 'shortid';
import { removeBoardsFromList } from '../Board/Board.actions';

export function importCommunicator(communicator) {
return {
Expand Down Expand Up @@ -230,10 +231,17 @@ export function verifyAndUpsertCommunicator(
*/

export function getApiMyCommunicators() {
return dispatch => {
return (dispatch, getState) => {
dispatch(getApiMyCommunicatorsStarted());
return API.getCommunicators()
.then(res => {
const activeCommunicator =
res.data.find(
communicator =>
communicator.id === getState().communicator.activeCommunicator
) ?? res.data[0];
const defaultBoardBlackList = activeCommunicator?.defaultBoardBlackList;
dispatch(removeBoardsFromList(defaultBoardBlackList));
dispatch(getApiMyCommunicatorsSuccess(res));
return res;
})
Expand Down

0 comments on commit b18c8a2

Please sign in to comment.