Feat background collection update #427

Merged
jessopb merged 3 commits from feat-backgroundCollectionUpdate into master 2021-08-23 16:20:22 +02:00
2 changed files with 60 additions and 36 deletions

20
dist/bundle.es.js vendored
View file

@ -4465,11 +4465,15 @@ function doCollectionPublish(options, localId) {
};
}
function doCollectionPublishUpdate(options) {
return dispatch => {
function doCollectionPublishUpdate(options, isBackgroundUpdate) {
return (dispatch, getState) => {
// TODO: implement one click update
const updateParams = {
const updateParams = isBackgroundUpdate ? {
blocking: true,
claim_id: options.claim_id,
clear_claims: true
} : {
bid: creditsToString(options.bid),
title: options.title,
thumbnail_url: options.thumbnail_url,
@ -4482,13 +4486,17 @@ function doCollectionPublishUpdate(options) {
clear_claims: true
};
if (isBackgroundUpdate && updateParams.claim_id) {
const state = getState();
updateParams['claims'] = makeSelectClaimIdsForCollectionId(updateParams.claim_id)(state);
} else if (options.claims) {
updateParams['claims'] = options.claims;
}
if (options.tags) {
updateParams['tags'] = options.tags.map(tag => tag.name);
}
if (options.claims) {
updateParams['claims'] = options.claims;
}
return new Promise(resolve => {
dispatch({
type: COLLECTION_PUBLISH_UPDATE_STARTED

View file

@ -19,7 +19,10 @@ import { creditsToString } from 'util/format-credits';
import { batchActions } from 'util/batch-actions';
import { createNormalizedClaimSearchKey } from 'util/claim';
import { PAGE_SIZE } from 'constants/claim';
import { selectPendingCollections } from 'redux/selectors/collections';
import {
selectPendingCollections,
makeSelectClaimIdsForCollectionId,
} from 'redux/selectors/collections';
import {
doFetchItemsInCollection,
doFetchItemsInCollections,
@ -828,7 +831,8 @@ export function doCollectionPublish(
};
}
export function doCollectionPublishUpdate(options: {
export function doCollectionPublishUpdate(
options: {
bid?: string,
blocking?: true,
title?: string,
@ -838,8 +842,10 @@ export function doCollectionPublishUpdate(options: {
tags?: Array<Tag>,
languages?: Array<string>,
claims?: Array<string>,
}) {
return (dispatch: Dispatch): Promise<any> => {
},
isBackgroundUpdate?: boolean
) {
return (dispatch: Dispatch, getState: GetState): Promise<any> => {
// TODO: implement one click update
const updateParams: {
@ -853,7 +859,13 @@ export function doCollectionPublishUpdate(options: {
languages?: Array<string>,
claims?: Array<string>,
clear_claims: boolean,
} = {
} = isBackgroundUpdate
? {
blocking: true,
claim_id: options.claim_id,
clear_claims: true,
}
: {
bid: creditsToString(options.bid),
title: options.title,
thumbnail_url: options.thumbnail_url,
@ -866,13 +878,17 @@ export function doCollectionPublishUpdate(options: {
clear_claims: true,
};
if (isBackgroundUpdate && updateParams.claim_id) {
const state = getState();
updateParams['claims'] = makeSelectClaimIdsForCollectionId(updateParams.claim_id)(state);
} else if (options.claims) {
updateParams['claims'] = options.claims;
}
if (options.tags) {
updateParams['tags'] = options.tags.map(tag => tag.name);
}
if (options.claims) {
updateParams['claims'] = options.claims;
}
return new Promise(resolve => {
dispatch({
type: ACTIONS.COLLECTION_PUBLISH_UPDATE_STARTED,