refactor: refs #8217 simplify handleResponse and create/update
gitea/salix-front/pipeline/pr-dev This commit is unstable Details

This commit is contained in:
Javier Segarra 2025-04-29 13:45:39 +02:00
parent 6e9d83da1a
commit ae9cb05dda
1 changed files with 12 additions and 16 deletions

View File

@ -233,10 +233,8 @@ async function fetch() {
}
}
async function handleResponse(response, showCreatedNotification = false) {
if (showCreatedNotification) {
notify('globals.dataCreated', 'positive');
}
async function handleResponse(promise) {
const response = await Promise.allSettled([promise]);
updateAndEmit('onDataSaved', {
val: formData.value,
res: response?.data,
@ -247,24 +245,21 @@ async function handleResponse(response, showCreatedNotification = false) {
}
async function create() {
formData.value = trimData(formData.value);
const url = $props.urlCreate;
const response = await Promise.resolve(
$props.saveFn ? $props.saveFn(formData.value) : axios.post(url, formData.value),
);
await handleResponse(response, true);
const promise = $props.saveFn
? $props.saveFn(formData.value)
: axios.post($props.urlCreate, formData.value);
await handleResponse(promise);
notify('globals.dataCreated', 'positive');
}
async function update() {
formData.value = trimData(formData.value);
const body = mapper.value
? mapper.value(originalData.value, formData.value)
: formData.value;
const url = $props.urlUpdate || $props.url || arrayData.store.url;
const response = await Promise.resolve(
$props.saveFn ? $props.saveFn(body) : axios.patch(url, body),
);
await handleResponse(response);
const promise = $props.saveFn ? $props.saveFn(body) : axios.patch(url, body);
await handleResponse(promise);
}
async function save() {
@ -273,7 +268,8 @@ async function save() {
isLoading.value = true;
try {
if ($props.urlCreate != null) {
formData.value = trimData(formData.value);
if ($props.urlCreate) {
await create();
} else {
await update();