mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-16 16:07:33 +08:00
sync application settings
This commit is contained in:
@@ -5,6 +5,7 @@ import { useSettingsStore } from './setting.ts';
|
||||
|
||||
import { type WeekDayValue, WeekDay } from '@/core/datetime.ts';
|
||||
import { FiscalYearStart } from '@/core/fiscalyear.ts';
|
||||
import type { ApplicationCloudSetting } from '@/core/setting.ts';
|
||||
|
||||
import {
|
||||
type UserBasicInfo,
|
||||
@@ -252,6 +253,88 @@ export const useUserStore = defineStore('user', () => {
|
||||
});
|
||||
}
|
||||
|
||||
function getUserApplicationCloudSettings(): Promise<ApplicationCloudSetting[] | false> {
|
||||
return new Promise((resolve, reject) => {
|
||||
services.getUserApplicationCloudSettings().then(response => {
|
||||
const data = response.data;
|
||||
|
||||
if (!data || !data.success || !data.result) {
|
||||
resolve(data.result);
|
||||
return;
|
||||
}
|
||||
|
||||
resolve(data.result);
|
||||
}).catch(error => {
|
||||
logger.error('failed to load user synchronized application settings', error);
|
||||
|
||||
if (error.response && error.response.data && error.response.data.errorMessage) {
|
||||
reject({ error: error.response.data });
|
||||
} else if (!error.processed) {
|
||||
reject({ message: 'Unable to retrieve user synchronized application settings' });
|
||||
} else {
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function fullUpdateUserApplicationCloudSettings(enabledSettingKeys: string[]): Promise<boolean> {
|
||||
const settings = settingsStore.createApplicationCloudSettings(enabledSettingKeys);
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
services.updateUserApplicationCloudSettings({
|
||||
settings: settings,
|
||||
fullUpdate: true
|
||||
}).then(response => {
|
||||
const data = response.data;
|
||||
|
||||
if (!data || !data.success || !data.result) {
|
||||
reject({ message: 'Unable to update user synchronized application settings' });
|
||||
return;
|
||||
}
|
||||
|
||||
settingsStore.updateApplicationSyncSettingKeys(enabledSettingKeys);
|
||||
resolve(data.result);
|
||||
}).catch(error => {
|
||||
logger.error('failed to update user synchronized application settings', error);
|
||||
|
||||
if (error.response && error.response.data && error.response.data.errorMessage) {
|
||||
reject({ error: error.response.data });
|
||||
} else if (!error.processed) {
|
||||
reject({ message: 'Unable to update user synchronized application settings' });
|
||||
} else {
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function disableUserApplicationCloudSettings(): Promise<boolean> {
|
||||
return new Promise((resolve, reject) => {
|
||||
services.disableUserApplicationCloudSettings().then(response => {
|
||||
const data = response.data;
|
||||
|
||||
if (!data || !data.success || !data.result) {
|
||||
reject({ message: 'Unable to disable user synchronized application settings' });
|
||||
return;
|
||||
}
|
||||
|
||||
settingsStore.updateApplicationSyncSettingKeys(undefined);
|
||||
resolve(data.result);
|
||||
}).catch(error => {
|
||||
logger.error('failed to disable user synchronized application settings', error);
|
||||
|
||||
if (error.response && error.response.data && error.response.data.errorMessage) {
|
||||
reject({ error: error.response.data });
|
||||
} else if (!error.processed) {
|
||||
reject({ message: 'Unable to disable user synchronized application settings' });
|
||||
} else {
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getUserDataStatistics(): Promise<DataStatisticsResponse> {
|
||||
return new Promise((resolve, reject) => {
|
||||
services.getUserDataStatistics().then(response => {
|
||||
@@ -353,6 +436,9 @@ export const useUserStore = defineStore('user', () => {
|
||||
updateUserTransactionEditScope,
|
||||
updateUserAvatar,
|
||||
removeUserAvatar,
|
||||
getUserApplicationCloudSettings,
|
||||
fullUpdateUserApplicationCloudSettings,
|
||||
disableUserApplicationCloudSettings,
|
||||
getUserDataStatistics,
|
||||
getExportedUserData,
|
||||
getUserAvatarUrl
|
||||
|
||||
Reference in New Issue
Block a user