Skip to content
This repository was archived by the owner on Aug 3, 2018. It is now read-only.

Fix document type hinting #97

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
"require": {
"php": "^7.1",
"sylius/sylius": "^1.0",
"ongr/elasticsearch-dsl": "^5.0",
"ongr/elasticsearch-bundle": "^5.0",
"ongr/elasticsearch-bundle": "dev-6.0-dev",
"simple-bus/symfony-bridge": "^4.1",
"ongr/filter-manager-bundle": "2.1.x-dev as v2.1.1",
"ongr/filter-manager-bundle": "dev-es-6.0",
"ramsey/uuid": "^3.7"
},
"require-dev": {
Expand Down
16 changes: 9 additions & 7 deletions src/Command/UpdateProductIndexCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
use Sylius\Component\Core\Model\ProductInterface;
use Sylius\Component\Core\Repository\ProductRepositoryInterface;
use Sylius\Component\Locale\Model\LocaleInterface;
use Sylius\ElasticSearchPlugin\Document\ProductDocument;
use Sylius\ElasticSearchPlugin\Document\ProductDocumentInterface;
use Sylius\ElasticSearchPlugin\Factory\Document\ProductDocumentFactoryInterface;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
Expand Down Expand Up @@ -42,18 +42,20 @@ final class UpdateProductIndexCommand extends Command
private $productDocumentFactory;

/**
* @param ProductRepositoryInterface $productRepository
* @param Manager $elasticsearchManager
* @param ProductRepositoryInterface $productRepository
* @param Manager $elasticsearchManager
* @param ProductDocumentFactoryInterface $productDocumentFactory
* @param string $productDocumentClass
*/
public function __construct(
ProductRepositoryInterface $productRepository,
Manager $elasticsearchManager,
ProductDocumentFactoryInterface $productDocumentFactory
ProductDocumentFactoryInterface $productDocumentFactory,
string $productDocumentClass
) {
$this->productRepository = $productRepository;
$this->elasticsearchManager = $elasticsearchManager;
$this->productDocumentRepository = $elasticsearchManager->getRepository(ProductDocument::class);
$this->productDocumentRepository = $elasticsearchManager->getRepository($productDocumentClass);
$this->productDocumentFactory = $productDocumentFactory;

parent::__construct('sylius:elastic-search:update-product-index');
Expand Down Expand Up @@ -81,7 +83,7 @@ protected function execute(InputInterface $input, OutputInterface $output): void
$search->setScroll('10m');
$search->addSort(new FieldSort('synchronised_at', 'asc'));

/** @var DocumentIterator|ProductDocument[] $productDocuments */
/** @var DocumentIterator|ProductDocumentInterface[] $productDocuments */
$productDocuments = $this->productDocumentRepository->findDocuments($search);

foreach ($productDocuments as $productDocument) {
Expand Down Expand Up @@ -143,7 +145,7 @@ private function scheduleCreatingNewProductDocuments(string $productCode): void

private function scheduleRemovingOldProductDocuments(string $productCode): void
{
/** @var DocumentIterator|ProductDocument[] $currentProductDocuments */
/** @var DocumentIterator|ProductDocumentInterface[] $currentProductDocuments */
$currentProductDocuments = $this->productDocumentRepository->findBy(['code' => $productCode]);

foreach ($currentProductDocuments as $sameCodeProductDocument) {
Expand Down
4 changes: 2 additions & 2 deletions src/Document/AttributeDocument.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
use ONGR\ElasticsearchBundle\Annotation as ElasticSearch;

/**
* @ElasticSearch\Nested
* @ElasticSearch\NestedType
*/
class AttributeDocument
class AttributeDocument implements AttributeDocumentInterface
{
/**
* @var string
Expand Down
38 changes: 38 additions & 0 deletions src/Document/AttributeDocumentInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?php

declare(strict_types=1);

namespace Sylius\ElasticSearchPlugin\Document;

interface AttributeDocumentInterface
{
/**
* @return string
*/
public function getCode(): string;

/**
* @param string $code
*/
public function setCode(string $code): void;

/**
* @return string
*/
public function getName(): ?string;

/**
* @param string $name
*/
public function setName(?string $name): void;

/**
* @return mixed
*/
public function getValue();

/**
* @param mixed $value
*/
public function setValue($value): void;
}
4 changes: 2 additions & 2 deletions src/Document/ImageDocument.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
use ONGR\ElasticsearchBundle\Annotation as ElasticSearch;

/**
* @ElasticSearch\Object
* @ElasticSearch\ObjectType
*/
class ImageDocument
class ImageDocument implements ImageDocumentInterface
{
/**
* @var string
Expand Down
28 changes: 28 additions & 0 deletions src/Document/ImageDocumentInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?php

declare(strict_types=1);

namespace Sylius\ElasticSearchPlugin\Document;

interface ImageDocumentInterface
{
/**
* @return string
*/
public function getCode(): ?string;

/**
* @param string $code
*/
public function setCode(?string $code): void;

/**
* @return string
*/
public function getPath(): string;

/**
* @param string $path
*/
public function setPath(string $path): void;
}
4 changes: 2 additions & 2 deletions src/Document/OptionDocument.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
use ONGR\ElasticsearchBundle\Annotation as ElasticSearch;

/**
* @ElasticSearch\Nested
* @ElasticSearch\NestedType
*/
class OptionDocument
class OptionDocument implements OptionDocumentInterface
{
/**
* @var string
Expand Down
38 changes: 38 additions & 0 deletions src/Document/OptionDocumentInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?php

declare(strict_types=1);

namespace Sylius\ElasticSearchPlugin\Document;

interface OptionDocumentInterface
{
/**
* @return string
*/
public function getCode(): string;

/**
* @param string $code
*/
public function setCode(string $code): void;

/**
* @return string
*/
public function getName(): string;

/**
* @param string $name
*/
public function setName(string $name): void;

/**
* @return string
*/
public function getValue(): string;

/**
* @param string $value
*/
public function setValue(string $value): void;
}
6 changes: 3 additions & 3 deletions src/Document/PriceDocument.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
use ONGR\ElasticsearchBundle\Annotation as ElasticSearch;

/**
* @ElasticSearch\Object
* @ElasticSearch\ObjectType
*/
class PriceDocument
class PriceDocument implements PriceDocumentInterface
{
/**
* @var int
Expand Down Expand Up @@ -43,7 +43,7 @@ public function getAmount(): int
/**
* @param int $amount
*/
public function setAmount(int $amount): void
public function setAmount($amount): void
{
$this->amount = $amount;
}
Expand Down
38 changes: 38 additions & 0 deletions src/Document/PriceDocumentInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?php

declare(strict_types=1);

namespace Sylius\ElasticSearchPlugin\Document;

interface PriceDocumentInterface
{
/**
* @return int
*/
public function getAmount();

/**
* @param int $amount
*/
public function setAmount($amount): void;

/**
* @return int
*/
public function getOriginalAmount(): int;

/**
* @param int $originalAmount
*/
public function setOriginalAmount(int $originalAmount = 0): void;

/**
* @return string
*/
public function getCurrency(): string;

/**
* @param string $currency
*/
public function setCurrency(string $currency): void;
}
Loading