Lucas/t 364 on comment drawer i can fetch all comment threads with (#193)
* Added prisma to suggested extension in container * Added comments and authors on drawer with proper resolving * Fix lint * Fix console log * Fixed generated front graphql from rebase
This commit is contained in:
@ -23,6 +23,7 @@ import { CommentThreadRelationsResolver } from './resolvers/relations/comment-th
|
||||
import { PipelineRelationsResolver } from './resolvers/relations/pipeline-relations.resolver';
|
||||
import { PipelineStageRelationsResolver } from './resolvers/relations/pipeline-stage-relations.resolver';
|
||||
import { GraphQLError } from 'graphql';
|
||||
import { CommentRelationsResolver } from './resolvers/relations/comment-relations.resolver';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@ -51,6 +52,7 @@ import { GraphQLError } from 'graphql';
|
||||
PipelineStageResolver,
|
||||
|
||||
CompanyRelationsResolver,
|
||||
CommentRelationsResolver,
|
||||
PersonRelationsResolver,
|
||||
UserRelationsResolver,
|
||||
WorkspaceMemberRelationsResolver,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Resolver, Args, Mutation } from '@nestjs/graphql';
|
||||
import { Resolver, Args, Mutation, Query } from '@nestjs/graphql';
|
||||
import { UseGuards } from '@nestjs/common';
|
||||
import { JwtAuthGuard } from 'src/auth/guards/jwt.auth.guard';
|
||||
import { PrismaService } from 'src/database/prisma.service';
|
||||
@ -7,11 +7,16 @@ import { AuthWorkspace } from './decorators/auth-workspace.decorator';
|
||||
import { CommentThread } from '../@generated/comment-thread/comment-thread.model';
|
||||
import { CreateOneCommentThreadArgs } from '../@generated/comment-thread/create-one-comment-thread.args';
|
||||
import { CreateOneCommentThreadGuard } from './guards/create-one-comment-thread.guard';
|
||||
import { FindManyCommentThreadArgs } from '../@generated/comment-thread/find-many-comment-thread.args';
|
||||
import { ArgsService } from './services/args.service';
|
||||
|
||||
@UseGuards(JwtAuthGuard)
|
||||
@Resolver(() => CommentThread)
|
||||
export class CommentThreadResolver {
|
||||
constructor(private readonly prismaService: PrismaService) {}
|
||||
constructor(
|
||||
private readonly prismaService: PrismaService,
|
||||
private readonly argsService: ArgsService,
|
||||
) {}
|
||||
|
||||
@UseGuards(CreateOneCommentThreadGuard)
|
||||
@Mutation(() => CommentThread, {
|
||||
@ -35,4 +40,21 @@ export class CommentThreadResolver {
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@Query(() => [CommentThread])
|
||||
async findManyCommentThreads(
|
||||
@Args() args: FindManyCommentThreadArgs,
|
||||
@AuthWorkspace() workspace: Workspace,
|
||||
) {
|
||||
const preparedArgs =
|
||||
await this.argsService.prepareFindManyArgs<FindManyCommentThreadArgs>(
|
||||
args,
|
||||
workspace,
|
||||
);
|
||||
const result = await this.prismaService.commentThread.findMany(
|
||||
preparedArgs,
|
||||
);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,22 @@
|
||||
import * as TypeGraphQL from '@nestjs/graphql';
|
||||
import { PrismaService } from 'src/database/prisma.service';
|
||||
import { User } from 'src/api/@generated/user/user.model';
|
||||
import { Comment } from 'src/api/@generated/comment/comment.model';
|
||||
|
||||
@TypeGraphQL.Resolver(() => Comment)
|
||||
export class CommentRelationsResolver {
|
||||
constructor(private readonly prismaService: PrismaService) {}
|
||||
|
||||
@TypeGraphQL.ResolveField(() => User, {
|
||||
nullable: true,
|
||||
})
|
||||
async author(@TypeGraphQL.Parent() comment: Comment): Promise<User | null> {
|
||||
return await this.prismaService.comment
|
||||
.findFirst({
|
||||
where: {
|
||||
id: comment.id,
|
||||
},
|
||||
})
|
||||
.author({});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user