Part-DB-server/src/Services/InfoProviderSystem
Pasquale D'Orsi 1cc1530b20
OEMSecrets provider interface v.1.0 (#679)
* OEMSecrets provider interface v.1.0

New class for interacting with the OEMSecrets (https://www.oemsecrets.com) API version 3.0.1.

* Refactored info provider to be stateless and independent from session, optimized Part-DB API usage, and fixed PHPStan issues.

Refactored info provider to be stateless and independent from session, now use Psr\Cache, fixed issues identified by PHPStan, additional minor enhancements and bug fixes.

* Prefix cache keys with oemsecrets_ to avoid key collissions

* Use uniqid with more entropy to reduce probability of collisions

* Made $resultData local as it is only used inside searchByKeyword

* Use the parameter name $id from interface declaration for getDetails to avoid problems with named arguments

* Use unicode modifier for preg_match to avoid problems when parameters contain non-unicode strings

* Various small code quality improvements

* Try to retrieve the part from the API in getDetails, if the DTO was not cached before

* Improved code formatting

* Channged OEMSecret default country to DE to be consistent with other default values

* Do not call gc_collect_cycles in the loop to process the results, but only after all processBatch calls

---------

Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
2024-09-09 00:59:44 +02:00
..
DTOs Applied rector suggestions 2024-06-22 00:31:43 +02:00
Providers OEMSecrets provider interface v.1.0 (#679) 2024-09-09 00:59:44 +02:00
DTOtoEntityConverter.php Applied rector suggestions 2024-06-22 00:31:43 +02:00
PartInfoRetriever.php Reenable caching for part provider system. 2023-07-31 22:21:20 +02:00
ProviderRegistry.php Applied rector suggestions 2024-06-22 00:31:43 +02:00