Skip to content
This repository was archived by the owner on Dec 19, 2019. It is now read-only.

Persistence Layer #68

Closed
misha-kotov opened this issue May 23, 2018 · 0 comments
Closed

Persistence Layer #68

misha-kotov opened this issue May 23, 2018 · 0 comments
Labels
epic for-grooming This issue needs to be discussed before it can be worked on performance

Comments

@misha-kotov
Copy link

As a Magento Developer, I need a GraphQL persistence layer that provides flexible and performant data retrieval so that my web application is fast and leads to increased conversions.

A persistence layer would also provide a persistence-agnostic way to declare, store, and extend entities.

An entity is a set of associated fields that are used for the purpose of data changes and data retrieval. Each entity introduced by Module should be declared in entities.xml file. In each specific business case entity is represented as a unit of fields (DTO), aka subset of fields listed in the entity declaration. Each field describes type, format and validation rules which should be applied. Also, entity's declaration represents relationship between entities (aka Aggregate Root)

Service Responsibility is to convert DTO interface passed as input data which represents specific Command (action being processed over the entity by this service, i.e. CreateProductDTO, ChangeProductPriceDTO etc.) to the fieldset format, which would be processed and persisted by EntityManager (aka fieldsetManager). As a field set may contain different sets of fields dependent on use-case. EntityManager should link these fields with Entity Identity to make a persistence.

@misha-kotov misha-kotov added for-grooming This issue needs to be discussed before it can be worked on performance epic labels May 23, 2018
magento-engcom-team pushed a commit that referenced this issue Aug 26, 2018
MAGETWO-62891: New address is not marked as "Default Billing"
@naydav naydav closed this as completed May 3, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
epic for-grooming This issue needs to be discussed before it can be worked on performance
Projects
None yet
Development

No branches or pull requests

2 participants