fix(build): entferne Context-Header-Nutzung aus bookings.create (RateLimit nur per E-Mail)
This commit is contained in:
@@ -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,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user