Feat background collection update #427

Merged
jessopb merged 3 commits from feat-backgroundCollectionUpdate into master 2021-08-23 16:20:22 +02:00
Showing only changes of commit e83153804d - Show all commits

View file

@ -19,7 +19,7 @@ import { creditsToString } from 'util/format-credits';
import { batchActions } from 'util/batch-actions'; import { batchActions } from 'util/batch-actions';
import { createNormalizedClaimSearchKey } from 'util/claim'; import { createNormalizedClaimSearchKey } from 'util/claim';
import { PAGE_SIZE } from 'constants/claim'; import { PAGE_SIZE } from 'constants/claim';
import { selectPendingCollections } from 'redux/selectors/collections'; import { selectPendingCollections, makeSelectEditedCollectionForId } from 'redux/selectors/collections';
import { import {
doFetchItemsInCollection, doFetchItemsInCollection,
doFetchItemsInCollections, doFetchItemsInCollections,
@ -838,9 +838,10 @@ export function doCollectionPublishUpdate(options: {
tags?: Array<Tag>, tags?: Array<Tag>,
languages?: Array<string>, languages?: Array<string>,
claims?: Array<string>, claims?: Array<string>,
}) { }, isBackgroundUpdate?: boolean) {
return (dispatch: Dispatch): Promise<any> => { return (dispatch: Dispatch, getState: GetState): Promise<any> => {
// TODO: implement one click update // TODO: implement one click update
const state = getState();
const updateParams: { const updateParams: {
bid?: string, bid?: string,
@ -853,18 +854,28 @@ export function doCollectionPublishUpdate(options: {
languages?: Array<string>, languages?: Array<string>,
claims?: Array<string>, claims?: Array<string>,
clear_claims: boolean, clear_claims: boolean,
} = { } = isBackgroundUpdate
bid: creditsToString(options.bid), ? {
title: options.title, blocking: true,
thumbnail_url: options.thumbnail_url, claim_id: options.claim_id,
description: options.description, clear_claims: true,
tags: [], }
languages: options.languages || [], : {
locations: [], bid: creditsToString(options.bid),
blocking: true, title: options.title,
claim_id: options.claim_id, thumbnail_url: options.thumbnail_url,
clear_claims: true, description: options.description,
}; tags: [],
languages: options.languages || [],
locations: [],
blocking: true,
claim_id: options.claim_id,
clear_claims: true,
};
if (isBackgroundUpdate && updateParams.claim_id) {
updateParams.claims = makeSelectEditedCollectionForId(updateParams.claim_id)(state);
}
if (options.tags) { if (options.tags) {
updateParams['tags'] = options.tags.map(tag => tag.name); updateParams['tags'] = options.tags.map(tag => tag.name);