require flag to set the default account after calling getSync
This commit is contained in:
parent
44b6373ada
commit
d1dba98bb6
3 changed files with 63 additions and 67 deletions
44
dist/bundle.es.js
vendored
44
dist/bundle.es.js
vendored
|
@ -2375,34 +2375,18 @@ function doSetDefaultAccount(success, failure) {
|
|||
});
|
||||
};
|
||||
}
|
||||
function doSetSync(oldHash, newHash, data, password) {
|
||||
function doSetSync(oldHash, newHash, data) {
|
||||
return dispatch => {
|
||||
dispatch({
|
||||
type: SET_SYNC_STARTED
|
||||
});
|
||||
Lbryio.call('sync', 'set', {
|
||||
return Lbryio.call('sync', 'set', {
|
||||
old_hash: oldHash,
|
||||
new_hash: newHash,
|
||||
data
|
||||
}, 'post').then(response => {
|
||||
if (!response.hash) {
|
||||
return dispatch({
|
||||
type: SET_SYNC_FAILED,
|
||||
data: {
|
||||
error: 'No hash returned for sync/set.'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (oldHash && newHash !== oldHash) {
|
||||
dispatch(doSetDefaultAccount(() => {
|
||||
if (password !== undefined) {
|
||||
lbryRedux.Lbry.account_unlock({
|
||||
password
|
||||
});
|
||||
dispatch(lbryRedux.doFetchChannelListMine());
|
||||
}
|
||||
}));
|
||||
throw Error('No hash returned for sync/set.');
|
||||
}
|
||||
|
||||
return dispatch({
|
||||
|
@ -2421,7 +2405,7 @@ function doSetSync(oldHash, newHash, data, password) {
|
|||
});
|
||||
};
|
||||
}
|
||||
function doGetSync(password = '') {
|
||||
function doGetSync(password = '', shouldSetDefaultAccount) {
|
||||
return dispatch => {
|
||||
dispatch({
|
||||
type: GET_SYNC_STARTED
|
||||
|
@ -2436,7 +2420,7 @@ function doGetSync(password = '') {
|
|||
data.syncData = response.data;
|
||||
data.hasSyncedWallet = true;
|
||||
|
||||
if (response.changed) {
|
||||
if (response.changed || shouldSetDefaultAccount) {
|
||||
return lbryRedux.Lbry.sync_apply({
|
||||
password,
|
||||
data: response.data
|
||||
|
@ -2449,9 +2433,23 @@ function doGetSync(password = '') {
|
|||
data
|
||||
});
|
||||
|
||||
if (walletHash !== syncHash) {
|
||||
if (walletHash !== syncHash || shouldSetDefaultAccount) {
|
||||
// different local hash, need to synchronise
|
||||
dispatch(doSetSync(syncHash, walletHash, walletData, password));
|
||||
dispatch(doSetSync(syncHash, walletHash, walletData));
|
||||
|
||||
if (shouldSetDefaultAccount) {
|
||||
dispatch(doSetDefaultAccount(() => {
|
||||
lbryRedux.Lbry.status().then(status => {
|
||||
if (status.wallet.is_locked) {
|
||||
lbryRedux.Lbry.account_unlock({
|
||||
password
|
||||
});
|
||||
}
|
||||
|
||||
dispatch(lbryRedux.doFetchChannelListMine());
|
||||
});
|
||||
}));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
43
dist/bundle.js
vendored
43
dist/bundle.js
vendored
|
@ -3938,34 +3938,18 @@ function doSetDefaultAccount(success, failure) {
|
|||
});
|
||||
};
|
||||
}
|
||||
function doSetSync(oldHash, newHash, data, password) {
|
||||
function doSetSync(oldHash, newHash, data) {
|
||||
return function (dispatch) {
|
||||
dispatch({
|
||||
type: constants_action_types__WEBPACK_IMPORTED_MODULE_0__["SET_SYNC_STARTED"]
|
||||
});
|
||||
lbryio__WEBPACK_IMPORTED_MODULE_1__["default"].call('sync', 'set', {
|
||||
return lbryio__WEBPACK_IMPORTED_MODULE_1__["default"].call('sync', 'set', {
|
||||
old_hash: oldHash,
|
||||
new_hash: newHash,
|
||||
data: data
|
||||
}, 'post').then(function (response) {
|
||||
if (!response.hash) {
|
||||
return dispatch({
|
||||
type: constants_action_types__WEBPACK_IMPORTED_MODULE_0__["SET_SYNC_FAILED"],
|
||||
data: {
|
||||
error: 'No hash returned for sync/set.'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (oldHash && newHash !== oldHash) {
|
||||
dispatch(doSetDefaultAccount(function () {
|
||||
if (password !== undefined) {
|
||||
lbry_redux__WEBPACK_IMPORTED_MODULE_2__["Lbry"].account_unlock({
|
||||
password: password
|
||||
});
|
||||
dispatch(Object(lbry_redux__WEBPACK_IMPORTED_MODULE_2__["doFetchChannelListMine"])());
|
||||
}
|
||||
}));
|
||||
throw Error('No hash returned for sync/set.');
|
||||
}
|
||||
|
||||
return dispatch({
|
||||
|
@ -3986,6 +3970,7 @@ function doSetSync(oldHash, newHash, data, password) {
|
|||
}
|
||||
function doGetSync() {
|
||||
var password = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
||||
var shouldSetDefaultAccount = arguments.length > 1 ? arguments[1] : undefined;
|
||||
return function (dispatch) {
|
||||
dispatch({
|
||||
type: constants_action_types__WEBPACK_IMPORTED_MODULE_0__["GET_SYNC_STARTED"]
|
||||
|
@ -4000,7 +3985,7 @@ function doGetSync() {
|
|||
data.syncData = response.data;
|
||||
data.hasSyncedWallet = true;
|
||||
|
||||
if (response.changed) {
|
||||
if (response.changed || shouldSetDefaultAccount) {
|
||||
return lbry_redux__WEBPACK_IMPORTED_MODULE_2__["Lbry"].sync_apply({
|
||||
password: password,
|
||||
data: response.data
|
||||
|
@ -4012,9 +3997,23 @@ function doGetSync() {
|
|||
data: data
|
||||
});
|
||||
|
||||
if (walletHash !== syncHash) {
|
||||
if (walletHash !== syncHash || shouldSetDefaultAccount) {
|
||||
// different local hash, need to synchronise
|
||||
dispatch(doSetSync(syncHash, walletHash, walletData, password));
|
||||
dispatch(doSetSync(syncHash, walletHash, walletData));
|
||||
|
||||
if (shouldSetDefaultAccount) {
|
||||
dispatch(doSetDefaultAccount(function () {
|
||||
lbry_redux__WEBPACK_IMPORTED_MODULE_2__["Lbry"].status().then(function (status) {
|
||||
if (status.wallet.is_locked) {
|
||||
lbry_redux__WEBPACK_IMPORTED_MODULE_2__["Lbry"].account_unlock({
|
||||
password: password
|
||||
});
|
||||
}
|
||||
|
||||
dispatch(Object(lbry_redux__WEBPACK_IMPORTED_MODULE_2__["doFetchChannelListMine"])());
|
||||
});
|
||||
}));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -51,30 +51,16 @@ export function doSetDefaultAccount(success, failure) {
|
|||
};
|
||||
}
|
||||
|
||||
export function doSetSync(oldHash, newHash, data, password) {
|
||||
export function doSetSync(oldHash, newHash, data) {
|
||||
return dispatch => {
|
||||
dispatch({
|
||||
type: ACTIONS.SET_SYNC_STARTED,
|
||||
});
|
||||
|
||||
Lbryio.call('sync', 'set', { old_hash: oldHash, new_hash: newHash, data }, 'post')
|
||||
return Lbryio.call('sync', 'set', { old_hash: oldHash, new_hash: newHash, data }, 'post')
|
||||
.then(response => {
|
||||
if (!response.hash) {
|
||||
return dispatch({
|
||||
type: ACTIONS.SET_SYNC_FAILED,
|
||||
data: { error: 'No hash returned for sync/set.' },
|
||||
});
|
||||
}
|
||||
|
||||
if (oldHash && newHash !== oldHash) {
|
||||
dispatch(
|
||||
doSetDefaultAccount(() => {
|
||||
if (password !== undefined) {
|
||||
Lbry.account_unlock({ password });
|
||||
dispatch(doFetchChannelListMine());
|
||||
}
|
||||
})
|
||||
);
|
||||
throw Error('No hash returned for sync/set.');
|
||||
}
|
||||
|
||||
return dispatch({
|
||||
|
@ -91,7 +77,7 @@ export function doSetSync(oldHash, newHash, data, password) {
|
|||
};
|
||||
}
|
||||
|
||||
export function doGetSync(password = '') {
|
||||
export function doGetSync(password = '', shouldSetDefaultAccount) {
|
||||
return dispatch => {
|
||||
dispatch({
|
||||
type: ACTIONS.GET_SYNC_STARTED,
|
||||
|
@ -105,19 +91,32 @@ export function doGetSync(password = '') {
|
|||
data.syncHash = syncHash;
|
||||
data.syncData = response.data;
|
||||
data.hasSyncedWallet = true;
|
||||
|
||||
if (response.changed) {
|
||||
if (response.changed || shouldSetDefaultAccount) {
|
||||
return Lbry.sync_apply({ password, data: response.data }).then(
|
||||
({ hash: walletHash, data: walletData }) => {
|
||||
dispatch({ type: ACTIONS.GET_SYNC_COMPLETED, data });
|
||||
|
||||
if (walletHash !== syncHash) {
|
||||
if (walletHash !== syncHash || shouldSetDefaultAccount) {
|
||||
// different local hash, need to synchronise
|
||||
dispatch(doSetSync(syncHash, walletHash, walletData, password));
|
||||
dispatch(doSetSync(syncHash, walletHash, walletData));
|
||||
|
||||
if (shouldSetDefaultAccount) {
|
||||
dispatch(
|
||||
doSetDefaultAccount(() => {
|
||||
Lbry.status().then(status => {
|
||||
if (status.wallet.is_locked) {
|
||||
Lbry.account_unlock({ password });
|
||||
}
|
||||
dispatch(doFetchChannelListMine());
|
||||
});
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
dispatch({ type: ACTIONS.GET_SYNC_COMPLETED, data });
|
||||
})
|
||||
.catch(() => {
|
||||
|
|
Loading…
Reference in a new issue