diff --git a/server/src/modules/comments/comment.module.ts b/server/src/modules/comments/comment.module.ts index e2157a32f6..0ea002a9ed 100644 --- a/server/src/modules/comments/comment.module.ts +++ b/server/src/modules/comments/comment.module.ts @@ -9,10 +9,11 @@ import { User } from 'src/entities/user.entity'; import { Organization } from 'src/entities/organization.entity'; import { AppVersion } from 'src/entities/app_version.entity'; import { CommentUsers } from 'src/entities/comment_user.entity'; +import { Comment } from 'src/entities/comment.entity'; @Module({ controllers: [CommentController], - imports: [TypeOrmModule.forFeature([CommentRepository, CommentUsers, AppVersion, User, Organization]), CaslModule], - providers: [CommentService, EmailService], + imports: [TypeOrmModule.forFeature([Comment, CommentUsers, AppVersion, User, Organization]), CaslModule], + providers: [CommentService, EmailService, CommentRepository], }) export class CommentModule {} diff --git a/server/src/modules/thread/thread.module.ts b/server/src/modules/thread/thread.module.ts index f83b67d68b..afa355424c 100644 --- a/server/src/modules/thread/thread.module.ts +++ b/server/src/modules/thread/thread.module.ts @@ -5,10 +5,11 @@ import { CaslModule } from '../casl/casl.module'; import { ThreadController } from '../../controllers/thread.controller'; import { ThreadService } from '../../services/thread.service'; import { ThreadRepository } from '../../repositories/thread.repository'; +import { Thread } from 'src/entities/thread.entity'; @Module({ - imports: [TypeOrmModule.forFeature([ThreadRepository]), CaslModule], + imports: [TypeOrmModule.forFeature([Thread]), CaslModule], controllers: [ThreadController], - providers: [ThreadService], + providers: [ThreadService, ThreadRepository], }) export class ThreadModule {} diff --git a/server/src/repositories/comment.repository.ts b/server/src/repositories/comment.repository.ts index 14d283d60e..eed717e203 100644 --- a/server/src/repositories/comment.repository.ts +++ b/server/src/repositories/comment.repository.ts @@ -1,33 +1,38 @@ +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { Comment } from '../entities/comment.entity'; import { CreateCommentDto, UpdateCommentDto } from '../dto/comment.dto'; +@Injectable() export class CommentRepository extends Repository { + constructor( + @InjectRepository(Comment) + private commentRepository: Repository + ) { + super(commentRepository.target, commentRepository.manager, commentRepository.queryRunner); + } + public async createComment( createCommentDto: CreateCommentDto, userId: string, organizationId: string ): Promise { const { comment, threadId, appVersionsId } = createCommentDto; - - const _comment = new Comment(); - _comment.comment = comment; - _comment.threadId = threadId; - _comment.userId = userId; - _comment.organizationId = organizationId; - _comment.appVersionsId = appVersionsId; - - await _comment.save(); - return _comment; + const _comment = this.commentRepository.create({ + comment, + threadId, + userId, + organizationId, + appVersionsId, + }); + return this.commentRepository.save(_comment); } public async editComment(updateCommentDto: UpdateCommentDto, editedComment: Comment): Promise { const { comment, threadId } = updateCommentDto; - editedComment.comment = comment; editedComment.threadId = threadId; - await editedComment.save(); - - return editedComment; + return this.commentRepository.save(editedComment); } } diff --git a/server/src/repositories/thread.repository.ts b/server/src/repositories/thread.repository.ts index e40b2f998a..ef630c097a 100644 --- a/server/src/repositories/thread.repository.ts +++ b/server/src/repositories/thread.repository.ts @@ -1,21 +1,32 @@ +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { Thread } from '../entities/thread.entity'; import { CreateThreadDto, UpdateThreadDto } from '../dto/thread.dto'; +@Injectable() export class ThreadRepository extends Repository { + constructor( + @InjectRepository(Thread) + private threadRepository: Repository + ) { + super(threadRepository.target, threadRepository.manager, threadRepository.queryRunner); + } + public async createThread(createThreadDto: CreateThreadDto, userId: string, organizationId: string): Promise { const { x, y, appId, appVersionsId, pageId } = createThreadDto; - const thread = new Thread(); - thread.x = x; - thread.y = y; - thread.appId = appId; - thread.userId = userId; - thread.organizationId = organizationId; - thread.appVersionsId = appVersionsId; - thread.pageId = pageId; + const thread = this.threadRepository.create({ + x, + y, + appId, + userId, + organizationId, + appVersionsId, + pageId, + }); - return await thread.save(); + return await this.threadRepository.save(thread); } public async editThread(updateThreadDto: UpdateThreadDto, editedThread: Thread): Promise { @@ -24,8 +35,7 @@ export class ThreadRepository extends Repository { editedThread.x = x; editedThread.y = y; editedThread.isResolved = isResolved; - await editedThread.save(); - return editedThread; + return await this.threadRepository.save(editedThread); } } diff --git a/server/src/services/comment.service.ts b/server/src/services/comment.service.ts index 8955457ae7..143e7157f1 100644 --- a/server/src/services/comment.service.ts +++ b/server/src/services/comment.service.ts @@ -14,8 +14,7 @@ import { CommentUsers } from 'src/entities/comment_user.entity'; @Injectable() export class CommentService { constructor( - @InjectRepository(CommentRepository) - private commentRepository: CommentRepository, + private readonly commentRepository: CommentRepository, @InjectRepository(AppVersion) private appVersionsRepository: Repository, @InjectRepository(User) @@ -65,9 +64,8 @@ export class CommentService { } public async getComments(threadId: string, appVersionsId: string): Promise { - return await - this._dataSource. - createQueryBuilder(Comment, 'comment') + return await this._dataSource + .createQueryBuilder(Comment, 'comment') .innerJoin('comment.user', 'user') .addSelect(['user.id', 'user.firstName', 'user.lastName']) .andWhere('comment.threadId = :threadId', { @@ -99,9 +97,8 @@ export class CommentService { appVersionsId: string, pageId: string ): Promise { - const comments = await - this._dataSource. - createQueryBuilder(Comment, 'comment') + const comments = await this._dataSource + .createQueryBuilder(Comment, 'comment') .innerJoin('comment.user', 'user') .addSelect(['user.id', 'user.firstName', 'user.lastName']) .innerJoin('comment.thread', 'thread')