import gql from "graphql-tag"; export const COMMENT_FIELDS_FRAGMENT_NAME = "CommentFields"; export const COMMENT_FIELDS_FRAGMENT = gql` fragment CommentFields on Comment { id uuid url text visibility local actor { avatar { id url } id domain preferredUsername name summary } totalReplies updatedAt deletedAt } `; export const COMMENT_RECURSIVE_FRAGMENT = gql` fragment CommentRecursive on Comment { ...CommentFields inReplyToComment { ...CommentFields } originComment { ...CommentFields } replies { ...CommentFields replies { ...CommentFields } } } ${COMMENT_FIELDS_FRAGMENT} `; export const FETCH_THREAD_REPLIES = gql` query($threadId: ID!) { thread(id: $threadId) { ...CommentRecursive } } ${COMMENT_RECURSIVE_FRAGMENT} `; export const COMMENTS_THREADS = gql` query($eventUUID: UUID!) { event(uuid: $eventUUID) { id uuid comments { ...CommentFields } } } ${COMMENT_FIELDS_FRAGMENT} `; export const CREATE_COMMENT_FROM_EVENT = gql` mutation CreateCommentFromEvent( $eventId: ID! $text: String! $inReplyToCommentId: ID ) { createComment( eventId: $eventId text: $text inReplyToCommentId: $inReplyToCommentId ) { ...CommentRecursive } } ${COMMENT_RECURSIVE_FRAGMENT} `; export const DELETE_COMMENT = gql` mutation DeleteComment($commentId: ID!) { deleteComment(commentId: $commentId) { id } } `; export const UPDATE_COMMENT = gql` mutation UpdateComment($commentId: ID!, $text: String!) { updateComment(commentId: $commentId, text: $text) { ...CommentFields } } ${COMMENT_FIELDS_FRAGMENT} `;