refactor: redux migration - save request

This commit is contained in:
Anoop M D
2022-03-18 18:38:49 +05:30
parent 038eb47dda
commit 7faff0339b
11 changed files with 160 additions and 166 deletions

View File

@@ -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;
};

View File

@@ -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({