<?php
/**
 * BookiFlex Onboarding Extension
 *
 * @package    BookiFlex
 * @subpackage Onboarding
 * @author     BookiFlex
 * @copyright  Copyright (c) 2025 BookiFlex
 * @license    GPL-2.0-or-later
 *
 * @link       https://bookiflex.com
 */

declare(strict_types=1);

namespace BookiFlex\Extensions\Onboarding\Api\Request;

use BookiFlex\Core\Api\Request\AbstractRequest;
use WP_REST_Request;

defined( 'ABSPATH' ) || exit;

/**
 * Onboarding Init Request
 *
 * Request object for onboarding initialization endpoint.
 * No parameters required for initialization.
 *
 * @package BookiFlex\Extensions\Onboarding\Api\Request
 * @since   1.0.0
 */
class OnboardingInitRequest extends AbstractRequest
{
    /**
     * OnboardingInitRequest constructor
     */
    public function __construct()
    {
        // No parameters needed for initialization
    }

    /**
     * Create request from WP REST Request
     *
     * @param  WP_REST_Request $request WordPress REST request
     * @return static
     */
    public static function fromWpRestRequest(WP_REST_Request $request): self
    {
        return new self();
    }

    /**
     * Get validation rules for WP REST API
     *
     * @return array<string, mixed> Validation rules (empty - no parameters required)
     */
    public static function getValidationRules(): array
    {
        // No parameters required for initialization
        return [];
    }
}
