mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-15 11:51:30 +00:00
feat: introduce REQUEST_TYPES constant and update item deletion logic (#6244)
- Added REQUEST_TYPES constant to centralize request type definitions. - Updated deleteItem action to filter items based on REQUEST_TYPES and folders. - Modified collection.js to handle REQUEST_TYPES during file resequence operations.
This commit is contained in:
@@ -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
|
||||
});
|
||||
|
||||
1
packages/bruno-app/src/utils/common/constants.js
Normal file
1
packages/bruno-app/src/utils/common/constants.js
Normal file
@@ -0,0 +1 @@
|
||||
export const REQUEST_TYPES = ['http-request', 'graphql-request', 'grpc-request', 'ws-request'];
|
||||
@@ -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 });
|
||||
|
||||
1
packages/bruno-electron/src/utils/constants.js
Normal file
1
packages/bruno-electron/src/utils/constants.js
Normal file
@@ -0,0 +1 @@
|
||||
export const REQUEST_TYPES = ['http-request', 'graphql-request', 'grpc-request', 'ws-request'];
|
||||
Reference in New Issue
Block a user