- Neue CalDAV-Route mit PROPFIND und GET-Endpoints - ICS-Format-Generator für Buchungsdaten - Token-basierte Authentifizierung für CalDAV-Zugriff - Admin-Interface mit CalDAV-Link-Generator - Schritt-für-Schritt-Anleitung für Kalender-Apps - 24h-Token-Ablaufzeit für Sicherheit - Unterstützung für Outlook, Google Calendar, Apple Calendar, Thunderbird Fixes: Admin kann jetzt Terminkalender in externen Apps abonnieren
14 lines
529 B
JavaScript
14 lines
529 B
JavaScript
import { createKV } from "./create-kv.js";
|
|
export const sessionsKV = createKV("sessions");
|
|
export const usersKV = createKV("users");
|
|
export async function assertOwner(sessionId) {
|
|
const session = await sessionsKV.getItem(sessionId);
|
|
if (!session)
|
|
throw new Error("Invalid session");
|
|
if (new Date(session.expiresAt) < new Date())
|
|
throw new Error("Session expired");
|
|
const user = await usersKV.getItem(session.userId);
|
|
if (!user || user.role !== "owner")
|
|
throw new Error("Forbidden");
|
|
}
|