From ead1371846b1f19cd49928052be0128bf7ccd41f Mon Sep 17 00:00:00 2001 From: Robin Dadswell <19610103+RobinDadswell@users.noreply.github.com> Date: Thu, 8 Jul 2021 23:27:23 +0100 Subject: [PATCH] New: Renamed Blacklist to Blocklist --- .../Blacklist.js => Blocklist/Blocklist.js} | 30 +++---- .../BlocklistConnector.js} | 90 +++++++++---------- .../BlocklistDetailsModal.js} | 6 +- .../BlocklistRow.css} | 0 .../BlocklistRow.js} | 14 +-- .../BlocklistRowConnector.js} | 8 +- frontend/src/Activity/Queue/QueueRow.js | 4 +- .../Activity/Queue/RemoveQueueItemModal.js | 18 ++-- .../Activity/Queue/RemoveQueueItemsModal.js | 18 ++-- frontend/src/App/AppRoutes.js | 6 +- frontend/src/Commands/commandNames.js | 2 +- .../Components/Page/Sidebar/PageSidebar.js | 4 +- .../Actions/Creators/createHandleActions.js | 4 +- ...lacklistActions.js => blocklistActions.js} | 84 ++++++++--------- frontend/src/Store/Actions/index.js | 4 +- frontend/src/Store/Actions/queueActions.js | 8 +- src/NzbDrone.Api/Blacklist/BlacklistModule.cs | 26 +++--- src/NzbDrone.Api/Blocklist/BlocklistModule.cs | 30 +++++++ .../BlocklistResource.cs} | 10 +-- src/NzbDrone.Api/Queue/QueueActionModule.cs | 15 +++- src/NzbDrone.Automation.Test/MainPagesTest.cs | 4 +- .../BlocklistRepositoryFixture.cs} | 22 ++--- .../BlocklistServiceFixture.cs} | 14 +-- ....cs => CleanupOrphanedBlocklistFixture.cs} | 16 ++-- .../Blocklist.cs} | 4 +- .../BlocklistRepository.cs} | 24 ++--- .../BlocklistService.cs} | 61 +++++++------ .../ClearBlocklistCommand.cs} | 6 +- .../160_rename_blacklist_to_blocklist.cs | 14 +++ src/NzbDrone.Core/Datastore/TableMapping.cs | 4 +- ...ification.cs => BlocklistSpecification.cs} | 16 ++-- ...acklist.cs => CleanupOrphanedBlocklist.cs} | 10 +-- ...lacklistFixture.cs => BlocklistFixture.cs} | 22 ++--- .../IntegrationTestBase.cs | 6 +- .../Blacklist/BlacklistModule.cs | 32 +++---- .../BlocklistBulkResource.cs} | 4 +- .../Blocklist/BlocklistModule.cs | 42 +++++++++ .../BlocklistResource.cs} | 10 +-- src/Sonarr.Api.V3/Queue/QueueActionModule.cs | 18 ++-- 39 files changed, 405 insertions(+), 305 deletions(-) rename frontend/src/Activity/{Blacklist/Blacklist.js => Blocklist/Blocklist.js} (90%) rename frontend/src/Activity/{Blacklist/BlacklistConnector.js => Blocklist/BlocklistConnector.js} (51%) rename frontend/src/Activity/{Blacklist/BlacklistDetailsModal.js => Blocklist/BlocklistDetailsModal.js} (94%) rename frontend/src/Activity/{Blacklist/BlacklistRow.css => Blocklist/BlocklistRow.css} (100%) rename frontend/src/Activity/{Blacklist/BlacklistRow.js => Blocklist/BlocklistRow.js} (94%) rename frontend/src/Activity/{Blacklist/BlacklistRowConnector.js => Blocklist/BlocklistRowConnector.js} (72%) rename frontend/src/Store/Actions/{blacklistActions.js => blocklistActions.js} (58%) create mode 100644 src/NzbDrone.Api/Blocklist/BlocklistModule.cs rename src/NzbDrone.Api/{Blacklist/BlacklistResource.cs => Blocklist/BlocklistResource.cs} (82%) rename src/NzbDrone.Core.Test/{Blacklisting/BlacklistRepositoryFixture.cs => Blocklisting/BlocklistRepositoryFixture.cs} (66%) rename src/NzbDrone.Core.Test/{Blacklisting/BlacklistServiceFixture.cs => Blocklisting/BlocklistServiceFixture.cs} (80%) rename src/NzbDrone.Core.Test/Housekeeping/Housekeepers/{CleanupOrphanedBlacklistFixture.cs => CleanupOrphanedBlocklistFixture.cs} (73%) rename src/NzbDrone.Core/{Blacklisting/Blacklist.cs => Blocklisting/Blocklist.cs} (91%) rename src/NzbDrone.Core/{Blacklisting/BlacklistRepository.cs => Blocklisting/BlocklistRepository.cs} (52%) rename src/NzbDrone.Core/{Blacklisting/BlacklistService.cs => Blocklisting/BlocklistService.cs} (68%) rename src/NzbDrone.Core/{Blacklisting/ClearBlacklistCommand.cs => Blocklisting/ClearBlocklistCommand.cs} (56%) create mode 100644 src/NzbDrone.Core/Datastore/Migration/160_rename_blacklist_to_blocklist.cs rename src/NzbDrone.Core/DecisionEngine/Specifications/{BlacklistSpecification.cs => BlocklistSpecification.cs} (58%) rename src/NzbDrone.Core/Housekeeping/Housekeepers/{CleanupOrphanedBlacklist.cs => CleanupOrphanedBlocklist.cs} (60%) rename src/NzbDrone.Integration.Test/ApiTests/{BlacklistFixture.cs => BlocklistFixture.cs} (55%) rename src/Sonarr.Api.V3/{Blacklist/BlacklistBulkResource.cs => Blocklist/BlocklistBulkResource.cs} (57%) create mode 100644 src/Sonarr.Api.V3/Blocklist/BlocklistModule.cs rename src/Sonarr.Api.V3/{Blacklist/BlacklistResource.cs => Blocklist/BlocklistResource.cs} (82%) diff --git a/frontend/src/Activity/Blacklist/Blacklist.js b/frontend/src/Activity/Blocklist/Blocklist.js similarity index 90% rename from frontend/src/Activity/Blacklist/Blacklist.js rename to frontend/src/Activity/Blocklist/Blocklist.js index 015b19759..4ab40faec 100644 --- a/frontend/src/Activity/Blacklist/Blacklist.js +++ b/frontend/src/Activity/Blocklist/Blocklist.js @@ -18,9 +18,9 @@ import PageContentBody from 'Components/Page/PageContentBody'; import PageToolbar from 'Components/Page/Toolbar/PageToolbar'; import PageToolbarSection from 'Components/Page/Toolbar/PageToolbarSection'; import PageToolbarButton from 'Components/Page/Toolbar/PageToolbarButton'; -import BlacklistRowConnector from './BlacklistRowConnector'; +import BlocklistRowConnector from './BlocklistRowConnector'; -class Blacklist extends Component { +class Blocklist extends Component { // // Lifecycle @@ -100,8 +100,8 @@ class Blacklist extends Component { columns, totalRecords, isRemoving, - isClearingBlacklistExecuting, - onClearBlacklistPress, + isClearingBlocklistExecuting, + onClearBlocklistPress, ...otherProps } = this.props; @@ -115,7 +115,7 @@ class Blacklist extends Component { const selectedIds = this.getSelectedIds(); return ( - + @@ -155,13 +155,13 @@ class Blacklist extends Component { { !isFetching && !!error && -
Unable to load blacklist
+
Unable to load blocklist
} { isPopulated && !error && !items.length &&
- No history blacklist + No history blocklist
} @@ -180,7 +180,7 @@ class Blacklist extends Component { { items.map((item) => { return ( - state.blacklist, - createCommandExecutingSelector(commandNames.CLEAR_BLACKLIST), - (blacklist, isClearingBlacklistExecuting) => { + (state) => state.blocklist, + createCommandExecutingSelector(commandNames.CLEAR_BLOCKLIST), + (blocklist, isClearingBlocklistExecuting) => { return { - isClearingBlacklistExecuting, - ...blacklist + isClearingBlocklistExecuting, + ...blocklist }; } ); } const mapDispatchToProps = { - ...blacklistActions, + ...blocklistActions, executeCommand }; -class BlacklistConnector extends Component { +class BlocklistConnector extends Component { // // Lifecycle @@ -36,27 +36,27 @@ class BlacklistConnector extends Component { componentDidMount() { const { useCurrentPage, - fetchBlacklist, - gotoBlacklistFirstPage + fetchBlocklist, + gotoBlocklistFirstPage } = this.props; registerPagePopulator(this.repopulate); if (useCurrentPage) { - fetchBlacklist(); + fetchBlocklist(); } else { - gotoBlacklistFirstPage(); + gotoBlocklistFirstPage(); } } componentDidUpdate(prevProps) { - if (prevProps.isClearingBlacklistExecuting && !this.props.isClearingBlacklistExecuting) { - this.props.gotoBlacklistFirstPage(); + if (prevProps.isClearingBlocklistExecuting && !this.props.isClearingBlocklistExecuting) { + this.props.gotoBlocklistFirstPage(); } } componentWillUnmount() { - this.props.clearBlacklist(); + this.props.clearBlocklist(); unregisterPagePopulator(this.repopulate); } @@ -64,56 +64,56 @@ class BlacklistConnector extends Component { // Control repopulate = () => { - this.props.fetchBlacklist(); + this.props.fetchBlocklist(); } // // Listeners onFirstPagePress = () => { - this.props.gotoBlacklistFirstPage(); + this.props.gotoBlocklistFirstPage(); } onPreviousPagePress = () => { - this.props.gotoBlacklistPreviousPage(); + this.props.gotoBlocklistPreviousPage(); } onNextPagePress = () => { - this.props.gotoBlacklistNextPage(); + this.props.gotoBlocklistNextPage(); } onLastPagePress = () => { - this.props.gotoBlacklistLastPage(); + this.props.gotoBlocklistLastPage(); } onPageSelect = (page) => { - this.props.gotoBlacklistPage({ page }); + this.props.gotoBlocklistPage({ page }); } onRemoveSelected = (ids) => { - this.props.removeBlacklistItems({ ids }); + this.props.removeBlocklistItems({ ids }); } onSortPress = (sortKey) => { - this.props.setBlacklistSort({ sortKey }); + this.props.setBlocklistSort({ sortKey }); } onTableOptionChange = (payload) => { - this.props.setBlacklistTableOption(payload); + this.props.setBlocklistTableOption(payload); if (payload.pageSize) { - this.props.gotoBlacklistFirstPage(); + this.props.gotoBlocklistFirstPage(); } } - onClearBlacklistPress = () => { - this.props.executeCommand({ name: commandNames.CLEAR_BLACKLIST }); + onClearBlocklistPress = () => { + this.props.executeCommand({ name: commandNames.CLEAR_BLOCKLIST }); } onTableOptionChange = (payload) => { - this.props.setBlacklistTableOption(payload); + this.props.setBlocklistTableOption(payload); if (payload.pageSize) { - this.props.gotoBlacklistFirstPage(); + this.props.gotoBlocklistFirstPage(); } } @@ -122,7 +122,7 @@ class BlacklistConnector extends Component { render() { return ( - ); } } -BlacklistConnector.propTypes = { +BlocklistConnector.propTypes = { useCurrentPage: PropTypes.bool.isRequired, - isClearingBlacklistExecuting: PropTypes.bool.isRequired, + isClearingBlocklistExecuting: PropTypes.bool.isRequired, items: PropTypes.arrayOf(PropTypes.object).isRequired, - fetchBlacklist: PropTypes.func.isRequired, - gotoBlacklistFirstPage: PropTypes.func.isRequired, - gotoBlacklistPreviousPage: PropTypes.func.isRequired, - gotoBlacklistNextPage: PropTypes.func.isRequired, - gotoBlacklistLastPage: PropTypes.func.isRequired, - gotoBlacklistPage: PropTypes.func.isRequired, - removeBlacklistItems: PropTypes.func.isRequired, - setBlacklistSort: PropTypes.func.isRequired, - setBlacklistTableOption: PropTypes.func.isRequired, - clearBlacklist: PropTypes.func.isRequired, + fetchBlocklist: PropTypes.func.isRequired, + gotoBlocklistFirstPage: PropTypes.func.isRequired, + gotoBlocklistPreviousPage: PropTypes.func.isRequired, + gotoBlocklistNextPage: PropTypes.func.isRequired, + gotoBlocklistLastPage: PropTypes.func.isRequired, + gotoBlocklistPage: PropTypes.func.isRequired, + removeBlocklistItems: PropTypes.func.isRequired, + setBlocklistSort: PropTypes.func.isRequired, + setBlocklistTableOption: PropTypes.func.isRequired, + clearBlocklist: PropTypes.func.isRequired, executeCommand: PropTypes.func.isRequired }; export default withCurrentPage( - connect(createMapStateToProps, mapDispatchToProps)(BlacklistConnector) + connect(createMapStateToProps, mapDispatchToProps)(BlocklistConnector) ); diff --git a/frontend/src/Activity/Blacklist/BlacklistDetailsModal.js b/frontend/src/Activity/Blocklist/BlocklistDetailsModal.js similarity index 94% rename from frontend/src/Activity/Blacklist/BlacklistDetailsModal.js rename to frontend/src/Activity/Blocklist/BlocklistDetailsModal.js index 356512a9d..5317f2fdf 100644 --- a/frontend/src/Activity/Blacklist/BlacklistDetailsModal.js +++ b/frontend/src/Activity/Blocklist/BlocklistDetailsModal.js @@ -9,7 +9,7 @@ import ModalHeader from 'Components/Modal/ModalHeader'; import ModalBody from 'Components/Modal/ModalBody'; import ModalFooter from 'Components/Modal/ModalFooter'; -class BlacklistDetailsModal extends Component { +class BlocklistDetailsModal extends Component { // // Render @@ -77,7 +77,7 @@ class BlacklistDetailsModal extends Component { } } -BlacklistDetailsModal.propTypes = { +BlocklistDetailsModal.propTypes = { isOpen: PropTypes.bool.isRequired, sourceTitle: PropTypes.string.isRequired, protocol: PropTypes.string.isRequired, @@ -86,4 +86,4 @@ BlacklistDetailsModal.propTypes = { onModalClose: PropTypes.func.isRequired }; -export default BlacklistDetailsModal; +export default BlocklistDetailsModal; diff --git a/frontend/src/Activity/Blacklist/BlacklistRow.css b/frontend/src/Activity/Blocklist/BlocklistRow.css similarity index 100% rename from frontend/src/Activity/Blacklist/BlacklistRow.css rename to frontend/src/Activity/Blocklist/BlocklistRow.css diff --git a/frontend/src/Activity/Blacklist/BlacklistRow.js b/frontend/src/Activity/Blocklist/BlocklistRow.js similarity index 94% rename from frontend/src/Activity/Blacklist/BlacklistRow.js rename to frontend/src/Activity/Blocklist/BlocklistRow.js index cb07ce803..3563e7230 100644 --- a/frontend/src/Activity/Blacklist/BlacklistRow.js +++ b/frontend/src/Activity/Blocklist/BlocklistRow.js @@ -9,10 +9,10 @@ import TableRowCell from 'Components/Table/Cells/TableRowCell'; import EpisodeLanguage from 'Episode/EpisodeLanguage'; import EpisodeQuality from 'Episode/EpisodeQuality'; import SeriesTitleLink from 'Series/SeriesTitleLink'; -import BlacklistDetailsModal from './BlacklistDetailsModal'; -import styles from './BlacklistRow.css'; +import BlocklistDetailsModal from './BlocklistDetailsModal'; +import styles from './BlocklistRow.css'; -class BlacklistRow extends Component { +class BlocklistRow extends Component { // // Lifecycle @@ -152,7 +152,7 @@ class BlacklistRow extends Component { /> { + onRemoveQueueItemModalConfirmed = (blocklist) => { const { onRemoveQueueItemPress, onQueueRowModalOpenOrClose } = this.props; onQueueRowModalOpenOrClose(false); - onRemoveQueueItemPress(blacklist); + onRemoveQueueItemPress(blocklist); this.setState({ isRemoveQueueItemModalOpen: false }); } diff --git a/frontend/src/Activity/Queue/RemoveQueueItemModal.js b/frontend/src/Activity/Queue/RemoveQueueItemModal.js index 04ad68a7c..988748c6e 100644 --- a/frontend/src/Activity/Queue/RemoveQueueItemModal.js +++ b/frontend/src/Activity/Queue/RemoveQueueItemModal.js @@ -21,7 +21,7 @@ class RemoveQueueItemModal extends Component { this.state = { remove: true, - blacklist: false + blocklist: false }; } @@ -31,7 +31,7 @@ class RemoveQueueItemModal extends Component { resetState = function() { this.setState({ remove: true, - blacklist: false + blocklist: false }); } @@ -42,8 +42,8 @@ class RemoveQueueItemModal extends Component { this.setState({ remove: value }); } - onBlacklistChange = ({ value }) => { - this.setState({ blacklist: value }); + onBlocklistChange = ({ value }) => { + this.setState({ blocklist: value }); } onRemoveConfirmed = () => { @@ -68,7 +68,7 @@ class RemoveQueueItemModal extends Component { canIgnore } = this.props; - const { remove, blacklist } = this.state; + const { remove, blocklist } = this.state; return ( - Blacklist Release + Add Release To Blocklist diff --git a/frontend/src/Activity/Queue/RemoveQueueItemsModal.js b/frontend/src/Activity/Queue/RemoveQueueItemsModal.js index 2fff599b7..5bf18a7d6 100644 --- a/frontend/src/Activity/Queue/RemoveQueueItemsModal.js +++ b/frontend/src/Activity/Queue/RemoveQueueItemsModal.js @@ -22,7 +22,7 @@ class RemoveQueueItemsModal extends Component { this.state = { remove: true, - blacklist: false + blocklist: false }; } @@ -32,7 +32,7 @@ class RemoveQueueItemsModal extends Component { resetState = function() { this.setState({ remove: true, - blacklist: false + blocklist: false }); } @@ -43,8 +43,8 @@ class RemoveQueueItemsModal extends Component { this.setState({ remove: value }); } - onBlacklistChange = ({ value }) => { - this.setState({ blacklist: value }); + onBlocklistChange = ({ value }) => { + this.setState({ blocklist: value }); } onRemoveConfirmed = () => { @@ -69,7 +69,7 @@ class RemoveQueueItemsModal extends Component { canIgnore } = this.props; - const { remove, blacklist } = this.state; + const { remove, blocklist } = this.state; return ( - Blacklist Release{selectedCount > 1 ? 's' : ''} + Add Release{selectedCount > 1 ? 's' : ''} To Blocklist diff --git a/frontend/src/App/AppRoutes.js b/frontend/src/App/AppRoutes.js index 42fd9eca6..102681071 100644 --- a/frontend/src/App/AppRoutes.js +++ b/frontend/src/App/AppRoutes.js @@ -13,7 +13,7 @@ import SeriesDetailsPageConnector from 'Series/Details/SeriesDetailsPageConnecto import CalendarPageConnector from 'Calendar/CalendarPageConnector'; import HistoryConnector from 'Activity/History/HistoryConnector'; import QueueConnector from 'Activity/Queue/QueueConnector'; -import BlacklistConnector from 'Activity/Blacklist/BlacklistConnector'; +import BlocklistConnector from 'Activity/Blocklist/BlocklistConnector'; import MissingConnector from 'Wanted/Missing/MissingConnector'; import CutoffUnmetConnector from 'Wanted/CutoffUnmet/CutoffUnmetConnector'; import Settings from 'Settings/Settings'; @@ -118,8 +118,8 @@ function AppRoutes(props) { /> {/* diff --git a/frontend/src/Commands/commandNames.js b/frontend/src/Commands/commandNames.js index 6a9e1a92d..9945fd8f8 100644 --- a/frontend/src/Commands/commandNames.js +++ b/frontend/src/Commands/commandNames.js @@ -1,7 +1,7 @@ export const APPLICATION_UPDATE = 'ApplicationUpdate'; export const BACKUP = 'Backup'; export const REFRESH_MONITORED_DOWNLOADS = 'RefreshMonitoredDownloads'; -export const CLEAR_BLACKLIST = 'ClearBlacklist'; +export const CLEAR_BLOCKLIST = 'ClearBlocklist'; export const CLEAR_LOGS = 'ClearLog'; export const CUTOFF_UNMET_EPISODE_SEARCH = 'CutoffUnmetEpisodeSearch'; export const DELETE_LOG_FILES = 'DeleteLogFiles'; diff --git a/frontend/src/Components/Page/Sidebar/PageSidebar.js b/frontend/src/Components/Page/Sidebar/PageSidebar.js index 83945109e..05c375d63 100644 --- a/frontend/src/Components/Page/Sidebar/PageSidebar.js +++ b/frontend/src/Components/Page/Sidebar/PageSidebar.js @@ -64,8 +64,8 @@ const links = [ to: '/activity/history' }, { - title: 'Blacklist', - to: '/activity/blacklist' + title: 'Blocklist', + to: '/activity/blocklist' } ] }, diff --git a/frontend/src/Store/Actions/Creators/createHandleActions.js b/frontend/src/Store/Actions/Creators/createHandleActions.js index afa0943ad..6a10f5e58 100644 --- a/frontend/src/Store/Actions/Creators/createHandleActions.js +++ b/frontend/src/Store/Actions/Creators/createHandleActions.js @@ -11,7 +11,7 @@ import { REMOVE_ITEM } from 'Store/Actions/baseActions'; -const blacklistedProperties = [ +const omittedProperties = [ 'section', 'id' ]; @@ -32,7 +32,7 @@ export default function createHandleActions(handlers, defaultState, section) { if (section === baseSection) { const newState = Object.assign(getSectionState(state, payloadSection), - _.omit(payload, blacklistedProperties)); + _.omit(payload, omittedProperties)); return updateSectionState(state, payloadSection, newState); } diff --git a/frontend/src/Store/Actions/blacklistActions.js b/frontend/src/Store/Actions/blocklistActions.js similarity index 58% rename from frontend/src/Store/Actions/blacklistActions.js rename to frontend/src/Store/Actions/blocklistActions.js index c079bc990..0cc1a6d3a 100644 --- a/frontend/src/Store/Actions/blacklistActions.js +++ b/frontend/src/Store/Actions/blocklistActions.js @@ -14,7 +14,7 @@ import { set, updateItem } from './baseActions'; // // Variables -export const section = 'blacklist'; +export const section = 'blocklist'; // // State @@ -74,41 +74,41 @@ export const defaultState = { }; export const persistState = [ - 'blacklist.pageSize', - 'blacklist.sortKey', - 'blacklist.sortDirection', - 'blacklist.columns' + 'blocklist.pageSize', + 'blocklist.sortKey', + 'blocklist.sortDirection', + 'blocklist.columns' ]; // // Action Types -export const FETCH_BLACKLIST = 'blacklist/fetchBlacklist'; -export const GOTO_FIRST_BLACKLIST_PAGE = 'blacklist/gotoBlacklistFirstPage'; -export const GOTO_PREVIOUS_BLACKLIST_PAGE = 'blacklist/gotoBlacklistPreviousPage'; -export const GOTO_NEXT_BLACKLIST_PAGE = 'blacklist/gotoBlacklistNextPage'; -export const GOTO_LAST_BLACKLIST_PAGE = 'blacklist/gotoBlacklistLastPage'; -export const GOTO_BLACKLIST_PAGE = 'blacklist/gotoBlacklistPage'; -export const SET_BLACKLIST_SORT = 'blacklist/setBlacklistSort'; -export const SET_BLACKLIST_TABLE_OPTION = 'blacklist/setBlacklistTableOption'; -export const REMOVE_BLACKLIST_ITEM = 'blacklist/removeBlacklistItem'; -export const REMOVE_BLACKLIST_ITEMS = 'blacklist/removeBlacklistItems'; -export const CLEAR_BLACKLIST = 'blacklist/clearBlacklist'; +export const FETCH_BLOCKLIST = 'blocklist/fetchBlocklist'; +export const GOTO_FIRST_BLOCKLIST_PAGE = 'blocklist/gotoBlocklistFirstPage'; +export const GOTO_PREVIOUS_BLOCKLIST_PAGE = 'blocklist/gotoBlocklistPreviousPage'; +export const GOTO_NEXT_BLOCKLIST_PAGE = 'blocklist/gotoBlocklistNextPage'; +export const GOTO_LAST_BLOCKLIST_PAGE = 'blocklist/gotoBlocklistLastPage'; +export const GOTO_BLOCKLIST_PAGE = 'blocklist/gotoBlocklistPage'; +export const SET_BLOCKLIST_SORT = 'blocklist/setBlocklistSort'; +export const SET_BLOCKLIST_TABLE_OPTION = 'blocklist/setBlocklistTableOption'; +export const REMOVE_BLOCKLIST_ITEM = 'blocklist/removeBlocklistItem'; +export const REMOVE_BLOCKLIST_ITEMS = 'blocklist/removeBlocklistItems'; +export const CLEAR_BLOCKLIST = 'blocklist/clearBlocklist'; // // Action Creators -export const fetchBlacklist = createThunk(FETCH_BLACKLIST); -export const gotoBlacklistFirstPage = createThunk(GOTO_FIRST_BLACKLIST_PAGE); -export const gotoBlacklistPreviousPage = createThunk(GOTO_PREVIOUS_BLACKLIST_PAGE); -export const gotoBlacklistNextPage = createThunk(GOTO_NEXT_BLACKLIST_PAGE); -export const gotoBlacklistLastPage = createThunk(GOTO_LAST_BLACKLIST_PAGE); -export const gotoBlacklistPage = createThunk(GOTO_BLACKLIST_PAGE); -export const setBlacklistSort = createThunk(SET_BLACKLIST_SORT); -export const setBlacklistTableOption = createAction(SET_BLACKLIST_TABLE_OPTION); -export const removeBlacklistItem = createThunk(REMOVE_BLACKLIST_ITEM); -export const removeBlacklistItems = createThunk(REMOVE_BLACKLIST_ITEMS); -export const clearBlacklist = createAction(CLEAR_BLACKLIST); +export const fetchBlocklist = createThunk(FETCH_BLOCKLIST); +export const gotoBlocklistFirstPage = createThunk(GOTO_FIRST_BLOCKLIST_PAGE); +export const gotoBlocklistPreviousPage = createThunk(GOTO_PREVIOUS_BLOCKLIST_PAGE); +export const gotoBlocklistNextPage = createThunk(GOTO_NEXT_BLOCKLIST_PAGE); +export const gotoBlocklistLastPage = createThunk(GOTO_LAST_BLOCKLIST_PAGE); +export const gotoBlocklistPage = createThunk(GOTO_BLOCKLIST_PAGE); +export const setBlocklistSort = createThunk(SET_BLOCKLIST_SORT); +export const setBlocklistTableOption = createAction(SET_BLOCKLIST_TABLE_OPTION); +export const removeBlocklistItem = createThunk(REMOVE_BLOCKLIST_ITEM); +export const removeBlocklistItems = createThunk(REMOVE_BLOCKLIST_ITEMS); +export const clearBlocklist = createAction(CLEAR_BLOCKLIST); // // Action Handlers @@ -116,21 +116,21 @@ export const clearBlacklist = createAction(CLEAR_BLACKLIST); export const actionHandlers = handleThunks({ ...createServerSideCollectionHandlers( section, - '/blacklist', - fetchBlacklist, + '/blocklist', + fetchBlocklist, { - [serverSideCollectionHandlers.FETCH]: FETCH_BLACKLIST, - [serverSideCollectionHandlers.FIRST_PAGE]: GOTO_FIRST_BLACKLIST_PAGE, - [serverSideCollectionHandlers.PREVIOUS_PAGE]: GOTO_PREVIOUS_BLACKLIST_PAGE, - [serverSideCollectionHandlers.NEXT_PAGE]: GOTO_NEXT_BLACKLIST_PAGE, - [serverSideCollectionHandlers.LAST_PAGE]: GOTO_LAST_BLACKLIST_PAGE, - [serverSideCollectionHandlers.EXACT_PAGE]: GOTO_BLACKLIST_PAGE, - [serverSideCollectionHandlers.SORT]: SET_BLACKLIST_SORT + [serverSideCollectionHandlers.FETCH]: FETCH_BLOCKLIST, + [serverSideCollectionHandlers.FIRST_PAGE]: GOTO_FIRST_BLOCKLIST_PAGE, + [serverSideCollectionHandlers.PREVIOUS_PAGE]: GOTO_PREVIOUS_BLOCKLIST_PAGE, + [serverSideCollectionHandlers.NEXT_PAGE]: GOTO_NEXT_BLOCKLIST_PAGE, + [serverSideCollectionHandlers.LAST_PAGE]: GOTO_LAST_BLOCKLIST_PAGE, + [serverSideCollectionHandlers.EXACT_PAGE]: GOTO_BLOCKLIST_PAGE, + [serverSideCollectionHandlers.SORT]: SET_BLOCKLIST_SORT }), - [REMOVE_BLACKLIST_ITEM]: createRemoveItemHandler(section, '/blacklist'), + [REMOVE_BLOCKLIST_ITEM]: createRemoveItemHandler(section, '/blocklist'), - [REMOVE_BLACKLIST_ITEMS]: function(getState, payload, dispatch) { + [REMOVE_BLOCKLIST_ITEMS]: function(getState, payload, dispatch) { const { ids } = payload; @@ -148,7 +148,7 @@ export const actionHandlers = handleThunks({ ])); const promise = createAjaxRequest({ - url: '/blacklist/bulk', + url: '/blocklist/bulk', method: 'DELETE', dataType: 'json', data: JSON.stringify({ ids }) @@ -156,7 +156,7 @@ export const actionHandlers = handleThunks({ promise.done((data) => { // Don't use batchActions with thunks - dispatch(fetchBlacklist()); + dispatch(fetchBlocklist()); dispatch(set({ section, isRemoving: false })); }); @@ -182,9 +182,9 @@ export const actionHandlers = handleThunks({ export const reducers = createHandleActions({ - [SET_BLACKLIST_TABLE_OPTION]: createSetTableOptionReducer(section), + [SET_BLOCKLIST_TABLE_OPTION]: createSetTableOptionReducer(section), - [CLEAR_BLACKLIST]: createClearReducer(section, { + [CLEAR_BLOCKLIST]: createClearReducer(section, { isFetching: false, isPopulated: false, error: null, diff --git a/frontend/src/Store/Actions/index.js b/frontend/src/Store/Actions/index.js index 77e2a1efa..37c262f6e 100644 --- a/frontend/src/Store/Actions/index.js +++ b/frontend/src/Store/Actions/index.js @@ -1,6 +1,6 @@ import * as addSeries from './addSeriesActions'; import * as app from './appActions'; -import * as blacklist from './blacklistActions'; +import * as blocklist from './blocklistActions'; import * as calendar from './calendarActions'; import * as captcha from './captchaActions'; import * as customFilters from './customFilterActions'; @@ -31,7 +31,7 @@ import * as wanted from './wantedActions'; export default [ addSeries, app, - blacklist, + blocklist, calendar, captcha, commands, diff --git a/frontend/src/Store/Actions/queueActions.js b/frontend/src/Store/Actions/queueActions.js index a7e454a69..1af82ae3b 100644 --- a/frontend/src/Store/Actions/queueActions.js +++ b/frontend/src/Store/Actions/queueActions.js @@ -364,13 +364,13 @@ export const actionHandlers = handleThunks({ const { id, remove, - blacklist + blocklist } = payload; dispatch(updateItem({ section: paged, id, isRemoving: true })); const promise = createAjaxRequest({ - url: `/queue/${id}?removeFromClient=${remove}&blacklist=${blacklist}`, + url: `/queue/${id}?removeFromClient=${remove}&blocklist=${blocklist}`, method: 'DELETE' }).request; @@ -387,7 +387,7 @@ export const actionHandlers = handleThunks({ const { ids, remove, - blacklist + blocklist } = payload; dispatch(batchActions([ @@ -403,7 +403,7 @@ export const actionHandlers = handleThunks({ ])); const promise = createAjaxRequest({ - url: `/queue/bulk?removeFromClient=${remove}&blacklist=${blacklist}`, + url: `/queue/bulk?removeFromClient=${remove}&blocklist=${blocklist}`, method: 'DELETE', dataType: 'json', data: JSON.stringify({ ids }) diff --git a/src/NzbDrone.Api/Blacklist/BlacklistModule.cs b/src/NzbDrone.Api/Blacklist/BlacklistModule.cs index 29002875b..7c3713196 100644 --- a/src/NzbDrone.Api/Blacklist/BlacklistModule.cs +++ b/src/NzbDrone.Api/Blacklist/BlacklistModule.cs @@ -1,30 +1,32 @@ -using NzbDrone.Core.Blacklisting; +// Blacklist has been deprecated for blocklist. +using NzbDrone.Api.Blocklist; +using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Datastore; using Sonarr.Http; namespace NzbDrone.Api.Blacklist { - public class BlacklistModule : SonarrRestModule + public class BlacklistModule : SonarrRestModule { - private readonly IBlacklistService _blacklistService; + private readonly BlocklistService _blocklistService; - public BlacklistModule(IBlacklistService blacklistService) + public BlacklistModule(BlocklistService blocklistService) { - _blacklistService = blacklistService; - GetResourcePaged = GetBlacklist; - DeleteResource = DeleteBlacklist; + _blocklistService = blocklistService; + GetResourcePaged = Blocklist; + DeleteResource = DeleteBlockList; } - private PagingResource GetBlacklist(PagingResource pagingResource) + private PagingResource Blocklist(PagingResource pagingResource) { - var pagingSpec = pagingResource.MapToPagingSpec("id", SortDirection.Ascending); + var pagingSpec = pagingResource.MapToPagingSpec("id", SortDirection.Ascending); - return ApplyToPage(_blacklistService.Paged, pagingSpec, BlacklistResourceMapper.MapToResource); + return ApplyToPage(_blocklistService.Paged, pagingSpec, BlocklistResourceMapper.MapToResource); } - private void DeleteBlacklist(int id) + private void DeleteBlockList(int id) { - _blacklistService.Delete(id); + _blocklistService.Delete(id); } } } diff --git a/src/NzbDrone.Api/Blocklist/BlocklistModule.cs b/src/NzbDrone.Api/Blocklist/BlocklistModule.cs new file mode 100644 index 000000000..377ac4f78 --- /dev/null +++ b/src/NzbDrone.Api/Blocklist/BlocklistModule.cs @@ -0,0 +1,30 @@ +using NzbDrone.Core.Blocklisting; +using NzbDrone.Core.Datastore; +using Sonarr.Http; + +namespace NzbDrone.Api.Blocklist +{ + public class BlocklistModule : SonarrRestModule + { + private readonly BlocklistService _blocklistService; + + public BlocklistModule(BlocklistService blocklistService) + { + _blocklistService = blocklistService; + GetResourcePaged = Blocklist; + DeleteResource = DeleteBlockList; + } + + private PagingResource Blocklist(PagingResource pagingResource) + { + var pagingSpec = pagingResource.MapToPagingSpec("id", SortDirection.Ascending); + + return ApplyToPage(_blocklistService.Paged, pagingSpec, BlocklistResourceMapper.MapToResource); + } + + private void DeleteBlockList(int id) + { + _blocklistService.Delete(id); + } + } +} diff --git a/src/NzbDrone.Api/Blacklist/BlacklistResource.cs b/src/NzbDrone.Api/Blocklist/BlocklistResource.cs similarity index 82% rename from src/NzbDrone.Api/Blacklist/BlacklistResource.cs rename to src/NzbDrone.Api/Blocklist/BlocklistResource.cs index 51d9297d7..bdfe85b2c 100644 --- a/src/NzbDrone.Api/Blacklist/BlacklistResource.cs +++ b/src/NzbDrone.Api/Blocklist/BlocklistResource.cs @@ -6,9 +6,9 @@ using NzbDrone.Api.Series; using NzbDrone.Core.Indexers; using NzbDrone.Core.Languages; -namespace NzbDrone.Api.Blacklist +namespace NzbDrone.Api.Blocklist { - public class BlacklistResource : RestResource + public class BlocklistResource : RestResource { public int SeriesId { get; set; } public List EpisodeIds { get; set; } @@ -23,13 +23,13 @@ namespace NzbDrone.Api.Blacklist public SeriesResource Series { get; set; } } - public static class BlacklistResourceMapper + public static class BlocklistResourceMapper { - public static BlacklistResource MapToResource(this Core.Blacklisting.Blacklist model) + public static BlocklistResource MapToResource(this Core.Blocklisting.Blocklist model) { if (model == null) return null; - return new BlacklistResource + return new BlocklistResource { Id = model.Id, diff --git a/src/NzbDrone.Api/Queue/QueueActionModule.cs b/src/NzbDrone.Api/Queue/QueueActionModule.cs index f741b6afa..700863b55 100644 --- a/src/NzbDrone.Api/Queue/QueueActionModule.cs +++ b/src/NzbDrone.Api/Queue/QueueActionModule.cs @@ -43,12 +43,19 @@ namespace NzbDrone.Api.Queue private object Remove(int id) { - var blacklist = false; + var blocklist = false; + var blocklistQuery = Request.Query.blocklist; + + // blacklist maintained for backwards compatability, UI uses blocklist. var blacklistQuery = Request.Query.blacklist; - if (blacklistQuery.HasValue) + if (blocklistQuery.HasValue) { - blacklist = Convert.ToBoolean(blacklistQuery.Value); + blocklist = Convert.ToBoolean(blocklistQuery.Value); + } + else if (blacklistQuery.HasValue) + { + blocklist = Convert.ToBoolean(blacklistQuery.Value); } var pendingRelease = _pendingReleaseService.FindPendingQueueItem(id); @@ -76,7 +83,7 @@ namespace NzbDrone.Api.Queue downloadClient.RemoveItem(trackedDownload.DownloadItem, true); - if (blacklist) + if (blocklist) { _failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId); } diff --git a/src/NzbDrone.Automation.Test/MainPagesTest.cs b/src/NzbDrone.Automation.Test/MainPagesTest.cs index b6f172140..4dcc5556a 100644 --- a/src/NzbDrone.Automation.Test/MainPagesTest.cs +++ b/src/NzbDrone.Automation.Test/MainPagesTest.cs @@ -42,7 +42,7 @@ namespace NzbDrone.Automation.Test page.Find(By.LinkText("Queue")).Should().NotBeNull(); page.Find(By.LinkText("History")).Should().NotBeNull(); - page.Find(By.LinkText("Blacklist")).Should().NotBeNull(); + page.Find(By.LinkText("Blocklist")).Should().NotBeNull(); } [Test] @@ -77,4 +77,4 @@ namespace NzbDrone.Automation.Test page.Find(By.CssSelector("input[class*='AddNewSeries/searchInput']")).Should().NotBeNull(); } } -} \ No newline at end of file +} diff --git a/src/NzbDrone.Core.Test/Blacklisting/BlacklistRepositoryFixture.cs b/src/NzbDrone.Core.Test/Blocklisting/BlocklistRepositoryFixture.cs similarity index 66% rename from src/NzbDrone.Core.Test/Blacklisting/BlacklistRepositoryFixture.cs rename to src/NzbDrone.Core.Test/Blocklisting/BlocklistRepositoryFixture.cs index 4cc75b955..e25d3c620 100644 --- a/src/NzbDrone.Core.Test/Blacklisting/BlacklistRepositoryFixture.cs +++ b/src/NzbDrone.Core.Test/Blocklisting/BlocklistRepositoryFixture.cs @@ -3,21 +3,21 @@ using System.Collections.Generic; using System.Linq; using FluentAssertions; using NUnit.Framework; -using NzbDrone.Core.Blacklisting; +using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Qualities; using NzbDrone.Core.Test.Framework; -namespace NzbDrone.Core.Test.Blacklisting +namespace NzbDrone.Core.Test.Blocklisting { [TestFixture] - public class BlacklistRepositoryFixture : DbTest + public class BlocklistRepositoryFixture : DbTest { - private Blacklist _blacklist; + private Blocklist _blocklist; [SetUp] public void Setup() { - _blacklist = new Blacklist + _blocklist = new Blocklist { SeriesId = 12345, EpisodeIds = new List { 1 }, @@ -30,24 +30,24 @@ namespace NzbDrone.Core.Test.Blacklisting [Test] public void should_be_able_to_write_to_database() { - Subject.Insert(_blacklist); + Subject.Insert(_blocklist); Subject.All().Should().HaveCount(1); } [Test] public void should_should_have_episode_ids() { - Subject.Insert(_blacklist); + Subject.Insert(_blocklist); - Subject.All().First().EpisodeIds.Should().Contain(_blacklist.EpisodeIds); + Subject.All().First().EpisodeIds.Should().Contain(_blocklist.EpisodeIds); } [Test] - public void should_check_for_blacklisted_title_case_insensative() + public void should_check_for_blocklisted_title_case_insensative() { - Subject.Insert(_blacklist); + Subject.Insert(_blocklist); - Subject.BlacklistedByTitle(_blacklist.SeriesId, _blacklist.SourceTitle.ToUpperInvariant()).Should().HaveCount(1); + Subject.BlocklistedByTitle(_blocklist.SeriesId, _blocklist.SourceTitle.ToUpperInvariant()).Should().HaveCount(1); } } } diff --git a/src/NzbDrone.Core.Test/Blacklisting/BlacklistServiceFixture.cs b/src/NzbDrone.Core.Test/Blocklisting/BlocklistServiceFixture.cs similarity index 80% rename from src/NzbDrone.Core.Test/Blacklisting/BlacklistServiceFixture.cs rename to src/NzbDrone.Core.Test/Blocklisting/BlocklistServiceFixture.cs index 8766de661..ef92a62cd 100644 --- a/src/NzbDrone.Core.Test/Blacklisting/BlacklistServiceFixture.cs +++ b/src/NzbDrone.Core.Test/Blocklisting/BlocklistServiceFixture.cs @@ -2,15 +2,15 @@ using System.Collections.Generic; using Moq; using NUnit.Framework; -using NzbDrone.Core.Blacklisting; +using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Download; using NzbDrone.Core.Qualities; using NzbDrone.Core.Test.Framework; -namespace NzbDrone.Core.Test.Blacklisting +namespace NzbDrone.Core.Test.Blocklisting { [TestFixture] - public class BlacklistServiceFixture : CoreTest + public class BlocklistServiceFixture : CoreTest { private DownloadFailedEvent _event; @@ -39,8 +39,8 @@ namespace NzbDrone.Core.Test.Blacklisting { Subject.Handle(_event); - Mocker.GetMock() - .Verify(v => v.Insert(It.Is(b => b.EpisodeIds == _event.EpisodeIds)), Times.Once()); + Mocker.GetMock() + .Verify(v => v.Insert(It.Is(b => b.EpisodeIds == _event.EpisodeIds)), Times.Once()); } [Test] @@ -51,8 +51,8 @@ namespace NzbDrone.Core.Test.Blacklisting _event.Data.Remove("size"); _event.Data.Remove("protocol"); - Mocker.GetMock() - .Verify(v => v.Insert(It.Is(b => b.EpisodeIds == _event.EpisodeIds)), Times.Once()); + Mocker.GetMock() + .Verify(v => v.Insert(It.Is(b => b.EpisodeIds == _event.EpisodeIds)), Times.Once()); } } } diff --git a/src/NzbDrone.Core.Test/Housekeeping/Housekeepers/CleanupOrphanedBlacklistFixture.cs b/src/NzbDrone.Core.Test/Housekeeping/Housekeepers/CleanupOrphanedBlocklistFixture.cs similarity index 73% rename from src/NzbDrone.Core.Test/Housekeeping/Housekeepers/CleanupOrphanedBlacklistFixture.cs rename to src/NzbDrone.Core.Test/Housekeeping/Housekeepers/CleanupOrphanedBlocklistFixture.cs index e6eaa1af9..36d7534b1 100644 --- a/src/NzbDrone.Core.Test/Housekeeping/Housekeepers/CleanupOrphanedBlacklistFixture.cs +++ b/src/NzbDrone.Core.Test/Housekeeping/Housekeepers/CleanupOrphanedBlocklistFixture.cs @@ -1,7 +1,7 @@ using FizzWare.NBuilder; using FluentAssertions; using NUnit.Framework; -using NzbDrone.Core.Blacklisting; +using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Housekeeping.Housekeepers; using NzbDrone.Core.Qualities; using NzbDrone.Core.Test.Framework; @@ -11,35 +11,35 @@ using System.Collections.Generic; namespace NzbDrone.Core.Test.Housekeeping.Housekeepers { [TestFixture] - public class CleanupOrphanedBlacklistFixture : DbTest + public class CleanupOrphanedBlocklistFixture : DbTest { [Test] - public void should_delete_orphaned_blacklist_items() + public void should_delete_orphaned_blocklist_items() { - var blacklist = Builder.CreateNew() + var blocklist = Builder.CreateNew() .With(h => h.EpisodeIds = new List()) .With(h => h.Quality = new QualityModel()) .BuildNew(); - Db.Insert(blacklist); + Db.Insert(blocklist); Subject.Clean(); AllStoredModels.Should().BeEmpty(); } [Test] - public void should_not_delete_unorphaned_blacklist_items() + public void should_not_delete_unorphaned_blocklist_items() { var series = Builder.CreateNew().BuildNew(); Db.Insert(series); - var blacklist = Builder.CreateNew() + var blocklist = Builder.CreateNew() .With(h => h.EpisodeIds = new List()) .With(h => h.Quality = new QualityModel()) .With(b => b.SeriesId = series.Id) .BuildNew(); - Db.Insert(blacklist); + Db.Insert(blocklist); Subject.Clean(); AllStoredModels.Should().HaveCount(1); diff --git a/src/NzbDrone.Core/Blacklisting/Blacklist.cs b/src/NzbDrone.Core/Blocklisting/Blocklist.cs similarity index 91% rename from src/NzbDrone.Core/Blacklisting/Blacklist.cs rename to src/NzbDrone.Core/Blocklisting/Blocklist.cs index 3ca37cdc2..7ba4de8ae 100644 --- a/src/NzbDrone.Core/Blacklisting/Blacklist.cs +++ b/src/NzbDrone.Core/Blocklisting/Blocklist.cs @@ -6,9 +6,9 @@ using NzbDrone.Core.Qualities; using NzbDrone.Core.Tv; using NzbDrone.Core.Languages; -namespace NzbDrone.Core.Blacklisting +namespace NzbDrone.Core.Blocklisting { - public class Blacklist : ModelBase + public class Blocklist : ModelBase { public int SeriesId { get; set; } public Series Series { get; set; } diff --git a/src/NzbDrone.Core/Blacklisting/BlacklistRepository.cs b/src/NzbDrone.Core/Blocklisting/BlocklistRepository.cs similarity index 52% rename from src/NzbDrone.Core/Blacklisting/BlacklistRepository.cs rename to src/NzbDrone.Core/Blocklisting/BlocklistRepository.cs index 906f2a92b..c62caeb3b 100644 --- a/src/NzbDrone.Core/Blacklisting/BlacklistRepository.cs +++ b/src/NzbDrone.Core/Blocklisting/BlocklistRepository.cs @@ -4,42 +4,42 @@ using NzbDrone.Core.Messaging.Events; using Marr.Data.QGen; using NzbDrone.Core.Tv; -namespace NzbDrone.Core.Blacklisting +namespace NzbDrone.Core.Blocklisting { - public interface IBlacklistRepository : IBasicRepository + public interface IBlocklistRepository : IBasicRepository { - List BlacklistedByTitle(int seriesId, string sourceTitle); - List BlacklistedByTorrentInfoHash(int seriesId, string torrentInfoHash); - List BlacklistedBySeries(int seriesId); + List BlocklistedByTitle(int seriesId, string sourceTitle); + List BlocklistedByTorrentInfoHash(int seriesId, string torrentInfoHash); + List BlocklistedBySeries(int seriesId); } - public class BlacklistRepository : BasicRepository, IBlacklistRepository + public class BlocklistRepository : BasicRepository, IBlocklistRepository { - public BlacklistRepository(IMainDatabase database, IEventAggregator eventAggregator) : + public BlocklistRepository(IMainDatabase database, IEventAggregator eventAggregator) : base(database, eventAggregator) { } - public List BlacklistedByTitle(int seriesId, string sourceTitle) + public List BlocklistedByTitle(int seriesId, string sourceTitle) { return Query.Where(e => e.SeriesId == seriesId) .AndWhere(e => e.SourceTitle.Contains(sourceTitle)); } - public List BlacklistedByTorrentInfoHash(int seriesId, string torrentInfoHash) + public List BlocklistedByTorrentInfoHash(int seriesId, string torrentInfoHash) { return Query.Where(e => e.SeriesId == seriesId) .AndWhere(e => e.TorrentInfoHash.Contains(torrentInfoHash)); } - public List BlacklistedBySeries(int seriesId) + public List BlocklistedBySeries(int seriesId) { return Query.Where(b => b.SeriesId == seriesId); } - protected override SortBuilder GetPagedQuery(QueryBuilder query, PagingSpec pagingSpec) + protected override SortBuilder GetPagedQuery(QueryBuilder query, PagingSpec pagingSpec) { - var baseQuery = query.Join(JoinType.Inner, h => h.Series, (h, s) => h.SeriesId == s.Id); + var baseQuery = query.Join(JoinType.Inner, h => h.Series, (h, s) => h.SeriesId == s.Id); return base.GetPagedQuery(baseQuery, pagingSpec); } diff --git a/src/NzbDrone.Core/Blacklisting/BlacklistService.cs b/src/NzbDrone.Core/Blocklisting/BlocklistService.cs similarity index 68% rename from src/NzbDrone.Core/Blacklisting/BlacklistService.cs rename to src/NzbDrone.Core/Blocklisting/BlocklistService.cs index 2ea325b39..b03179045 100644 --- a/src/NzbDrone.Core/Blacklisting/BlacklistService.cs +++ b/src/NzbDrone.Core/Blocklisting/BlocklistService.cs @@ -10,31 +10,30 @@ using NzbDrone.Core.Messaging.Events; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Tv.Events; -namespace NzbDrone.Core.Blacklisting +namespace NzbDrone.Core.Blocklisting { - public interface IBlacklistService + public interface IBlocklistService { - bool Blacklisted(int seriesId, ReleaseInfo release); - PagingSpec Paged(PagingSpec pagingSpec); + bool Blocklisted(int seriesId, ReleaseInfo release); + PagingSpec Paged(PagingSpec pagingSpec); void Delete(int id); void Delete(List ids); } - public class BlacklistService : IBlacklistService, - - IExecute, + public class BlocklistService : IBlocklistService, + IExecute, IHandle, IHandleAsync { - private readonly IBlacklistRepository _blacklistRepository; + private readonly IBlocklistRepository _blocklistRepository; - public BlacklistService(IBlacklistRepository blacklistRepository) + public BlocklistService(IBlocklistRepository blocklistRepository) { - _blacklistRepository = blacklistRepository; + _blocklistRepository = blocklistRepository; } - public bool Blacklisted(int seriesId, ReleaseInfo release) + public bool Blocklisted(int seriesId, ReleaseInfo release) { - var blacklistedByTitle = _blacklistRepository.BlacklistedByTitle(seriesId, release.Title); + var blocklistedByTitle = _blocklistRepository.BlocklistedByTitle(seriesId, release.Title); if (release.DownloadProtocol == DownloadProtocol.Torrent) { @@ -44,35 +43,35 @@ namespace NzbDrone.Core.Blacklisting if (torrentInfo.InfoHash.IsNullOrWhiteSpace()) { - return blacklistedByTitle.Where(b => b.Protocol == DownloadProtocol.Torrent) + return blocklistedByTitle.Where(b => b.Protocol == DownloadProtocol.Torrent) .Any(b => SameTorrent(b, torrentInfo)); } - var blacklistedByTorrentInfohash = _blacklistRepository.BlacklistedByTorrentInfoHash(seriesId, torrentInfo.InfoHash); + var blocklistedByTorrentInfohash = _blocklistRepository.BlocklistedByTorrentInfoHash(seriesId, torrentInfo.InfoHash); - return blacklistedByTorrentInfohash.Any(b => SameTorrent(b, torrentInfo)); + return blocklistedByTorrentInfohash.Any(b => SameTorrent(b, torrentInfo)); } - return blacklistedByTitle.Where(b => b.Protocol == DownloadProtocol.Usenet) + return blocklistedByTitle.Where(b => b.Protocol == DownloadProtocol.Usenet) .Any(b => SameNzb(b, release)); } - public PagingSpec Paged(PagingSpec pagingSpec) + public PagingSpec Paged(PagingSpec pagingSpec) { - return _blacklistRepository.GetPaged(pagingSpec); + return _blocklistRepository.GetPaged(pagingSpec); } public void Delete(int id) { - _blacklistRepository.Delete(id); + _blocklistRepository.Delete(id); } public void Delete(List ids) { - _blacklistRepository.DeleteMany(ids); + _blocklistRepository.DeleteMany(ids); } - private bool SameNzb(Blacklist item, ReleaseInfo release) + private bool SameNzb(Blocklist item, ReleaseInfo release) { if (item.PublishedDate == release.PublishDate) { @@ -89,7 +88,7 @@ namespace NzbDrone.Core.Blacklisting return false; } - private bool SameTorrent(Blacklist item, TorrentInfo release) + private bool SameTorrent(Blocklist item, TorrentInfo release) { if (release.InfoHash.IsNotNullOrWhiteSpace()) { @@ -99,7 +98,7 @@ namespace NzbDrone.Core.Blacklisting return item.Indexer.Equals(release.Indexer, StringComparison.InvariantCultureIgnoreCase); } - private bool HasSameIndexer(Blacklist item, string indexer) + private bool HasSameIndexer(Blocklist item, string indexer) { if (item.Indexer.IsNullOrWhiteSpace()) { @@ -109,7 +108,7 @@ namespace NzbDrone.Core.Blacklisting return item.Indexer.Equals(indexer, StringComparison.InvariantCultureIgnoreCase); } - private bool HasSamePublishedDate(Blacklist item, DateTime publishedDate) + private bool HasSamePublishedDate(Blocklist item, DateTime publishedDate) { if (!item.PublishedDate.HasValue) return true; @@ -117,7 +116,7 @@ namespace NzbDrone.Core.Blacklisting item.PublishedDate.Value.AddMinutes(2) >= publishedDate; } - private bool HasSameSize(Blacklist item, long size) + private bool HasSameSize(Blocklist item, long size) { if (!item.Size.HasValue) return true; @@ -126,14 +125,14 @@ namespace NzbDrone.Core.Blacklisting return difference <= 2.Megabytes(); } - public void Execute(ClearBlacklistCommand message) + public void Execute(ClearBlocklistCommand message) { - _blacklistRepository.Purge(); + _blocklistRepository.Purge(); } public void Handle(DownloadFailedEvent message) { - var blacklist = new Blacklist + var blocklist = new Blocklist { SeriesId = message.SeriesId, EpisodeIds = message.EpisodeIds, @@ -149,14 +148,14 @@ namespace NzbDrone.Core.Blacklisting Language = message.Language }; - _blacklistRepository.Insert(blacklist); + _blocklistRepository.Insert(blocklist); } public void HandleAsync(SeriesDeletedEvent message) { - var blacklisted = _blacklistRepository.BlacklistedBySeries(message.Series.Id); + var blocklisted = _blocklistRepository.BlocklistedBySeries(message.Series.Id); - _blacklistRepository.DeleteMany(blacklisted); + _blocklistRepository.DeleteMany(blocklisted); } } } diff --git a/src/NzbDrone.Core/Blacklisting/ClearBlacklistCommand.cs b/src/NzbDrone.Core/Blocklisting/ClearBlocklistCommand.cs similarity index 56% rename from src/NzbDrone.Core/Blacklisting/ClearBlacklistCommand.cs rename to src/NzbDrone.Core/Blocklisting/ClearBlocklistCommand.cs index d8aa3af0a..16a7a4e7f 100644 --- a/src/NzbDrone.Core/Blacklisting/ClearBlacklistCommand.cs +++ b/src/NzbDrone.Core/Blocklisting/ClearBlocklistCommand.cs @@ -1,9 +1,9 @@ using NzbDrone.Core.Messaging.Commands; -namespace NzbDrone.Core.Blacklisting +namespace NzbDrone.Core.Blocklisting { - public class ClearBlacklistCommand : Command + public class ClearBlocklistCommand : Command { public override bool SendUpdatesToClient => true; } -} \ No newline at end of file +} diff --git a/src/NzbDrone.Core/Datastore/Migration/160_rename_blacklist_to_blocklist.cs b/src/NzbDrone.Core/Datastore/Migration/160_rename_blacklist_to_blocklist.cs new file mode 100644 index 000000000..c9aed1f13 --- /dev/null +++ b/src/NzbDrone.Core/Datastore/Migration/160_rename_blacklist_to_blocklist.cs @@ -0,0 +1,14 @@ +using FluentMigrator; +using NzbDrone.Core.Datastore.Migration.Framework; + +namespace NzbDrone.Core.Datastore.Migration +{ + [Migration(160)] + public class rename_blacklist_to_blocklist : NzbDroneMigrationBase + { + protected override void MainDbUpgrade() + { + Rename.Table("Blacklist").To("Blocklist"); + } + } +} diff --git a/src/NzbDrone.Core/Datastore/TableMapping.cs b/src/NzbDrone.Core/Datastore/TableMapping.cs index 8a1f49ac1..fcff36307 100644 --- a/src/NzbDrone.Core/Datastore/TableMapping.cs +++ b/src/NzbDrone.Core/Datastore/TableMapping.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using Marr.Data; using Marr.Data.Mapping; using NzbDrone.Common.Reflection; -using NzbDrone.Core.Blacklisting; +using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; using NzbDrone.Core.DataAugmentation.Scene; using NzbDrone.Core.Datastore.Converters; @@ -124,7 +124,7 @@ namespace NzbDrone.Core.Datastore Mapper.Entity().RegisterModel("Logs"); Mapper.Entity().RegisterModel("NamingConfig"); Mapper.Entity().MapResultSet(); - Mapper.Entity().RegisterModel("Blacklist"); + Mapper.Entity().RegisterModel("Blocklist"); Mapper.Entity().RegisterModel("MetadataFiles"); Mapper.Entity().RegisterModel("SubtitleFiles"); Mapper.Entity().RegisterModel("ExtraFiles"); diff --git a/src/NzbDrone.Core/DecisionEngine/Specifications/BlacklistSpecification.cs b/src/NzbDrone.Core/DecisionEngine/Specifications/BlocklistSpecification.cs similarity index 58% rename from src/NzbDrone.Core/DecisionEngine/Specifications/BlacklistSpecification.cs rename to src/NzbDrone.Core/DecisionEngine/Specifications/BlocklistSpecification.cs index 1b2c3d05e..422c4a7dd 100644 --- a/src/NzbDrone.Core/DecisionEngine/Specifications/BlacklistSpecification.cs +++ b/src/NzbDrone.Core/DecisionEngine/Specifications/BlocklistSpecification.cs @@ -1,18 +1,18 @@ using NLog; -using NzbDrone.Core.Blacklisting; +using NzbDrone.Core.Blocklisting; using NzbDrone.Core.IndexerSearch.Definitions; using NzbDrone.Core.Parser.Model; namespace NzbDrone.Core.DecisionEngine.Specifications { - public class BlacklistSpecification : IDecisionEngineSpecification + public class BlocklistSpecification : IDecisionEngineSpecification { - private readonly IBlacklistService _blacklistService; + private readonly IBlocklistService _blocklistService; private readonly Logger _logger; - public BlacklistSpecification(IBlacklistService blacklistService, Logger logger) + public BlocklistSpecification(IBlocklistService blocklistService, Logger logger) { - _blacklistService = blacklistService; + _blocklistService = blocklistService; _logger = logger; } @@ -21,10 +21,10 @@ namespace NzbDrone.Core.DecisionEngine.Specifications public Decision IsSatisfiedBy(RemoteEpisode subject, SearchCriteriaBase searchCriteria) { - if (_blacklistService.Blacklisted(subject.Series.Id, subject.Release)) + if (_blocklistService.Blocklisted(subject.Series.Id, subject.Release)) { - _logger.Debug("{0} is blacklisted, rejecting.", subject.Release.Title); - return Decision.Reject("Release is blacklisted"); + _logger.Debug("{0} is blocklisted, rejecting.", subject.Release.Title); + return Decision.Reject("Release is blocklisted"); } return Decision.Accept(); diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlacklist.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlocklist.cs similarity index 60% rename from src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlacklist.cs rename to src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlocklist.cs index b1d127292..4c05c71cc 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlacklist.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlocklist.cs @@ -2,11 +2,11 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers { - public class CleanupOrphanedBlacklist : IHousekeepingTask + public class CleanupOrphanedBlocklist : IHousekeepingTask { private readonly IMainDatabase _database; - public CleanupOrphanedBlacklist(IMainDatabase database) + public CleanupOrphanedBlocklist(IMainDatabase database) { _database = database; } @@ -15,11 +15,11 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers { var mapper = _database.GetDataMapper(); - mapper.ExecuteNonQuery(@"DELETE FROM Blacklist + mapper.ExecuteNonQuery(@"DELETE FROM Blocklist WHERE Id IN ( - SELECT Blacklist.Id FROM Blacklist + SELECT Blocklist.Id FROM Blocklist LEFT OUTER JOIN Series - ON Blacklist.SeriesId = Series.Id + ON Blocklist.SeriesId = Series.Id WHERE Series.Id IS NULL)"); } } diff --git a/src/NzbDrone.Integration.Test/ApiTests/BlacklistFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs similarity index 55% rename from src/NzbDrone.Integration.Test/ApiTests/BlacklistFixture.cs rename to src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs index b8b18b70a..bfdd32942 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/BlacklistFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs @@ -5,17 +5,17 @@ using NzbDrone.Api.Series; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - public class BlacklistFixture : IntegrationTest + public class BlocklistFixture : IntegrationTest { private SeriesResource _series; [Test] - [Ignore("Adding to blacklist not supported")] - public void should_be_able_to_add_to_blacklist() + [Ignore("Adding to blocklist not supported")] + public void should_be_able_to_add_to_blocklist() { _series = EnsureSeries(266189, "The Blacklist"); - Blacklist.Post(new Api.Blacklist.BlacklistResource + Blocklist.Post(new Api.Blocklist.BlocklistResource { SeriesId = _series.Id, SourceTitle = "Blacklist.S01E01.Brought.To.You.By-BoomBoxHD" @@ -23,10 +23,10 @@ namespace NzbDrone.Integration.Test.ApiTests } [Test] - [Ignore("Adding to blacklist not supported")] - public void should_be_able_to_get_all_blacklisted() + [Ignore("Adding to blocklist not supported")] + public void should_be_able_to_get_all_blocklisted() { - var result = Blacklist.GetPaged(0, 1000, "date", "desc"); + var result = Blocklist.GetPaged(0, 1000, "date", "desc"); result.Should().NotBeNull(); result.TotalRecords.Should().Be(1); @@ -34,12 +34,12 @@ namespace NzbDrone.Integration.Test.ApiTests } [Test] - [Ignore("Adding to blacklist not supported")] - public void should_be_able_to_remove_from_blacklist() + [Ignore("Adding to blocklist not supported")] + public void should_be_able_to_remove_from_blocklist() { - Blacklist.Delete(1); + Blocklist.Delete(1); - var result = Blacklist.GetPaged(0, 1000, "date", "desc"); + var result = Blocklist.GetPaged(0, 1000, "date", "desc"); result.Should().NotBeNull(); result.TotalRecords.Should().Be(0); diff --git a/src/NzbDrone.Integration.Test/IntegrationTestBase.cs b/src/NzbDrone.Integration.Test/IntegrationTestBase.cs index fe682753f..4078dfb79 100644 --- a/src/NzbDrone.Integration.Test/IntegrationTestBase.cs +++ b/src/NzbDrone.Integration.Test/IntegrationTestBase.cs @@ -11,7 +11,7 @@ using NLog; using NLog.Config; using NLog.Targets; using NUnit.Framework; -using NzbDrone.Api.Blacklist; +using NzbDrone.Api.Blocklist; using NzbDrone.Api.Commands; using NzbDrone.Api.Config; using NzbDrone.Api.DownloadClient; @@ -39,7 +39,7 @@ namespace NzbDrone.Integration.Test protected RestClient RestClient { get; private set; } protected RestClient RestClientv3 { get; private set; } - public ClientBase Blacklist; + public ClientBase Blocklist; public CommandClient Commands; public DownloadClientClient DownloadClients; public EpisodeClient Episodes; @@ -106,7 +106,7 @@ namespace NzbDrone.Integration.Test RestClientv3.AddDefaultHeader("Authentication", ApiKey); RestClientv3.AddDefaultHeader("X-Api-Key", ApiKey); - Blacklist = new ClientBase(RestClient, ApiKey); + Blocklist = new ClientBase(RestClient, ApiKey); Commands = new CommandClient(RestClient, ApiKey); DownloadClients = new DownloadClientClient(RestClient, ApiKey); Episodes = new EpisodeClient(RestClient, ApiKey); diff --git a/src/Sonarr.Api.V3/Blacklist/BlacklistModule.cs b/src/Sonarr.Api.V3/Blacklist/BlacklistModule.cs index 7a856004c..9eb18d15d 100644 --- a/src/Sonarr.Api.V3/Blacklist/BlacklistModule.cs +++ b/src/Sonarr.Api.V3/Blacklist/BlacklistModule.cs @@ -1,42 +1,44 @@ -using NzbDrone.Core.Blacklisting; +// Blacklist has been deprecated for blocklist. +using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Datastore; +using Sonarr.Api.V3.Blocklist; using Sonarr.Http; using Sonarr.Http.Extensions; namespace Sonarr.Api.V3.Blacklist { - public class BlacklistModule : SonarrRestModule + public class BlacklistModule : SonarrRestModule { - private readonly IBlacklistService _blacklistService; + private readonly BlocklistService _blocklistService; - public BlacklistModule(IBlacklistService blacklistService) + public BlacklistModule(BlocklistService blocklistService) { - _blacklistService = blacklistService; - GetResourcePaged = GetBlacklist; - DeleteResource = DeleteBlacklist; + _blocklistService = blocklistService; + GetResourcePaged = Blocklist; + DeleteResource = DeleteBlockList; Delete("/bulk", x => Remove()); } - private PagingResource GetBlacklist(PagingResource pagingResource) + private PagingResource Blocklist(PagingResource pagingResource) { - var pagingSpec = pagingResource.MapToPagingSpec("date", SortDirection.Descending); + var pagingSpec = pagingResource.MapToPagingSpec("date", SortDirection.Descending); - return ApplyToPage(_blacklistService.Paged, pagingSpec, BlacklistResourceMapper.MapToResource); + return ApplyToPage(_blocklistService.Paged, pagingSpec, BlocklistResourceMapper.MapToResource); } - private void DeleteBlacklist(int id) + private void DeleteBlockList(int id) { - _blacklistService.Delete(id); + _blocklistService.Delete(id); } private object Remove() { - var resource = Request.Body.FromJson(); + var resource = Request.Body.FromJson(); - _blacklistService.Delete(resource.Ids); + _blocklistService.Delete(resource.Ids); return new object(); } } -} \ No newline at end of file +} diff --git a/src/Sonarr.Api.V3/Blacklist/BlacklistBulkResource.cs b/src/Sonarr.Api.V3/Blocklist/BlocklistBulkResource.cs similarity index 57% rename from src/Sonarr.Api.V3/Blacklist/BlacklistBulkResource.cs rename to src/Sonarr.Api.V3/Blocklist/BlocklistBulkResource.cs index 7843b6251..f9b372a72 100644 --- a/src/Sonarr.Api.V3/Blacklist/BlacklistBulkResource.cs +++ b/src/Sonarr.Api.V3/Blocklist/BlocklistBulkResource.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; -namespace Sonarr.Api.V3.Blacklist +namespace Sonarr.Api.V3.Blocklist { - public class BlacklistBulkResource + public class BlocklistBulkResource { public List Ids { get; set; } } diff --git a/src/Sonarr.Api.V3/Blocklist/BlocklistModule.cs b/src/Sonarr.Api.V3/Blocklist/BlocklistModule.cs new file mode 100644 index 000000000..ed0d28528 --- /dev/null +++ b/src/Sonarr.Api.V3/Blocklist/BlocklistModule.cs @@ -0,0 +1,42 @@ +using NzbDrone.Core.Blocklisting; +using NzbDrone.Core.Datastore; +using Sonarr.Http; +using Sonarr.Http.Extensions; + +namespace Sonarr.Api.V3.Blocklist +{ + public class BlocklistModule : SonarrRestModule + { + private readonly BlocklistService _blocklistService; + + public BlocklistModule(BlocklistService blocklistService) + { + _blocklistService = blocklistService; + GetResourcePaged = Blocklist; + DeleteResource = DeleteBlockList; + + Delete("/bulk", x => Remove()); + } + + private PagingResource Blocklist(PagingResource pagingResource) + { + var pagingSpec = pagingResource.MapToPagingSpec("date", SortDirection.Descending); + + return ApplyToPage(_blocklistService.Paged, pagingSpec, BlocklistResourceMapper.MapToResource); + } + + private void DeleteBlockList(int id) + { + _blocklistService.Delete(id); + } + + private object Remove() + { + var resource = Request.Body.FromJson(); + + _blocklistService.Delete(resource.Ids); + + return new object(); + } + } +} diff --git a/src/Sonarr.Api.V3/Blacklist/BlacklistResource.cs b/src/Sonarr.Api.V3/Blocklist/BlocklistResource.cs similarity index 82% rename from src/Sonarr.Api.V3/Blacklist/BlacklistResource.cs rename to src/Sonarr.Api.V3/Blocklist/BlocklistResource.cs index 90ef3becf..b6cb9f77d 100644 --- a/src/Sonarr.Api.V3/Blacklist/BlacklistResource.cs +++ b/src/Sonarr.Api.V3/Blocklist/BlocklistResource.cs @@ -6,9 +6,9 @@ using NzbDrone.Core.Qualities; using Sonarr.Api.V3.Series; using Sonarr.Http.REST; -namespace Sonarr.Api.V3.Blacklist +namespace Sonarr.Api.V3.Blocklist { - public class BlacklistResource : RestResource + public class BlocklistResource : RestResource { public int SeriesId { get; set; } public List EpisodeIds { get; set; } @@ -23,13 +23,13 @@ namespace Sonarr.Api.V3.Blacklist public SeriesResource Series { get; set; } } - public static class BlacklistResourceMapper + public static class BlocklistResourceMapper { - public static BlacklistResource MapToResource(this NzbDrone.Core.Blacklisting.Blacklist model) + public static BlocklistResource MapToResource(this NzbDrone.Core.Blocklisting.Blocklist model) { if (model == null) return null; - return new BlacklistResource + return new BlocklistResource { Id = model.Id, diff --git a/src/Sonarr.Api.V3/Queue/QueueActionModule.cs b/src/Sonarr.Api.V3/Queue/QueueActionModule.cs index 7796a286f..73098fc46 100644 --- a/src/Sonarr.Api.V3/Queue/QueueActionModule.cs +++ b/src/Sonarr.Api.V3/Queue/QueueActionModule.cs @@ -81,9 +81,11 @@ namespace Sonarr.Api.V3.Queue private object Remove(int id) { var removeFromClient = Request.GetBooleanQueryParameter("removeFromClient", true); - var blacklist = Request.GetBooleanQueryParameter("blacklist"); - var trackedDownload = Remove(id, removeFromClient, blacklist); + // blacklist maintained for backwards compatability, UI uses blocklist. + var blocklist = Request.GetBooleanQueryParameter("blocklist") ? Request.GetBooleanQueryParameter("blocklist") : Request.GetBooleanQueryParameter("blacklist"); + + var trackedDownload = Remove(id, removeFromClient, blocklist); if (trackedDownload != null) { @@ -96,14 +98,16 @@ namespace Sonarr.Api.V3.Queue private object Remove() { var removeFromClient = Request.GetBooleanQueryParameter("removeFromClient", true); - var blacklist = Request.GetBooleanQueryParameter("blacklist"); + + // blacklist maintained for backwards compatability, UI uses blocklist. + var blocklist = Request.GetBooleanQueryParameter("blocklist") ? Request.GetBooleanQueryParameter("blocklist") : Request.GetBooleanQueryParameter("blacklist"); var resource = Request.Body.FromJson(); var trackedDownloadIds = new List(); foreach (var id in resource.Ids) { - var trackedDownload = Remove(id, removeFromClient, blacklist); + var trackedDownload = Remove(id, removeFromClient, blocklist); if (trackedDownload != null) { @@ -116,7 +120,7 @@ namespace Sonarr.Api.V3.Queue return new object(); } - private TrackedDownload Remove(int id, bool removeFromClient, bool blacklist) + private TrackedDownload Remove(int id, bool removeFromClient, bool blocklist) { var pendingRelease = _pendingReleaseService.FindPendingQueueItem(id); @@ -146,12 +150,12 @@ namespace Sonarr.Api.V3.Queue downloadClient.RemoveItem(trackedDownload.DownloadItem, true); } - if (blacklist) + if (blocklist) { _failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId); } - if (!removeFromClient && !blacklist) + if (!removeFromClient && !blocklist) { if (!_ignoredDownloadService.IgnoreDownload(trackedDownload)) {