SYNC: Handle error when saving to team files

This commit is contained in:
SPRINX0\prochazka
2025-11-24 17:34:40 +01:00
committed by Diflow
parent 67ee130a9e
commit 5553e3cd8d
4 changed files with 44 additions and 21 deletions

View File

@@ -14,6 +14,8 @@
import { closeCurrentModal, showModal } from './modalTools';
import FormCloudFolderSelect from '../forms/FormCloudFolderSelect.svelte';
import FormCheckboxField from '../forms/FormCheckboxField.svelte';
import { useConfig } from '../utility/metadataLoaders';
import { showSnackbarError } from '../utility/snackbar';
export let data;
export let name;
@@ -24,26 +26,37 @@
export let onSave = undefined;
export let folid;
export let skipLocal = false;
export let defaultTeamFolder = false;
// export let cntid;
const values = writable({ name, cloudFolder: folid ?? '__local' });
const configValue = useConfig();
const values = writable({
name,
cloudFolder: folid ?? '__local',
saveToTeamFolder: !!(getCurrentConfig()?.storageDatabase && defaultTeamFolder),
});
const electron = getElectron();
const handleSubmit = async e => {
const { name, cloudFolder } = e.detail;
if ($values['saveToTeamFolder']) {
const { teamFileId } = await apiCall('team-files/create-new', { fileType: folder, file: name, data });
closeCurrentModal();
if (onSave) {
onSave(name, {
savedFile: name,
savedFolder: folder,
savedFilePath: null,
savedCloudFolderId: null,
savedCloudContentId: null,
savedTeamFileId: teamFileId,
});
const resp = await apiCall('team-files/create-new', { fileType: folder, file: name, data });
if (resp.apiErrorMessage) {
showSnackbarError(resp.apiErrorMessage);
} else if (resp.teamFileId) {
closeCurrentModal();
if (onSave) {
onSave(name, {
savedFile: name,
savedFolder: folder,
savedFilePath: null,
savedCloudFolderId: null,
savedCloudContentId: null,
savedTeamFileId: resp.teamFileId,
});
}
}
} else if (cloudFolder === '__local') {
await apiCall('files/save', { folder, file: name, data, format });
@@ -124,7 +137,7 @@
]}
/>
{/if}
{#if getCurrentConfig().storageDatabase}
{#if $configValue?.storageDatabase}
<FormCheckboxField label="Save to team folder" name="saveToTeamFolder" />
{/if}