* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Domain\SqlManagement\Command; use PrestaShop\PrestaShop\Core\Domain\SqlManagement\Exception\SqlRequestConstraintException; use PrestaShop\PrestaShop\Core\Domain\SqlManagement\Exception\SqlRequestException; use PrestaShop\PrestaShop\Core\Domain\SqlManagement\ValueObject\SqlRequestId; /** * Class BulkDeleteSqlRequestCommand deletes provided SqlRequests. */ class BulkDeleteSqlRequestCommand { /** * @var SqlRequestId[] */ private $sqlRequestIds = []; /** * @param int[] $sqlRequestIds * * @throws SqlRequestException */ public function __construct(array $sqlRequestIds) { $this->setSqlRequestIds($sqlRequestIds); } /** * @return SqlRequestId[] */ public function getSqlRequestIds() { return $this->sqlRequestIds; } /** * @param array $sqlRequestIds * * @throws SqlRequestException * * @return self */ private function setSqlRequestIds(array $sqlRequestIds) { if (empty($sqlRequestIds)) { throw new SqlRequestConstraintException('Missing SqlRequest data for bulk deleting', SqlRequestConstraintException::MISSING_BULK_DATA); } foreach ($sqlRequestIds as $sqlRequestId) { $this->sqlRequestIds[] = new SqlRequestId($sqlRequestId); } return $this; } }