+ $validated = $this->validate($request, [
+ 'name' => ['required', 'max:150'],
+ 'endpoint' => ['required', 'url', 'max:500'],
+ 'events' => ['required', 'array'],
+ 'active' => ['required'],
+ 'timeout' => ['required', 'integer', 'min:1', 'max:600'],
+ ]);
+
+ $webhook = new Webhook($validated);
+ $webhook->active = $validated['active'] === 'true';
+ $webhook->save();
+ $webhook->updateTrackedEvents(array_values($validated['events']));
+