Fluent Commerce Logo
Docs
Essential knowledge

Intended Audience:

Technical User

Author:

Kirill Gaiduk

Changed on:

20 Feb 2025

Overview

The `updateComment` Mutation allows for the updating of an existing Comment object.
PrerequisitesSpecific Permissions are required for updating Comments:
  • `COMMENT_UPDATE`
  • `COMMENT_VIEW`

Key points

  • Use the `updateComment` Mutation to update an existing Comment
  • Manage the Comment Permissions at the Account or Retailer level
  • Apply the "Retailer-specific Comment Permission Check" validation logic with the `fc.graphql.comment.access` Setting (`retailer` value)

Inputs

The Input fields for updating a Comment are defined with the `UpdateCommentInput`:
FieldTypeDescriptionNotes
`id`ID!Id of the Comment
`text`String!Comment textMax character limit: 200

Validation

Comment Permissions could be managed at the Account or Retailer level, which is controlled via the `fc.graphql.comment.access` SettingThe `retailer` Setting value enables the Retailer-specific access management, so the validation logic is applied to verify that your User has the correct rights to execute the `updateComment` Mutation - "Retailer-specific Comment Permission Check":
  • A target Comment is found by its Id (input)
  • A Comment Entity `retailerId` field stores a Retailer of the associated Entity
  • The Comment `retailerId` is compared to the querying User `retailerId` (defined with the User Role Context Id)
  • The Comment is updated upon the mentioned (User and Comment) `retailerId`'s match

Response

The response consists of the details of the Comment:
FieldTypeDescriptionNotes
`id`ID!Id of the Comment
`entityType`String!Type of the EntityFor example:
  • `ORDER`
  • `FULFILMENT`
  • `ORDER_ITEM`
  • `PRODUCT_CATALOGUE`
`entityId`IDId of the Entity
`entityRef`StringReference of the Entity
`text`String! Comment textMax character limit: 200
`createdOn`DateTimeTime of the Comment creation
`updatedOn`DateTimeTime of the Comment last update
`user`UserThe author of the Comment
  • Filled in upon the Comment creation
  • Updated upon the Comment update
  • `USER_VIEW` Permission is required

Sample Payload

1mutation updateComment ($input: UpdateCommentInput) {
2    updateComment (input: $input) {
3        id
4        entityType
5        entityRef
6        entityId
7        text
8        createdOn
9        updatedOn
10    }
11}
1{
2    "input": {
3        "id": "26963",
4        "text": "Sample Comment"
5    }
6}
1{
2    "data": {
3        "updateComment": {
4            "id": "26963",
5            "entityType": "ORDER",
6            "entityRef": null,
7            "entityId": "123",
8            "text": "Sample Comment",
9            "createdOn": "2024-12-09T09:15:57.396Z",
10            "updatedOn": "2024-12-09T09:22:57.791Z"
11        }
12    }
13}