fix: error handling when duplicating documents fails (#3873)

This commit is contained in:
Dan Ribbens
2023-10-25 16:39:11 -04:00
committed by GitHub
parent c4561a4390
commit 435eb6204e

View File

@@ -85,10 +85,13 @@ const Duplicate: React.FC<Props> = ({ id, collection, slug }) => {
}
let duplicateID
let abort = false
if (localization) {
duplicateID = await create(localization.defaultLocale)
let abort = false
if (!duplicateID) {
return
}
await localization.localeCodes
.filter((locale) => locale !== localization.defaultLocale)
@@ -133,9 +136,9 @@ const Duplicate: React.FC<Props> = ({ id, collection, slug }) => {
}
}, Promise.resolve())
if (abort) {
if (abort && duplicateID) {
// delete the duplicate doc to prevent incomplete
await requests.delete(`${serverURL}${api}/${slug}/${id}`, {
await requests.delete(`${serverURL}${api}/${slug}/${duplicateID}`, {
headers: {
'Accept-Language': i18n.language,
},
@@ -145,6 +148,10 @@ const Duplicate: React.FC<Props> = ({ id, collection, slug }) => {
duplicateID = await create()
}
if (!duplicateID) {
return
}
toast.success(
t('successfullyDuplicated', { label: getTranslation(collection.labels.singular, i18n) }),
{ autoClose: 3000 },