/* ===================================================================== routes/auth.js — OAuth-Start/Callback für Google + PayPal-Login. 1:1 portiert aus functions/api/auth/google/{start,callback}.js + functions/api/auth/paypal/{start,callback}.js (beide Anbieter nutzen dieselbe gemeinsame Logik, siehe lib/oauth-handlers.js). ===================================================================== */ import { Router } from "express"; import { starteOAuth, verarbeiteOAuthCallback } from "../lib/oauth-handlers.js"; export const authRouter = Router(); /* wrap() ergänzt 05.08.2026: Express 4 fängt Fehler aus async-Handlern nicht selbst ab — ohne das würde z.B. ein Netzwerkfehler beim Token-Austausch mit Google/PayPal den ganzen Shop beenden. */ const wrap = (fn) => (req, res, next) => Promise.resolve(fn(req, res, next)).catch(next); authRouter.get("/api/auth/google/start", wrap((req, res) => starteOAuth(req, res, "google"))); authRouter.get("/api/auth/google/callback", wrap((req, res) => verarbeiteOAuthCallback(req, res, "google"))); authRouter.get("/api/auth/paypal/start", wrap((req, res) => starteOAuth(req, res, "paypal"))); authRouter.get("/api/auth/paypal/callback", wrap((req, res) => verarbeiteOAuthCallback(req, res, "paypal")));