<?php

declare(strict_types=1);

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;

class VkBotController extends Controller
{
    public function handle(Request $request)
    {
        // Получаем данные от VK в формате массива
        $data = $request->all();

        // Проверяем тип запроса
        if (! isset($data['type'])) { return response('ok', 200); }

        // 1. Подтверждение сервера для VK (срабатывает один раз)
        if ($data['type'] === 'confirmation') {
            // Замените ЭТУ_СТРОКУ на код из настроек Callback API в VK
            return response('ЭТУ_СТРОКУ', 200)
                ->header('Content-Type', 'text/plain');
        }

        // 2. Получение новой записи на стене (новости)
        if ($data['type'] === 'wall_post_new') {
            $post = $data['object']; // Здесь вся информация о посте

            // Временно запишем в лог (storage/logs/laravel.log), чтобы увидеть структуру
            Log::info('Новый пост от VK:', $post);

            // TODO: Здесь будет код сохранения $post в вашу базу данных

            // VK требует всегда возвращать строку "ok" на любые события
            return response('ok', 200)
                ->header('Content-Type', 'text/plain');
        }
    }
}
