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:
Lucas Bordeau
2023-06-05 15:23:29 +02:00
committed by GitHub
parent 6de90024ef
commit fe70f30a29
9 changed files with 208 additions and 12 deletions

View File

@ -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,

View File

@ -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;
}
}

View File

@ -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({});
}
}