<?php

namespace Kylin\Activity;

use Illuminate\Contracts\Config\Repository;

/**
 * 活动日志开关状态
 *
 * 控制活动日志的全局启用/禁用状态。
 * 可通过配置 kylin-activity.enabled 设置为 false 来全局禁用日志记录。
 * 支持运行时动态切换，如：
 *  - 测试环境禁用日志
 *  - 特定操作临时禁用日志
 */
class ActivityLogStatus
{
    /** 日志是否启用 */
    protected bool $enabled = true;

    /**
     * @param  Repository  $config  配置仓库
     */
    public function __construct(Repository $config)
    {
        $this->enabled = (bool) ($config['kylin-activity.enabled'] ?? true);
    }

    /**
     * 启用日志记录
     */
    public function enable(): bool
    {
        return $this->enabled = true;
    }

    /**
     * 禁用日志记录
     */
    public function disable(): bool
    {
        return $this->enabled = false;
    }

    /**
     * 检查日志是否已禁用
     */
    public function disabled(): bool
    {
        return $this->enabled === false;
    }
}
