fix: reminder validation + remove dead reminder_at in EventPlannerService

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main
boban 2026-04-19 22:39:52 +02:00
parent b88093ed46
commit ee795237db
2 changed files with 20 additions and 21 deletions

View File

@ -46,14 +46,15 @@ class EventController extends Controller
'is_all_day' => 'boolean', 'is_all_day' => 'boolean',
'notes' => 'nullable|string', 'notes' => 'nullable|string',
'color' => 'nullable|string|max:7', 'color' => 'nullable|string|max:7',
'reminders' => 'nullable|array', 'reminders' => 'nullable|array',
'reminders.*.type' => 'required|in:before,time_of_day,day_before', 'reminders.*.type' => 'required|in:before,time_of_day,day_before,specific',
'reminders.*.minutes' => 'nullable|integer|min:1', 'reminders.*.minutes' => 'nullable|integer|min:1',
'reminders.*.time' => 'nullable|date_format:H:i', 'reminders.*.time' => 'nullable|date_format:H:i',
'recurrence' => 'nullable|in:daily,weekly,monthly,yearly', 'reminders.*.datetime' => 'nullable|date',
'recurrence_end_date' => 'nullable|date', 'recurrence' => 'nullable|in:daily,weekly,monthly,yearly',
'attendee_ids' => 'nullable|array', 'recurrence_end_date' => 'nullable|date',
'attendee_ids.*' => 'uuid|exists:contacts,id', 'attendee_ids' => 'nullable|array',
'attendee_ids.*' => 'uuid|exists:contacts,id',
]); ]);
$event = $request->user()->events()->create($validated); $event = $request->user()->events()->create($validated);
@ -79,14 +80,15 @@ class EventController extends Controller
'is_all_day' => 'boolean', 'is_all_day' => 'boolean',
'notes' => 'nullable|string', 'notes' => 'nullable|string',
'color' => 'nullable|string|max:7', 'color' => 'nullable|string|max:7',
'reminders' => 'nullable|array', 'reminders' => 'nullable|array',
'reminders.*.type' => 'required|in:before,time_of_day,day_before', 'reminders.*.type' => 'required|in:before,time_of_day,day_before,specific',
'reminders.*.minutes' => 'nullable|integer|min:1', 'reminders.*.minutes' => 'nullable|integer|min:1',
'reminders.*.time' => 'nullable|date_format:H:i', 'reminders.*.time' => 'nullable|date_format:H:i',
'recurrence' => 'nullable|in:daily,weekly,monthly,yearly', 'reminders.*.datetime' => 'nullable|date',
'recurrence_end_date' => 'nullable|date', 'recurrence' => 'nullable|in:daily,weekly,monthly,yearly',
'attendee_ids' => 'nullable|array', 'recurrence_end_date' => 'nullable|date',
'attendee_ids.*' => 'uuid|exists:contacts,id', 'attendee_ids' => 'nullable|array',
'attendee_ids.*' => 'uuid|exists:contacts,id',
]); ]);
$event->update($validated); $event->update($validated);

View File

@ -134,11 +134,8 @@ class EventPlannerService
$eventData['notes'] = $data['notes']; $eventData['notes'] = $data['notes'];
} }
if (!empty($data['reminder_at'])) { if (!empty($data['color'])) {
try { $eventData['color'] = $data['color'];
$eventData['reminder_at'] = Carbon::parse($data['reminder_at'])->utc();
$eventData['reminder_sent'] = false;
} catch (\Throwable) {}
} }
$event = Event::create($eventData); $event = Event::create($eventData);