22 February 2022
Composable Commerce
HTTP API
Enhancement
Product catalogExtensibilityGraphQL

You can now extend the ProductSelection resource with Custom Fields. With this, you can add meta-information to your Product Selection in case it is required for your business logic.

Changes:

  • [API] Added optional custom field to ProductSelection and ProductSelectionDraft.
  • [API] Added Set Custom Type and Set CustomField update actions to Product Selections.
  • [GraphQL API] Added the following types to the GraphQL schema: SetProductSelectionCustomField, SetProductSelectionCustomType.
  • [GraphQL API] Changed the ProductSelection type:
    • Added the custom field to the ProductSelection type.
  • [GraphQL API] Changed the ProductSelectionCreatedPayload type:
    • Added the custom field to the ProductSelectionCreatedPayload type.
  • [GraphQL API] Changed the IndividualProductSelectionCreatedPayload type:
    • Added the custom field to the IndividualProductSelectionCreatedPayload type.
  • [GraphQL API] Changed the ProductSelectionUpdateAction type:
    • Input field setCustomField was added to ProductSelectionUpdateAction type
    • Input field setCustomType was added to ProductSelectionUpdateAction type
  • [GraphQL API] Changed the CreateProductSelectionDraft type:
    • Input field custom was added to CreateProductSelectionDraft type

The following changes were introduced in terms of GraphQL SDL:

extend interface ProductSelectionCreatedPayload {
  custom: CustomFieldsType
}

extend type IndividualProductSelectionCreatedPayload {
  custom: CustomFieldsType
}

extend input ProductSelectionUpdateAction {
  setCustomField: SetProductSelectionCustomField
  setCustomType: SetProductSelectionCustomType
}

extend input CreateProductSelectionDraft {
  custom: CustomFieldsDraft
}

input SetProductSelectionCustomField {
  name: String!
  value: String
}

input SetProductSelectionCustomType {
  fields: [CustomFieldInput!]
  type: ResourceIdentifierInput
  typeKey: String
  typeId: String
}