<?php

declare(strict_types=1);

namespace Acms\Services\Facades;

/**
 * Class RateLimiter
 *
 * POST の連投防止を担う {@see \Acms\Services\Security\PostRateLimiter} へのアクセスポイント。
 *
 * @method static void logLockPost(string $lockKey) 試行を記録する
 * @method static bool validateLockPost(string $lockKey, int $trialTime = 5, int $trialNumber = 5, int $lockTime = 15, bool $remoteAddr = true) 試行回数の上限内か判定し、超過していればロックする
 */
class RateLimiter extends Facade
{
    protected static $instance;

    /**
     * @return string
     */
    protected static function getServiceAlias()
    {
        return 'security.post-rate-limiter';
    }

    /**
     * @return bool
     */
    protected static function isCache()
    {
        return true;
    }
}
