diff --git a/src/stores/branch/index.ts b/src/stores/branch/index.ts index a15f81cc..b4055de7 100644 --- a/src/stores/branch/index.ts +++ b/src/stores/branch/index.ts @@ -145,9 +145,14 @@ const useBranchStore = defineStore('api-branch', () => { qrCodeImage?: File | undefined, imageHq?: File | undefined, bank?: BankBook[], + opts?: { + deleteQrCodeImage?: boolean; + indexDeleteQrCodeBank?: number[]; + }, ) { const { ...payload } = data; - const bankPayload = bank?.map(({ branchId, bankQr, ...rest }) => ({ + + const bankPayload = bank?.map(({ branchId, bankQr, bankUrl, ...rest }) => ({ ...rest, })); @@ -159,7 +164,7 @@ const useBranchStore = defineStore('api-branch', () => { }, ); - if (qrCodeImage) { + if (qrCodeImage !== undefined && qrCodeImage !== null) { await api .put(`/branch/${res.data.id}/line-image`, qrCodeImage, { headers: { 'Content-Type': qrCodeImage.type }, @@ -167,6 +172,11 @@ const useBranchStore = defineStore('api-branch', () => { }) .catch((e) => console.error(e)); } + if (opts?.deleteQrCodeImage === true) { + await api + .delete(`/branch/${res.data.id}/line-image`) + .catch((e) => console.error(e)); + } if (imageHq) { await api @@ -177,9 +187,9 @@ const useBranchStore = defineStore('api-branch', () => { .catch((e) => console.error(e)); } - if (res.data.bank && bank) { + if (!!res.data.bank && !!bank) { for (let i = 0; i < bank?.length; i++) { - if (bank[i].bankQr) { + if (bank?.[i].bankQr) { await api .put( `/branch/${res.data.id}/bank-qr/${res.data.bank[i].id}`, @@ -192,6 +202,17 @@ const useBranchStore = defineStore('api-branch', () => { .catch((e) => console.error(e)); } } + + if ( + opts?.indexDeleteQrCodeBank !== undefined && + opts?.indexDeleteQrCodeBank?.length >= 0 + ) { + opts.indexDeleteQrCodeBank.forEach(async (i) => { + await api + .delete(`/branch/${res.data.id}/bank-qr/${res.data.bank[i].id}`) + .catch((e) => console.error(e)); + }); + } } if (!res) return false;