feat(backend): guest-facing Wahl overview endpoint + dev seed
GET /api/wahl/guest/overview (guest JWT) returns the open Wahlen for the guest's KC, each with its workshops and the guest's own current priorities (null if not yet submitted) — everything the client needs to render the Wahl form without any LT-only endpoint. Verified end to end against a local Postgres (guest login -> overview -> submit -> re-fetch). prisma/seed-dev.js: minimal dev fixture (one KC "DEV123" + Gemeinde + open Wahl with three workshops). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -69,6 +69,15 @@ export class WahlController {
|
||||
return this.wahl.createForceZuteilung(wahlId, dto.teilnehmerId, dto.workshopId);
|
||||
}
|
||||
|
||||
/// Everything a guest needs to fill in the Wahl: open Wahlen for their KC,
|
||||
/// each with its workshops and the guest's own current priorities (if any).
|
||||
@Get('guest/overview')
|
||||
@UseGuards(AuthGuard('guest'))
|
||||
guestOverview(@Req() req: GuestAuthenticatedRequest) {
|
||||
const guest = req.user!;
|
||||
return this.wahl.guestOverview(guest.kcId, guest.guestId);
|
||||
}
|
||||
|
||||
/// Guests submit their own workshop preferences (guest JWT, not Authentik).
|
||||
@Post(':wahlId/teilnehmer')
|
||||
@UseGuards(AuthGuard('guest'))
|
||||
|
||||
Reference in New Issue
Block a user