The GraphQL input type ItemInput (located in content_service mutation.graphqls) should be split up into CreateItemInput and UpdateItemInput
Reasoning:
Currently, ItemInput is used both for updating and for creating items. It has the field id, which should be unset when creating an item (because the ID is assigned by the database), and set to the ID of the item to update when updating. This is different behavior to the rest of the MEITREX systerm, where Create and Update are always strictly separated.
IMPORTANT NOTE
ItemInput is used all over the place, including in the Gateway! When working on this issue, MAKE SURE you have checked every instance where ItemInput is used, otherwise things may break
The GraphQL input type
ItemInput(located in content_service mutation.graphqls) should be split up into CreateItemInput and UpdateItemInputReasoning:
Currently,
ItemInputis used both for updating and for creating items. It has the fieldid, which should be unset when creating an item (because the ID is assigned by the database), and set to the ID of the item to update when updating. This is different behavior to the rest of the MEITREX systerm, where Create and Update are always strictly separated.IMPORTANT NOTE
ItemInputis used all over the place, including in the Gateway! When working on this issue, MAKE SURE you have checked every instance where ItemInput is used, otherwise things may break