mirror of
https://github.com/usebruno/bruno.git
synced 2026-07-07 22:18:33 +00:00
refactor: redux migration - save request
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import each from 'lodash/each';
|
||||
import find from 'lodash/find';
|
||||
import cloneDeep from 'lodash/cloneDeep';
|
||||
|
||||
export const flattenItems = (items = []) => {
|
||||
const flattenedItems = [];
|
||||
@@ -31,4 +32,62 @@ export const findItemInCollection = (collection, itemUid) => {
|
||||
let flattenedItems = flattenItems(collection.items);
|
||||
|
||||
return findItem(flattenedItems, itemUid);
|
||||
}
|
||||
}
|
||||
|
||||
export const cloneItem = (item) => {
|
||||
return cloneDeep(item);
|
||||
};
|
||||
|
||||
export const transformCollectionToSaveToIdb = (collection) => {
|
||||
const copyItems = (sourceItems, destItems) => {
|
||||
each(sourceItems, (si) => {
|
||||
const di = {
|
||||
uid: si.uid,
|
||||
type: si.type
|
||||
};
|
||||
|
||||
// if items is draft, then take data from draft to save
|
||||
if(si.draft) {
|
||||
di.name = si.draft.name;
|
||||
|
||||
if(si.draft.request) {
|
||||
di.request = {
|
||||
url: si.draft.request.url,
|
||||
method: si.draft.request.method,
|
||||
headers: si.draft.request.headers,
|
||||
body: si.draft.request.body
|
||||
};
|
||||
}
|
||||
} else {
|
||||
di.name = si.name;
|
||||
|
||||
if(si.request) {
|
||||
di.request = {
|
||||
url: si.request.url,
|
||||
method: si.request.method,
|
||||
headers: si.request.headers,
|
||||
body: si.request.body
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
destItems.push(di);
|
||||
|
||||
if(si.items && si.items.length) {
|
||||
di.items = [];
|
||||
copyItems(si.items, di.items);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const collectionToSave = {};
|
||||
collectionToSave.name = collection.name;
|
||||
collectionToSave.uid = collection.uid;
|
||||
collectionToSave.userId = collection.userId;
|
||||
collectionToSave.environments = cloneDeep(collection.environments);
|
||||
collectionToSave.items = [];
|
||||
|
||||
copyItems(collection.items, collectionToSave.items);
|
||||
|
||||
return collectionToSave;
|
||||
};
|
||||
@@ -4,7 +4,7 @@ const sendNetworkRequest = async (item) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
if(item.type === 'http-request') {
|
||||
const timeStart = Date.now();
|
||||
sendHttpRequest(item.request)
|
||||
sendHttpRequest(item.draft ? item.draft.request : item.request)
|
||||
.then((response) => {
|
||||
const timeEnd = Date.now();
|
||||
resolve({
|
||||
|
||||
Reference in New Issue
Block a user