WIP Добавил обновление Контактов
This commit is contained in:
19
src/shared/utils/rulesInputs.js
Normal file
19
src/shared/utils/rulesInputs.js
Normal file
@@ -0,0 +1,19 @@
|
||||
export function ruleNotValue(val, text) {
|
||||
return val || text || false;
|
||||
}
|
||||
|
||||
export function ruleLengthValue(val, minLength, text) {
|
||||
return (val && val.length === minLength) || text || false;
|
||||
}
|
||||
|
||||
export function ruleEmailValue(val, text) {
|
||||
return (
|
||||
(val &&
|
||||
val.length < 100 &&
|
||||
val.includes("@") &&
|
||||
val.match(/@(?=\S+)/) &&
|
||||
val.match(/(?<=\S+)@/)) ||
|
||||
text ||
|
||||
false
|
||||
);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user