WIP Добавил обновление Контактов

This commit is contained in:
DwCay
2023-04-19 18:11:05 +03:00
parent 5baefcc1f8
commit a2898f4b4f
6 changed files with 120 additions and 50 deletions

View File

@@ -1,5 +1,5 @@
import { fetchWrapper } from "../fetchWrapper";
import { removeEmptyFields } from "./changesObjects";
import { removeEmptyFields, checkChangeData } from "./changesObjects";
export function getRequestChangeData(
createData,
@@ -26,3 +26,39 @@ export function getRequestChangeData(
}
return Promise.resolve();
}
export function getRequestArrayData(
initData,
updateData,
updateName,
idUpdateName,
api,
key
) {
const deleteRequests = initData
.filter((el) => !updateData.find((data) => data.id === el.id))
.map((el) => fetchWrapper.del(`${api}/${key}/${el.id}/delete/`));
const requests = updateData.map((el) => {
const requestObj = {
[updateName]: idUpdateName,
...el,
};
delete requestObj.id;
if (!el?.id) {
return fetchWrapper.post(`${api}/${key}/create/`, { ...requestObj });
}
if (
el?.id &&
checkChangeData(
initData.find((obj) => obj.id === el.id),
el
)
) {
return fetchWrapper.post(`${api}/${key}/${el.id}/update/`, {
...requestObj,
});
}
return Promise.resolve();
});
return requests.concat(deleteRequests);
}