aBOM actions for developers
Actions needed (for developers)
This project will introduce breaking changes.
API: If you are using the API to call any of the below mutations or a query that uses any of the below fields, you will need to update your mutations/queries.
Actions: If you have any ION actions (rules) using any of the objects below, those will be disabled when this project is released and you will need to update those after release.
Webhooks: If you have any webhooks listening to any of the objects below, you will need to update your webhook listeners after release.
Analytics: If you have any SQL queries referencing
abom_items
orabom_edges
those will need to be updated.
If the above does not apply to you then no changes necessary!
Changes overview
Below shows an example of a car assembly that is partially installed and the differences between the old structure and the new structure.
Old structure:
New structure:
Old structure:
aBOM items represent both the requirement and fulfillment of the installation
aBOM items are used to link to inventories
aBOM edges connect aBOM items
aBOM items change as items are partially installed/removed. New ones get created or deleted, or quantities change
New structure:
Build requirements belong to parent inventories and represent what needs to be installed
Build requirements do not change as items are installed into them
aBOM installations link inventories to a build requirement. The addition of an aBOM installation is an install. The removal of an aBOM installation is an uninstall
Mutation/query changes
AbomItems will be replaced by
BuildRequirements
andAbomInstallations
, where the requirement and fulfillment (install) are clearly delineatedAbomEdges will be replaced by
PartInventoryBuildRequirements
Below shows the full list of items that are going away.
Going away
Mutations
InstallKitOnAbomItemChildren
CreateAbomItem
DeleteAbomItem
UpdateAbomItem
GQL Objects/Queries
AbomItems
ABomEdges
ABomItemReferenceDesignators
Fields
PartInventory.abomItems
PartInventory.abomChildren
PartInventory.abomParents
PartInventory.allChildren
PartInventory.allParents
Part.abomItems
MBomItem.abomItems
MBomItemReferenceDesignator.abomItems
AbomItemReferenceDesignator.abomItem
(and any count fields generated from these relationships)
Examples
API: Installing a part
Old structure:
Previously, you would have to update an existing abom_item
with an inventory to install that inventory. The abom_item
at that point may get swapped if the inventory being installed is already linked ot an abom_item
New structure:
Now installing a part is done via creating an aBOM installation. aBOM installations link inventories to buildRequirements
. Conversely, uninstalling a part is done by deleting aBOM installations.
SQL: Query for an inventory's aBOM
Old structure:
New structure:
Last updated