| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | 
							- # ===============================================
 
- # COMMENT
 
- # ===============================================
 
- extend type Query {
 
-   commentsProviders: [CommentProvider]
 
-   comments(
 
-     locale: String!
 
-     path: String!
 
-   ): [CommentPost]!
 
-   commentById(
 
-     id: Int!
 
-   ): CommentPost
 
- }
 
- extend type Mutation {
 
-   updateCommentsProviders(
 
-     providers: [CommentProviderInput]
 
-   ): DefaultResponse
 
-   createComment(
 
-     pageId: Int!
 
-     replyTo: Int
 
-     content: String!
 
-     guestName: String
 
-     guestEmail: String
 
-   ): CommentCreateResponse  @rateLimit(limit: 1, duration: 15)
 
-   updateComment(
 
-     id: Int!
 
-     content: String!
 
-   ): CommentUpdateResponse
 
-   deleteComment(
 
-     id: Int!
 
-   ): DefaultResponse
 
- }
 
- # -----------------------------------------------
 
- # TYPES
 
- # -----------------------------------------------
 
- type CommentProvider {
 
-   isEnabled: Boolean
 
-   key: String
 
-   title: String
 
-   description: String
 
-   logo: String
 
-   website: String
 
-   isAvailable: Boolean
 
-   config: [KeyValuePair]
 
- }
 
- input CommentProviderInput {
 
-   isEnabled: Boolean!
 
-   key: String!
 
-   config: [KeyValuePairInput]
 
- }
 
- type CommentPost {
 
-   id: Int
 
-   content: String
 
-   render: String
 
-   authorId: Int
 
-   authorName: String
 
-   authorEmail: String
 
-   authorIP: String
 
-   createdAt: Date
 
-   updatedAt: Date
 
- }
 
- type CommentCreateResponse {
 
-   operation: Operation
 
-   id: Int
 
- }
 
- type CommentUpdateResponse {
 
-   operation: Operation
 
-   render: String
 
- }
 
 
  |