<?php

declare(strict_types=1);

namespace apexl\Io\services;

use apexl\Io\interfaces\TenantResolverInterface;

/**
 * The canonical single-tenant / host-default resolver: always the host
 * (platform-global) scope, the default connection, and a non-system principal.
 *
 * This is the vendor-default every {@code apexl/io-*} package falls back to when
 * no host binding for {@see TenantResolverInterface} exists (see that
 * interface's host-binding pattern). It keeps single-tenant projects entirely
 * unaffected and lets packages stay tenant-primitive-free — a multi-tenant host
 * overrides the binding in its own {@code services.php}.
 */
final class NullTenantResolver implements TenantResolverInterface
{
    public function currentTenantId(): ?int
    {
        return null;
    }

    public function activeConnection(): ?string
    {
        return null;
    }

    public function isSystem(): bool
    {
        return false;
    }
}
