mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-20 17:15:51 +02:00
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>
This commit is contained in:
parent
98597fb3aa
commit
1cc1530b20
3 changed files with 1495 additions and 1 deletions
|
@ -306,6 +306,16 @@ services:
|
|||
$enabled: '%env(bool:PROVIDER_LCSC_ENABLED)%'
|
||||
$currency: '%env(string:PROVIDER_LCSC_CURRENCY)%'
|
||||
|
||||
App\Services\InfoProviderSystem\Providers\OEMSecretsProvider:
|
||||
arguments:
|
||||
$api_key: '%env(string:PROVIDER_OEMSECRETS_KEY)%'
|
||||
$country_code: '%env(string:PROVIDER_OEMSECRETS_COUNTRY_CODE)%'
|
||||
$currency: '%env(PROVIDER_OEMSECRETS_CURRENCY)%'
|
||||
$zero_price: '%env(PROVIDER_OEMSECRETS_ZERO_PRICE)%'
|
||||
$set_param: '%env(PROVIDER_OEMSECRETS_SET_PARAM)%'
|
||||
$sort_criteria: '%env(PROVIDER_OEMSECRETS_SORT_CRITERIA)%'
|
||||
|
||||
|
||||
####################################################################################################################
|
||||
# API system
|
||||
####################################################################################################################
|
||||
|
@ -400,4 +410,4 @@ when@test:
|
|||
arguments:
|
||||
- '@doctrine.fixtures.loader'
|
||||
- '@doctrine'
|
||||
- { default: '@App\Doctrine\Purger\DoNotUsePurgerFactory' }
|
||||
- { default: '@App\Doctrine\Purger\DoNotUsePurgerFactory' }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue