diff --git a/app/Http/Controllers/MainController.php b/app/Http/Controllers/MainController.php
index 63ecf4a..8ce0863 100644
--- a/app/Http/Controllers/MainController.php
+++ b/app/Http/Controllers/MainController.php
@@ -29,6 +29,7 @@ use DateTime;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
+use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
@@ -36,6 +37,7 @@ class MainController extends Controller
{
public function index()
{
+
$admissionCampaign = $this->getAdmissionCampaign();
$educations = $this->getEducationsData();
$sliders = $this->getActiveSliders();
diff --git a/app/Jobs/ImportApiDataPost.php b/app/Jobs/ImportApiDataPost.php
index 251eae5..532d8e5 100644
--- a/app/Jobs/ImportApiDataPost.php
+++ b/app/Jobs/ImportApiDataPost.php
@@ -31,58 +31,77 @@ class ImportApiDataPost implements ShouldQueue
public function handle()
{
try {
+ // Получаем первую страницу данных
$response = Http::get('https://crawdad-fresh-bream.ngrok-free.app/api/posts')->object();
+ $last_page = $response->last_page;
+ Log::info('Last page: ' . $last_page);
- foreach ($response as $item) {
- try {
- $postResponse = Http::get('https://crawdad-fresh-bream.ngrok-free.app/api/posts/' . $item->ID)->object();
+ // Проходим по всем страницам
+ for ($page = 1; $page <= $last_page; $page++) {
+ $response = Http::get("https://crawdad-fresh-bream.ngrok-free.app/api/posts?page=$page")->object();
+ $results = $response->data;
- // Проверка на наличие данных
- if (!isset($postResponse->post)) {
- Log::error('Post data not found for ID: ' . $item->ID);
- continue;
- }
+ // Обрабатываем каждую запись
+ foreach ($results as $post) {
+ Log::info('Processing post ID: ' . $post->ID);
- $postData = $postResponse->post;
- $images = $postResponse->images ?? []; // Обработка отсутствия изображений
+ try {
+ // Получаем массив изображений
+ $images = $post->images ?? []; // Обработка отсутствия изображений
+ $imagePaths = [];
- // Обработка изображения
- $imagePaths = [];
- foreach ($images as $image) {
- $imagePaths[] = 'upload/' . $image->SUBDIR . '/' . $image->FILE_NAME;
- }
+ // Проверяем, есть ли изображения
+ if (empty($images)) {
+ Log::warning('No images found for post ID: ' . $post->ID);
+ } else {
+ // Проходимся по массиву изображений
+ foreach ($images as $image) {
+ // Проверяем наличие необходимых свойств
+ if (isset($image->SUBDIR) && isset($image->FILE_NAME)) {
+ $imagePaths[] = 'upload/' . $image->SUBDIR . '/' . $image->FILE_NAME;
+ } else {
+ Log::warning('Image data is incomplete for post ID: ' . $post->ID);
+ }
+ }
+ }
- $content = strip_tags($postData->DETAIL_TEXT, '');
- $contentData = [
- [
- 'type' => 'paragraph',
- 'data' => [
- 'content' => $content,
+ // Логируем пути к изображениям для отладки
+ Log::info('Image paths for post ID ' . $post->ID . ': ' . json_encode($imagePaths));
+
+ // Обработка контента поста
+ $content = strip_tags($post->DETAIL_TEXT, '');
+ $contentData = [
+ [
+ 'type' => 'paragraph',
+ 'data' => [
+ 'content' => $content,
+ ],
],
- ],
- ];
+ ];
- $slug = $this->generateSlug($postData->NAME);
+ // Генерация уникального slug
+ $slug = $this->generateSlug($post->NAME);
- // Создание нового поста
- Post::create([
- 'id' => $postData->ID,
- 'title' => $postData->NAME,
- 'slug' => $slug,
- 'preview_text' => strip_tags($postData->PREVIEW_TEXT),
- 'authors' => array('Без автора'),
- 'content' => $contentData, // Преобразуем в JSON
- 'status' => 'published',
- 'images' => $imagePaths,
- 'search_data' => $content, // Преобразуем в JSON
- 'reading_time' => 2,
- 'user_id' => 1,
- 'publish_at' => $postData->DATE_CREATE,
- 'created_at' => $postData->DATE_CREATE,
- 'updated_at' => $postData->DATE_CREATE,
- ]);
- } catch (\Exception $e) {
- Log::error('Error importing post ID: ' . $item->ID . ' - ' . $e->getMessage());
+ // Создание нового поста
+ Post::create([
+ 'id' => $post->ID,
+ 'title' => $post->NAME,
+ 'slug' => $slug,
+ 'preview_text' => strip_tags($post->PREVIEW_TEXT),
+ 'authors' => ['Без автора'],
+ 'content' => $contentData, // Преобразуем в JSON
+ 'status' => 'published',
+ 'images' => $imagePaths, // Сохраняем пути к изображениям
+ 'search_data' => $content, // Преобразуем в JSON
+ 'reading_time' => 2,
+ 'user_id' => 1,
+ 'publish_at' => $post->DATE_CREATE,
+ 'created_at' => $post->DATE_CREATE,
+ 'updated_at' => $post->DATE_CREATE,
+ ]);
+ } catch (\Exception $e) {
+ Log::error('Error importing post ID: ' . $post->ID . ' - ' . $e->getMessage());
+ }
}
}
} catch (\Exception $e) {