What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

Good morning, when adding one product to the cart via Glue API we get back relationships for the car

UPWG9AYH2
UPWG9AYH2 Posts: 509 🧑🏻‍🚀 - Cadet
edited April 2020 in Help

Good morning,
when adding one product to the cart via Glue API we get back relationships for the cart like this

"data": {
        "type": "carts",
        "id": "c317c11b-a342-53ce-8831-63189dc02122",
        "attributes": {
            "priceMode": "GROSS_MODE",
            "currency": "EUR",
            "store": "DE",
            "totals": {
                "expenseTotal": 0,
                "discountTotal": 0,
                "taxTotal": 1596,
                "subtotal": 9999,
                "grandTotal": 9999
            },
            "discounts": []
        },
        "links": {
            "self": "<http://glue.de.spryker.local/carts/c317c11b-a342-53ce-8831-63189dc02122>"
        },
        "relationships": {
            "items": {
                "data": [
                    {
                        "type": "items",
                        "id": "002_25904004"
                    },
                    {
                        "type": "items",
                        "id": "002_25904004"
                    }
                ]
            }
        }
    },
...

As you can see, relationships for a concrete product appears twice. I found out, that the relationship plugins gets applied twice but for the first time it can be avoided by setting a flag called

ALLOWED_CART_ITEM_EAGER_RELATIONSHIP

to false.

  1. What exactly is the information in the relationships sections for?
  2. Why the plugins get applied two times?
  3. What is the general purpose of that eager loading mechanism?
  4. Shouldn’t the items be grouped together?
    Thanks a lot

Comments

  • Eugenia Poidenko
    Eugenia Poidenko Sprykee Posts: 145 🧑🏻‍🚀 - Cadet

    Hey Ingo!

    Eager relationship is deprecated and is now kept for BC reasons only, you should set ALLOWED_CART_ITEM_EAGER_RELATIONSHIP to false on project and use relationship plugin instead.

  • UPWG9AYH2
    UPWG9AYH2 Posts: 509 🧑🏻‍🚀 - Cadet

    Hey Eugenia,

    thanks for your response. So the current behaviour is more a bug due to conflicting behaviour of old and new stuff?
    Just for future: Was there any hint in the docs/release notes that points this fact out?
    For me actually there is no chance to know that you have to set it in that combination to get it work correctly.

  • Eugenia Poidenko
    Eugenia Poidenko Sprykee Posts: 145 🧑🏻‍🚀 - Cadet

    I’m afraid this might be still in the docs that are waiting to get published, though the flag has been there for some time already.