diff --git a/packages/bruno-app/src/providers/ReduxStore/slices/collections/actions.js b/packages/bruno-app/src/providers/ReduxStore/slices/collections/actions.js index eb4f7f3e3..6346bf9dc 100644 --- a/packages/bruno-app/src/providers/ReduxStore/slices/collections/actions.js +++ b/packages/bruno-app/src/providers/ReduxStore/slices/collections/actions.js @@ -1,5 +1,6 @@ import { collectionSchema, environmentSchema, itemSchema } from '@usebruno/schema'; import { parseQueryParams, extractPromptVariables } from '@usebruno/common/utils'; +import { REQUEST_TYPES } from 'utils/common/constants'; import cloneDeep from 'lodash/cloneDeep'; import filter from 'lodash/filter'; import find from 'lodash/find'; @@ -1064,7 +1065,9 @@ export const deleteItem = (itemUid, collectionUid) => (dispatch, getState) => { .then(async () => { // Reorder items in parent directory after deletion if (parentDirectoryItem.items) { - const directoryItemsWithoutDeletedItem = parentDirectoryItem.items.filter((i) => i.uid !== itemUid); + const requestAndFolderTypes = [...REQUEST_TYPES, 'folder']; + const directoryItemsWithOnlyRequestAndFolders = parentDirectoryItem.items.filter((i) => requestAndFolderTypes.includes(i.type)); + const directoryItemsWithoutDeletedItem = directoryItemsWithOnlyRequestAndFolders.filter((i) => i.uid !== itemUid); const reorderedSourceItems = getReorderedItemsInSourceDirectory({ items: directoryItemsWithoutDeletedItem }); diff --git a/packages/bruno-app/src/utils/common/constants.js b/packages/bruno-app/src/utils/common/constants.js new file mode 100644 index 000000000..f21b90b83 --- /dev/null +++ b/packages/bruno-app/src/utils/common/constants.js @@ -0,0 +1 @@ +export const REQUEST_TYPES = ['http-request', 'graphql-request', 'grpc-request', 'ws-request']; diff --git a/packages/bruno-electron/src/ipc/collection.js b/packages/bruno-electron/src/ipc/collection.js index cc93fa503..5c703a61c 100644 --- a/packages/bruno-electron/src/ipc/collection.js +++ b/packages/bruno-electron/src/ipc/collection.js @@ -62,6 +62,7 @@ const { getOAuth2TokenUsingAuthorizationCode, getOAuth2TokenUsingClientCredentia const { getCertsAndProxyConfig } = require('./network/cert-utils'); const collectionWatcher = require('../app/collection-watcher'); const { transformBrunoConfigBeforeSave } = require('../utils/transfomBrunoConfig'); +const { REQUEST_TYPES } = require('../utils/constants'); const environmentSecretsStore = new EnvironmentSecretsStore(); const collectionSecurityStore = new CollectionSecurityStore(); @@ -1023,7 +1024,7 @@ const registerRendererEventHandlers = (mainWindow, watcher, lastOpenedCollection } const content = await stringifyFolder(folderJsonData, { format }); await writeFile(folderRootPath, content); - } else { + } else if (REQUEST_TYPES.includes(item?.type)) { if (fs.existsSync(item.pathname)) { const itemToSave = transformRequestToSaveToFilesystem(item); const content = await stringifyRequestViaWorker(itemToSave, { format }); diff --git a/packages/bruno-electron/src/utils/constants.js b/packages/bruno-electron/src/utils/constants.js new file mode 100644 index 000000000..f21b90b83 --- /dev/null +++ b/packages/bruno-electron/src/utils/constants.js @@ -0,0 +1 @@ +export const REQUEST_TYPES = ['http-request', 'graphql-request', 'grpc-request', 'ws-request'];