| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import { gql } from 'graphql-tag';
- export const commonApiExtensions = gql`
- type ProductReviewTranslation {
- id: ID!
- languageCode: LanguageCode!
- text: String!
- }
- type ProductReview implements Node {
- id: ID!
- createdAt: DateTime!
- updatedAt: DateTime!
- product: Product!
- productVariant: ProductVariant
- summary: String!
- body: String
- rating: Float!
- authorName: String!
- authorLocation: String
- upvotes: Int!
- downvotes: Int!
- state: String!
- response: String
- responseCreatedAt: DateTime
- translations: [ProductReviewTranslation!]!
- }
- type ProductReviewList implements PaginatedList {
- items: [ProductReview!]!
- totalItems: Int!
- }
- type ProductReviewHistogramItem {
- bin: Int!
- frequency: Int!
- }
- extend type Product {
- reviews(options: ProductReviewListOptions): ProductReviewList!
- reviewsHistogram: [ProductReviewHistogramItem!]!
- }
- # Auto-generated at runtime
- input ProductReviewListOptions
- `;
- export const adminApiExtensions = gql`
- ${commonApiExtensions}
- input ProductReviewTranslationInput {
- languageCode: LanguageCode!
- text: String!
- }
- input UpdateProductReviewInput {
- id: ID!
- summary: String
- body: String
- response: String
- translations: [ProductReviewTranslationInput!]!
- }
- extend type ProductReview {
- author: Customer
- }
- extend type Query {
- productReviews(options: ProductReviewListOptions): ProductReviewList!
- productReview(id: ID!): ProductReview
- }
- extend type Mutation {
- updateProductReview(input: UpdateProductReviewInput!): ProductReview!
- approveProductReview(id: ID!): ProductReview
- rejectProductReview(id: ID!): ProductReview
- }
- `;
- export const shopApiExtensions = gql`
- ${commonApiExtensions}
- input SubmitProductReviewInput {
- productId: ID!
- variantId: ID
- customerId: ID
- summary: String!
- body: String!
- rating: Float!
- authorName: String!
- authorLocation: String
- }
- extend type Mutation {
- submitProductReview(input: SubmitProductReviewInput!): ProductReview!
- voteOnReview(id: ID!, vote: Boolean!): ProductReview!
- }
- `;
|