Add NocoDB events/RSVPs table config and improve session handling
All checks were successful
Build And Push Image / docker (push) Successful in 3m24s

- Add events and rsvps table ID fields to NocoDB settings dialog
- Replace mock getUserSession with proper SessionManager integration
- Improve type safety with explicit type casting and error handling
- Add comprehensive events system bug analysis documentation
This commit is contained in:
2025-08-12 12:24:16 +02:00
parent e06f639454
commit 67d4d5236b
10 changed files with 289 additions and 122 deletions

View File

@@ -101,6 +101,38 @@
</div>
</v-col>
<v-col cols="12">
<v-text-field
v-model="form.tables.events"
label="Events Table ID"
variant="outlined"
:rules="[rules.required]"
required
placeholder="events-table-id"
:error="hasFieldError('tables.events')"
:error-messages="getFieldError('tables.events')"
/>
<div class="text-caption text-medium-emphasis mt-1">
Configure the table ID for the Events functionality
</div>
</v-col>
<v-col cols="12">
<v-text-field
v-model="form.tables.rsvps"
label="RSVPs Table ID"
variant="outlined"
:rules="[rules.required]"
required
placeholder="rsvps-table-id"
:error="hasFieldError('tables.rsvps')"
:error-messages="getFieldError('tables.rsvps')"
/>
<div class="text-caption text-medium-emphasis mt-1">
Configure the table ID for the Event RSVPs functionality
</div>
</v-col>
<v-col cols="12">
<v-divider class="my-2" />
</v-col>
@@ -217,7 +249,11 @@ const form = ref<NocoDBSettings>({
url: 'https://database.monacousa.org',
apiKey: '',
baseId: '',
tables: { members: '' }
tables: {
members: '',
events: '',
rsvps: ''
}
});
// Error handling
@@ -268,9 +304,13 @@ const loadSettings = async () => {
if (response.success && response.data) {
form.value = { ...response.data };
// Ensure tables object exists
// Ensure tables object exists with all required fields
if (!form.value.tables) {
form.value.tables = { members: '' };
form.value.tables = {
members: '',
events: '',
rsvps: ''
};
}
}
} catch (error: any) {
@@ -363,7 +403,11 @@ const resetForm = () => {
url: 'https://database.monacousa.org',
apiKey: '',
baseId: '',
tables: { members: '' }
tables: {
members: '',
events: '',
rsvps: ''
}
};
clearFieldErrors();
connectionStatus.value = null;