add new openDatabse function

This commit is contained in:
Adrian Zürcher
2026-02-19 10:50:40 +01:00
parent 6392877dc1
commit ab88acd740
6 changed files with 29 additions and 19 deletions

View File

@@ -130,13 +130,14 @@ import DateDaySelect from 'src/components/DateDaySelect.vue';
import { computed, onMounted, ref } from 'vue';
import { useNotify } from 'src/vueLib/general/useNotify';
import { i18n } from 'src/boot/lang';
import { appName, databaseName } from 'src/vueLib/models/settings';
import { appName } from 'src/vueLib/models/settings';
import type { Amount } from 'src/vueLib/models/report';
import ReportStat from 'src/components/ReportStat.vue';
import type { Group, Groups } from 'src/vueLib/models/group';
import { getLocalPageDefaults, setLocalPageDefaults } from 'src/localstorage/localStorage';
import html2pdf from 'html2pdf.js';
import type { PageDefault } from 'src/vueLib/models/pageDefaults';
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
const filter = ref<string>('');
const group = ref<Group[]>([]);
@@ -168,10 +169,9 @@ const columns = computed(() => [
},
]);
onMounted(() => {
onMounted(async () => {
loading.value = true;
appApi
.post('database/open', { dbPath: databaseName.value })
await openDatabase()
.catch((err) => NotifyResponse(err, 'error'))
.finally(() => {

View File

@@ -0,0 +1,14 @@
import { appApi } from 'src/boot/axios';
import { databaseName, workspace } from '../models/settings';
export async function openDatabase() {
let path = databaseName.value;
if (workspace.value !== '') {
path = workspace.value + '/' + path;
}
return appApi.post('database/open', {
dbPath: path,
create: true,
});
}

View File

@@ -123,13 +123,13 @@ import EditAllDialog from 'src/components/EventEditAllDialog.vue';
import OkDialog from 'src/components/dialog/OkDialog.vue';
import { useNotify } from 'src/vueLib/general/useNotify';
import { useEventTable } from './EventsTable';
import { databaseName } from 'src/vueLib/models/settings';
import { useUserStore } from 'src/vueLib/login/userStore';
import AttendeesTableDialog from '../attendees/AttendeesTableDialog.vue';
import type { Members } from 'src/vueLib/models/member';
import { i18n } from 'src/boot/lang';
import SearchableInput from '../components/SearchableInput.vue';
import TopButtonGroup from '../components/TopButtonGroup.vue';
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
export interface EventDialog {
getSelected: () => Events;
@@ -150,11 +150,10 @@ const user = useUserStore();
const { Events, pagination, loading, columns, updateEvents } = useEventTable();
//load on mounting page
onMounted(() => {
onMounted(async () => {
loading.value = true;
appApi
.post('database/open', { dbPath: databaseName.value, create: true })
await openDatabase()
.then(() => {
updateEvents();
})

View File

@@ -116,7 +116,6 @@ import DialogFrame from 'src/vueLib/dialog/DialogFrame.vue';
import OkDialog from 'src/components/dialog/OkDialog.vue';
import { useNotify } from 'src/vueLib/general/useNotify';
import { useGroupTable } from './GroupTable';
import { databaseName } from 'src/vueLib/models/settings';
import { useUserStore } from 'src/vueLib/login/userStore';
import { i18n } from 'src/boot/lang';
import type { Group, Groups } from 'src/vueLib/models/group';
@@ -124,6 +123,7 @@ import SearchableInput from '../components/SearchableInput.vue';
import TopButtonGroup from '../components/TopButtonGroup.vue';
import { getAllMembers } from '../members/MembersTable';
import type { Members } from 'src/vueLib/models/member';
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
const { NotifyResponse } = useNotify();
const groupDialog = ref();
@@ -147,8 +147,7 @@ onMounted(async () => {
members.value = await getAllMembers();
appApi
.post('database/open', { dbPath: databaseName.value, create: true })
await openDatabase()
.then(() => {
updateGroups().catch((err) => {
NotifyResponse(err, 'error');

View File

@@ -206,7 +206,6 @@ import { useNotify } from 'src/vueLib/general/useNotify';
import { useMemberTable } from './MembersTable';
import UploadDialog from 'src/components/UploadDialog.vue';
import AddToEvent from 'src/components/AddToEvent.vue';
import { databaseName } from 'src/vueLib/models/settings';
import { useUserStore } from 'src/vueLib/login/userStore';
import { i18n } from 'src/boot/lang';
import type { Responsible } from 'src/vueLib/models/responsible';
@@ -216,6 +215,7 @@ import FilterSelect from '../components/FilterSelect.vue';
import TopButtonGroup from '../components/TopButtonGroup.vue';
import { getLocalPageDefaults, setLocalPageDefaults } from 'src/localstorage/localStorage';
import type { PageDefault } from 'src/vueLib/models/pageDefaults';
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
const inProps = defineProps({
addAttendees: { type: Boolean },
@@ -263,7 +263,7 @@ const {
} = useMemberTable();
//load on mounting page
onMounted(() => {
onMounted(async () => {
page.value = 'members';
if (inProps.addAttendees || inProps.addResponsible) {
selectOption.value = true;
@@ -295,8 +295,7 @@ onMounted(() => {
// set custom filter
setNewFilter(selectedColumnFilter.value, ...selectedColumnOptions.value);
appApi
.post('database/open', { dbPath: databaseName.value, create: true })
await openDatabase()
.then(() => {
updateTable().catch((err) => NotifyResponse(err, 'error'));
})

View File

@@ -108,12 +108,12 @@ import type { Members } from 'src/vueLib/models/member';
import OkDialog from 'src/components/dialog/OkDialog.vue';
import { useNotify } from 'src/vueLib/general/useNotify';
import { useResponsibleTable } from './ResponsibleTable';
import { databaseName } from 'src/vueLib/models/settings';
import { useUserStore } from 'src/vueLib/login/userStore';
import { i18n } from 'src/boot/lang';
import type { Responsible, Responsibles } from 'src/vueLib/models/responsible';
import SearchableInput from '../components/SearchableInput.vue';
import TopButtonGroup from '../components/TopButtonGroup.vue';
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
const { NotifyResponse } = useNotify();
const responsibleDialog = ref();
@@ -129,11 +129,10 @@ const { responsibleMember, pagination, loading, columns, updateResponsibles } =
useResponsibleTable();
//load on mounting page
onMounted(() => {
onMounted(async () => {
loading.value = true;
appApi
.post('database/open', { dbPath: databaseName.value, create: true })
await openDatabase()
.then(() => {
updateResponsibles().catch((err) => {
NotifyResponse(err, 'error');