1
0
Fork 0
mirror of synced 2025-04-20 01:21:01 +00:00

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:
Pavel 2020-08-07 12:38:53 +03:00 committed by Павел
parent 213db282d1
commit 1ebe38c8dd
4 changed files with 5 additions and 6 deletions

View file

@ -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);
}

View file

@ -28,4 +28,4 @@ ServiceLocator::registerServices([
Logger::class,
AnnotationReader::class,
CollectorCookieExtractor::class
]);
]);

View file

@ -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();
}
/**

View file

@ -104,8 +104,7 @@ class ServiceLocator
return $service;
}
/**
* Sets service into ServiceContainer.
*