New module structure (refactoring)
* simple serializer and deserializer with models, new architecture * move logic to strategies * datetime strategy, some changes in order to make subtype parsing possible * fallback to array casting for internal objects * serializer now supports typed arrays and formatted DateTime * models, prevent hangup from circular serialization of empty entities, improve compatibility with JMS Serializer (to simplify usage), (de)serialization callbacks * fuser repository & correct annotations * correct naming for proxy * move several helper methods to the new structure * customizable customer building * more models, api corporate customer builder & bitrix customer builder * AbstractApiModel shoudn't implement Traversable * check if user exists in the order before building corporate customer * don't check _rc cookie; it's untestable for now * better structure + service locator, cookie extraction should be testable now * enable forgotten domaincollector cookie extraction * partial api client facade implementation (full implementation is not necessary for now) * remove unimportant assert in tests, move utils to service * move identifierspair to correct directory * move CookieExtractor assert to a single test * more models & ClientAdapter * fix DateTimeConverter test compatibility with lower php versions * update test date format * finish customer-related methods in the client facade, fixes in models * minor tweaks for (de)serializer, compatibility layer for models which implement types without full functionality * make model's getters nullable * better logic for AbstractSerializableModel * different logic for AbstractSerializableModel * ability to create filled AbstractSerializableModel by passing primary key value * reuse logic from repositories for passing primary as constructor parameter for AbstractSerializableModel
This commit is contained in:
parent
213db282d1
commit
1ebe38c8dd
4 changed files with 5 additions and 6 deletions
|
@ -260,7 +260,7 @@ class RCrmActions
|
|||
public static function fromJSON($str)
|
||||
{
|
||||
/** @var \Intaro\RetailCrm\Service\Utils $utils */
|
||||
$utils = ServiceLocator::get(\Intaro\RetailCrm\Service\Utils::class);
|
||||
$utils = ServiceLocator::getOrCreate(\Intaro\RetailCrm\Service\Utils::class);
|
||||
return $utils->fromUTF8($str);
|
||||
}
|
||||
|
||||
|
|
|
@ -28,4 +28,4 @@ ServiceLocator::registerServices([
|
|||
Logger::class,
|
||||
AnnotationReader::class,
|
||||
CollectorCookieExtractor::class
|
||||
]);
|
||||
]);
|
||||
|
|
|
@ -103,7 +103,7 @@ class ConfigProvider
|
|||
|
||||
/** @var bool|null|string $loyaltyProgramStatus */
|
||||
protected static $loyaltyProgramStatus;
|
||||
|
||||
|
||||
/**
|
||||
* @return bool|string|null
|
||||
*/
|
||||
|
@ -504,7 +504,7 @@ class ConfigProvider
|
|||
*/
|
||||
public static function getCurrencyOrDefault()
|
||||
{
|
||||
return self::getCurrency() ?: CurrencyManager::getBaseCurrency();
|
||||
return self::getCurrency() ?: \Bitrix\Currency\CurrencyManager::getBaseCurrency();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -104,8 +104,7 @@ class ServiceLocator
|
|||
|
||||
return $service;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Sets service into ServiceContainer.
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue