Use Symfony components to map incoming JSON onto objects.
Those provide a mapping. They can then be used to fetch the data in a
common way and insert it into the system.
- Handle languages within JsonDecode
(normalize incoming data based on language)
- Handle Single Value and List of Values within Entities. They will map
incoming Data to proper Objects. (We now generally transform during
serialization process if target is array but we got single entity)
- Add missing tests for existing data.
- Finish migration of all existing data, this includes next step
- Provide discriminator to ObjectNormalizer to auto detect target class
based on "type" property. (Done for now by own registry)
- Combine generated object with current structure for import -> generate
data array out of it.
- Resolve foreign references to existing entities,
(images, contentresponsible, etc.)
Sorry for fixing two things in one commit.
First fixed bug is single offer and / or single price.
Those lead to exception / fatal error and are now handled.
Second fixed bug is wrong multi language handling.
Instead of using supported languages from entity (which does not exist
and was miss interpreted) we use configured system languages.
Each record is inserted with default language.
Also tourist attractions are inserted for all other languages.
They are only inserted if they have a title for that language.