Query Comments
Essential knowledge
Intended Audience:
Technical User
Author:
Kirill Gaiduk
Changed on:
20 Feb 2025
Overview
The`comments` Query retrieves Comments based on various filter criteria.Prerequisites
`COMMENT_VIEW`Permission is required for retrieving Comments
Key points
- Use the
`comments`Query to retrieve existing Comments - 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 arguments for retrieving Comments:| Argument | Type | Description | Notes |
`entityType` | [String!] | Type of the Entity | For example:
|
`entityId` | [ID] | Id of the Entity | |
`entityRef` | [String] | Reference of the Entity | |
`text` | [String!] | Comment text | |
`createdOn` | DateRange | Date range for Comments creation | |
`updatedOn` | DateRange | Date range for Comments last update | |
`first` | Int | Returns the first n elements from the list | |
`last` | Int | Returns the last n elements from the list | |
`before` | String | Returns the elements in the list that come before the specified global Id | This is a cursor (the value is used for pagination) |
`after` | String | Returns the elements in the list that come after the specified global Id | This is a cursor (the value is used for pagination) |
Validation
Comment Permissions could be managed at the Account or Retailer level, which is controlled via the`fc.graphql.comment.access` Setting. The `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 `comments` Query - "Retailer-specific Comment Permission Check":- Comments are searched by the given Input Arguments
- A Comment Entity
`retailerId`field stores a Retailer of the associated Entity - For all the found Comments, the Comment
`retailerId`is compared to the querying User`retailerId`(defined with the User Role Context Id) - The list of the retrieved Comments contains:
- The Comments for which the mentioned (User and Comment)
`retailerId`-s matches - The Comments with empty
`retailerId`
- The Comments for which the mentioned (User and Comment)
Response
The response consists of the details of the Comment:| Field | Type | Description | Notes |
`id` | ID! | Id of the Comment | |
`entityType` | String! | Type of the Entity | For example:
|
`entityId` | ID | Id of the Entity | |
`entityRef` | String | Reference of the Entity | |
`text` | String! | Comment text | Max character limit: 200 |
`createdOn` | DateTime | Time of the Comment creation | |
`updatedOn` | DateTime | Time of the Comment last update | |
`user` | User | The author of the Comment |
|
Sample Payload
1query comments($createdOn: DateRange) {
2 comments(createdOn: $createdOn) {
3 edges {
4 node {
5 id
6 entityId
7 entityRef
8 entityType
9 text
10 createdOn
11 updatedOn
12 }
13 cursor
14 }
15 }
16}1{
2 "createdOn": {
3 "from": "2024-11-16T00:32:28.935Z",
4 "to": "2024-11-16T23:40:28.935Z"
5 }
6}