mobilizon.chapril.org-mobil.../js/src/graphql/comment.ts

121 lines
2.3 KiB
TypeScript
Raw Normal View History

import gql from "graphql-tag";
import { ACTOR_FRAGMENT } from "./actor";
export const COMMENT_FIELDS_FRAGMENT_NAME = "CommentFields";
export const COMMENT_FIELDS_FRAGMENT = gql`
fragment CommentFields on Comment {
id
uuid
url
text
visibility
local
actor {
...ActorFragment
}
totalReplies
insertedAt
updatedAt
deletedAt
isAnnouncement
language
}
${ACTOR_FRAGMENT}
`;
export const COMMENT_RECURSIVE_FRAGMENT = gql`
fragment CommentRecursive on Comment {
...CommentFields
inReplyToComment {
...CommentFields
}
originComment {
...CommentFields
}
replies {
...CommentFields
inReplyToComment {
...CommentFields
}
originComment {
...CommentFields
}
replies {
...CommentFields
}
}
}
${COMMENT_FIELDS_FRAGMENT}
`;
export const FETCH_THREAD_REPLIES = gql`
query FetchThreadReplies($threadId: ID!) {
thread(id: $threadId) {
...CommentRecursive
}
}
${COMMENT_RECURSIVE_FRAGMENT}
`;
export const COMMENTS_THREADS = gql`
query CommentThreads($eventUUID: UUID!) {
event(uuid: $eventUUID) {
id
uuid
comments {
...CommentFields
}
}
}
${COMMENT_FIELDS_FRAGMENT}
`;
export const COMMENTS_THREADS_WITH_REPLIES = gql`
query CommentThreadsWithReplies($eventUUID: UUID!) {
event(uuid: $eventUUID) {
id
uuid
comments {
...CommentRecursive
}
}
}
${COMMENT_RECURSIVE_FRAGMENT}
`;
export const CREATE_COMMENT_FROM_EVENT = gql`
mutation CreateCommentFromEvent(
$eventId: ID!
$text: String!
$inReplyToCommentId: ID
$isAnnouncement: Boolean
) {
createComment(
eventId: $eventId
text: $text
inReplyToCommentId: $inReplyToCommentId
isAnnouncement: $isAnnouncement
) {
...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}
`;