<?php

namespace Planaday\Utility\Endpoints;

use Attribute;
use Planaday\Config\SettingsPluginApi;
use Planaday\Endpoints\DataHandlerEndpoints;
use Planaday\Entities\Booking\BookingPluginApi;
use Planaday\Entities\DatabaseRefresher;
use Planaday\Entities\Voucher\VoucherPluginApi;
use Planaday\Utility\Debug\Log\ErrorLogFileReader;

#[Attribute( Attribute::TARGET_CLASS )]
class ApiController {

	/** @var class-string[] */
	public const REGISTERED_CONTROLLERS = [
		VoucherPluginApi::class,
		SettingsPluginApi::class,
		BookingPluginApi::class,
		DatabaseRefresher::class,
		ErrorLogFileReader::class,
		DataHandlerEndpoints::class
	];

	public function __construct(
		public int $version = 1,
		public ?string $baseRoute = null
	){}
}