mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-01-16 15:19:34 +00:00
Try fixing PHPStan issues
This commit is contained in:
parent
c60fafb66a
commit
9ad894e826
1 changed files with 5 additions and 41 deletions
|
|
@ -31,7 +31,6 @@ use App\Services\InfoProviderSystem\DTOs\PriceDTO;
|
||||||
use App\Services\InfoProviderSystem\DTOs\PurchaseInfoDTO;
|
use App\Services\InfoProviderSystem\DTOs\PurchaseInfoDTO;
|
||||||
use App\Services\InfoProviderSystem\DTOs\SearchResultDTO;
|
use App\Services\InfoProviderSystem\DTOs\SearchResultDTO;
|
||||||
use App\Settings\InfoProviderSystem\BuerklinSettings;
|
use App\Settings\InfoProviderSystem\BuerklinSettings;
|
||||||
use App\Services\OAuth\OAuthTokenManager;
|
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Symfony\Component\DependencyInjection\Attribute\Autowire;
|
use Symfony\Component\DependencyInjection\Attribute\Autowire;
|
||||||
use Symfony\Component\HttpClient\HttpOptions;
|
use Symfony\Component\HttpClient\HttpOptions;
|
||||||
|
|
@ -53,7 +52,6 @@ class BuerklinProvider implements BatchInfoProviderInterface
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly HttpClientInterface $client,
|
private readonly HttpClientInterface $client,
|
||||||
private readonly OAuthTokenManager $authTokenManager,
|
|
||||||
private readonly CacheItemPoolInterface $partInfoCache,
|
private readonly CacheItemPoolInterface $partInfoCache,
|
||||||
private readonly BuerklinSettings $settings,
|
private readonly BuerklinSettings $settings,
|
||||||
) {
|
) {
|
||||||
|
|
@ -199,20 +197,6 @@ class BuerklinProvider implements BatchInfoProviderInterface
|
||||||
&& $this->settings->password !== '';
|
&& $this->settings->password !== '';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $id
|
|
||||||
* @return PartDetailDTO
|
|
||||||
*/
|
|
||||||
private function queryDetail(string $id): PartDetailDTO
|
|
||||||
{
|
|
||||||
$product = $this->getProduct($id);
|
|
||||||
if ($product === null) {
|
|
||||||
throw new \RuntimeException('Could not find product code: ' . $id);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->getPartDetail($product);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sanitizes a field by removing any HTML tags and other unwanted characters
|
* Sanitizes a field by removing any HTML tags and other unwanted characters
|
||||||
* @param string|null $field
|
* @param string|null $field
|
||||||
|
|
@ -423,18 +407,8 @@ class BuerklinProvider implements BatchInfoProviderInterface
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param array|null $attributes
|
|
||||||
* @return ParameterDTO[]
|
|
||||||
*/
|
|
||||||
private function attributesToParameters(array $features, ?string $group = null): array
|
private function attributesToParameters(array $features, ?string $group = null): array
|
||||||
{
|
{
|
||||||
if (!is_array($features)) {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
$out = [];
|
$out = [];
|
||||||
|
|
||||||
foreach ($features as $f) {
|
foreach ($features as $f) {
|
||||||
|
|
@ -482,7 +456,9 @@ class BuerklinProvider implements BatchInfoProviderInterface
|
||||||
return array_values($byName);
|
return array_values($byName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return PartDetailDTO[]
|
||||||
|
*/
|
||||||
public function searchByKeyword(string $keyword): array
|
public function searchByKeyword(string $keyword): array
|
||||||
{
|
{
|
||||||
$keyword = strtoupper(trim($keyword));
|
$keyword = strtoupper(trim($keyword));
|
||||||
|
|
@ -513,8 +489,6 @@ class BuerklinProvider implements BatchInfoProviderInterface
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function getDetails(string $id): PartDetailDTO
|
public function getDetails(string $id): PartDetailDTO
|
||||||
{
|
{
|
||||||
// Detail endpoint is /products/{code}/
|
// Detail endpoint is /products/{code}/
|
||||||
|
|
@ -613,6 +587,7 @@ class BuerklinProvider implements BatchInfoProviderInterface
|
||||||
*/
|
*/
|
||||||
public function searchByKeywordsBatch(array $keywords): array
|
public function searchByKeywordsBatch(array $keywords): array
|
||||||
{
|
{
|
||||||
|
/** @var array<string, SearchResultDTO[]> $results */
|
||||||
$results = [];
|
$results = [];
|
||||||
|
|
||||||
foreach ($keywords as $keyword) {
|
foreach ($keywords as $keyword) {
|
||||||
|
|
@ -622,6 +597,7 @@ class BuerklinProvider implements BatchInfoProviderInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reuse existing single search -> returns PartDetailDTO[]
|
// Reuse existing single search -> returns PartDetailDTO[]
|
||||||
|
/** @var PartDetailDTO[] $partDetails */
|
||||||
$partDetails = $this->searchByKeyword($keyword);
|
$partDetails = $this->searchByKeyword($keyword);
|
||||||
|
|
||||||
// Convert to SearchResultDTO[]
|
// Convert to SearchResultDTO[]
|
||||||
|
|
@ -634,18 +610,6 @@ class BuerklinProvider implements BatchInfoProviderInterface
|
||||||
return $results;
|
return $results;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function searchProducts(string $query): array
|
|
||||||
{
|
|
||||||
$response = $this->makeAPICall('/products/search/', [
|
|
||||||
'pageSize' => 50,
|
|
||||||
'currentPage' => 0,
|
|
||||||
'query' => $query,
|
|
||||||
'sort' => 'relevance',
|
|
||||||
]);
|
|
||||||
|
|
||||||
return $response['products'] ?? [];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a PartDetailDTO into a SearchResultDTO for bulk search.
|
* Converts a PartDetailDTO into a SearchResultDTO for bulk search.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue