<?php

declare(strict_types=1);

namespace app\models;

use app\models\Account;

/**
 * Связь складов с инстанциями импортов
 */
class WarehouseEdgeImport extends Edge
{
    /**
     * Имя коллекции
     */
    public static function collectionName(): string
    {
        return 'warehouse_edge_import';
    }

    /**
     * Поиск по складу
     *
     * @param Warehouse $warehouse Склад
     * @param int $limit Ограничение по максимальному количеству
     *
     * @return array Связи склада и инстанций поставок
     *
     * @deprecated Бесполезно
     */
    public static function searchByWarehouse(Warehouse $warehouse, int $limit = 1): array
    {
        return static::find()->where(['_from' => $warehouse->readId()])->limit($limit)->all();
    }

    /**
     * Поиск по инстанции импорта
     *
     * @param Import $import Инстанция импорта
     *
     * @return array Связи склада и инстанций поставок
     */
    public static function searchByImport(Import $import): array
    {
        return static::find()->where(['_to' => $import->readId()])->limit(1)->all();
    }
}
