<?php

namespace App\Policies;

use App\Models\Terminal;
use App\Models\User;

class TerminalPolicy
{
    /**
     * 判断用户是否可以查看终端列表
     *
     * @param User $user
     * @return bool
     */
    public function viewAny(User $user): bool
    {
        // 所有已认证用户都可以查看终端列表
        return true;
    }

    /**
     * 判断用户是否可以查看特定终端
     *
     * @param User $user
     * @param Terminal $terminal
     * @return bool
     */
    public function view(User $user, Terminal $terminal): bool
    {
        // 所有已认证用户都可以查看终端详情
        return true;
    }

    /**
     * 判断用户是否可以创建终端
     *
     * @param User $user
     * @return bool
     */
    public function create(User $user): bool
    {
        // 所有已认证用户都可以创建终端
        return true;
    }

    /**
     * 判断用户是否可以更新终端
     *
     * @param User $user
     * @param Terminal $terminal
     * @return bool
     */
    public function update(User $user, Terminal $terminal): bool
    {
        // 所有已认证用户都可以更新终端
        return true;
    }

    /**
     * 判断用户是否可以删除终端
     *
     * @param User $user
     * @param Terminal $terminal
     * @return bool
     */
    public function delete(User $user, Terminal $terminal): bool
    {
        // 所有已认证用户都可以删除终端
        return true;
    }

    /**
     * 判断用户是否可以恢复已删除的终端
     *
     * @param User $user
     * @param Terminal $terminal
     * @return bool
     */
    public function restore(User $user, Terminal $terminal): bool
    {
        // 所有已认证用户都可以恢复终端
        return true;
    }

    /**
     * 判断用户是否可以永久删除终端
     *
     * @param User $user
     * @param Terminal $terminal
     * @return bool
     */
    public function forceDelete(User $user, Terminal $terminal): bool
    {
        // 所有已认证用户都可以永久删除终端
        return true;
    }
}
