fix(build): entferne Context-Header-Nutzung aus bookings.create (RateLimit nur per E-Mail)

This commit is contained in:
2025-10-01 21:33:27 +02:00
parent 4acb639e66
commit fb30bb6395

View File

@@ -72,26 +72,16 @@ const treatmentsKV = createTreatmentsKV<Treatment>("treatments");
const create = os const create = os
.input(BookingSchema.omit({ id: true, createdAt: true, status: true })) .input(BookingSchema.omit({ id: true, createdAt: true, status: true }))
.handler(async ({ input, context }) => { .handler(async ({ input }) => {
// console.log("Booking create called with input:", { // console.log("Booking create called with input:", {
// ...input, // ...input,
// inspirationPhoto: input.inspirationPhoto ? `[${input.inspirationPhoto.length} chars]` : null // inspirationPhoto: input.inspirationPhoto ? `[${input.inspirationPhoto.length} chars]` : null
// }); // });
try { try {
// Rate limiting check // Rate limiting check (ohne IP, falls Context-Header im Build nicht verfügbar sind)
const headers = context.request?.headers || {};
const headersObj: Record<string, string | undefined> = {};
if (headers) {
// Convert Headers object to plain object
headers.forEach((value: string, key: string) => {
headersObj[key.toLowerCase()] = value;
});
}
const clientIP = getClientIP(headersObj);
const rateLimitResult = checkBookingRateLimit({ const rateLimitResult = checkBookingRateLimit({
ip: clientIP, ip: undefined,
email: input.customerEmail, email: input.customerEmail,
}); });