return DB::transaction(function () use ($input) {
$complaint = new UserOrderComplaint([
'user_order_id' => $input['user_order_id'],
'reason' => $input['reason'],
'status' => $input['status'],
]);
$complaint->save();
// Notify all users with the super_admin role
$superAdmins = User::role('super_admin')->get();
foreach ($superAdmins as $superAdmin) {
Notification::make()
->title('New User Order Complaint')
->body('A new complaint has been submitted.')
->actions([
Action::make('view')
->button()
->url(fn ($complaint): string => UserOrderComplaintResource::getUrl('edit', ['complaint' => $complaint->id])),
])
->sendToDatabase($superAdmin);
event(new DatabaseNotificationsSent($superAdmin));
}
return $complaint;
});
return DB::transaction(function () use ($input) {
$complaint = new UserOrderComplaint([
'user_order_id' => $input['user_order_id'],
'reason' => $input['reason'],
'status' => $input['status'],
]);
$complaint->save();
// Notify all users with the super_admin role
$superAdmins = User::role('super_admin')->get();
foreach ($superAdmins as $superAdmin) {
Notification::make()
->title('New User Order Complaint')
->body('A new complaint has been submitted.')
->actions([
Action::make('view')
->button()
->url(fn ($complaint): string => UserOrderComplaintResource::getUrl('edit', ['complaint' => $complaint->id])),
])
->sendToDatabase($superAdmin);
event(new DatabaseNotificationsSent($superAdmin));
}
return $complaint;
});