All files / server/gql/comments/mutations CreateComment.ts

0% Statements 0/10
100% Branches 0/0
100% Functions 0/0
0% Lines 0/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                                                       
import { IComment } from '../../../../shared';
import { createCommentPermissions } from '../../../../shared/permissions';
import { isAuthorized } from '../../../api/cognito';
import { createComment } from '../../../model/comment';
import { GraphQLComment, GraphQLCreateComment } from '../index';
 
interface IArgs {
  data: {
    articleId: string;
    text: string;
    username: string;
    userSub: string;
  };
}
 
export default {
  type: GraphQLComment,
  args: {
    data: {
      type: GraphQLCreateComment,
    },
  },
  resolve: async (
    _: any,
    { data }: IArgs,
    request: Request,
  ): Promise<IComment> => {
    try {
      isAuthorized(request, createCommentPermissions);
      return createComment(data);
    } catch (e) {
      throw new Error(e.message);
    }
  },
};