slug === PlatformSystemRoles::SLUG_SUPER_ADMIN) { return ApiMessage::errorResponse( $request, 'admin.role_super_admin_metadata_fixed', ErrorCode::ValidationFailed->value, null, 422, ); } $before = AdminRoleApiPresenter::item($admin_role); $payload = []; foreach (['slug', 'name', 'description', 'status'] as $field) { if ($request->has($field)) { $payload[$field] = $request->validated($field); } } if (isset($payload['slug'])) { $payload['code'] = $payload['slug']; } $admin_role->fill($payload); $admin_role->save(); $admin_role->refresh(); AuditLogger::recordForAdmin( $request->lotteryAdmin(), $request, 'system', 'admin_role.update', 'admin_role', (string) $admin_role->id, $before, AdminRoleApiPresenter::item($admin_role), ); return ApiResponse::success(AdminRoleApiPresenter::item($admin_role)); } }