user(); if (! $admin instanceof AdminUser) { return ApiResponse::error( trans('admin.unauthenticated', [], $request->lotteryLocale()), ErrorCode::AdminUnauthenticated->value, null, 401, ); } if (! $admin->isSuperAdmin()) { return ApiResponse::error( trans('admin.permission_denied', [], $request->lotteryLocale()), ErrorCode::AdminForbidden->value, ['required_any' => [AdminUser::ROLE_SUPER_ADMIN]], 403, ); } try { $reopened = $this->service->reopenCooldownDraw($draw, $admin, $request->validated('reason') ?? null); } catch (\RuntimeException) { return ApiResponse::error( trans('api.client_error', [], $request->lotteryLocale()), ErrorCode::ClientHttpError->value, null, 409, ); } return ApiResponse::success([ 'draw_no' => $reopened->draw_no, 'status' => $reopened->status, 'is_reopened' => (bool) $reopened->is_reopened, 'current_result_version' => (int) $reopened->current_result_version, 'cooling_end_time' => $reopened->cooling_end_time?->toIso8601String(), ]); } }