update: add blog comment to the blog fetch by id
This commit is contained in:
+2
-1
@@ -20,6 +20,7 @@ import { AddressModule } from "./modules/address/address.module";
|
|||||||
import { AdsModule } from "./modules/ads/ads.module";
|
import { AdsModule } from "./modules/ads/ads.module";
|
||||||
import { AnnouncementsModule } from "./modules/announcements/announcement.module";
|
import { AnnouncementsModule } from "./modules/announcements/announcement.module";
|
||||||
import { AuthModule } from "./modules/auth/auth.module";
|
import { AuthModule } from "./modules/auth/auth.module";
|
||||||
|
import { BlogsModule } from "./modules/blogs/blogs.module";
|
||||||
import { ContactUsModule } from "./modules/contact-us/contact-us.module";
|
import { ContactUsModule } from "./modules/contact-us/contact-us.module";
|
||||||
import { CriticismModule } from "./modules/criticisms/criticisms.module";
|
import { CriticismModule } from "./modules/criticisms/criticisms.module";
|
||||||
import { DanakServicesModule } from "./modules/danak-services/danak-services.module";
|
import { DanakServicesModule } from "./modules/danak-services/danak-services.module";
|
||||||
@@ -35,7 +36,6 @@ import { TicketsModule } from "./modules/tickets/tickets.module";
|
|||||||
import { UploaderModule } from "./modules/uploader/uploader.module";
|
import { UploaderModule } from "./modules/uploader/uploader.module";
|
||||||
import { UsersModule } from "./modules/users/users.module";
|
import { UsersModule } from "./modules/users/users.module";
|
||||||
import { WalletsModule } from "./modules/wallets/wallets.module";
|
import { WalletsModule } from "./modules/wallets/wallets.module";
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
TelegrafModule.forRootAsync(telegrafConfig()),
|
TelegrafModule.forRootAsync(telegrafConfig()),
|
||||||
@@ -65,6 +65,7 @@ import { WalletsModule } from "./modules/wallets/wallets.module";
|
|||||||
AdsModule,
|
AdsModule,
|
||||||
AddressModule,
|
AddressModule,
|
||||||
DashboardModule,
|
DashboardModule,
|
||||||
|
BlogsModule,
|
||||||
LoggerModule,
|
LoggerModule,
|
||||||
],
|
],
|
||||||
controllers: [],
|
controllers: [],
|
||||||
|
|||||||
@@ -86,12 +86,12 @@ export class BlogsController {
|
|||||||
return this.blogsService.createComment(paramDto.id, createCommentDto, userId);
|
return this.blogsService.createComment(paramDto.id, createCommentDto, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation({ summary: "Get all comments for a blog" })
|
@ApiOperation({ summary: "Get all comments for a blog (admin route)" })
|
||||||
@AdminRoute()
|
@AdminRoute()
|
||||||
@PermissionsDec(PermissionEnum.BLOGS)
|
@PermissionsDec(PermissionEnum.BLOGS)
|
||||||
@Get(":id/comments")
|
@Get(":id/comments")
|
||||||
getBlogComments(@Param() paramDto: ParamDto) {
|
getBlogCommentsForAdmin(@Param() paramDto: ParamDto) {
|
||||||
return this.blogsService.getBlogComments(paramDto.id);
|
return this.blogsService.getBlogCommentsForAdmin(paramDto.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation({ summary: "Update the status of a comment (admin route)" })
|
@ApiOperation({ summary: "Update the status of a comment (admin route)" })
|
||||||
|
|||||||
@@ -150,7 +150,8 @@ export class BlogsService {
|
|||||||
|
|
||||||
async getBlogById(id: string) {
|
async getBlogById(id: string) {
|
||||||
const blog = await this.findBlogById(id);
|
const blog = await this.findBlogById(id);
|
||||||
return { blog };
|
const comments = await this.blogCommentsRepository.findBlogCommentsByBlogId(id);
|
||||||
|
return { blog, comments };
|
||||||
}
|
}
|
||||||
//*********************************** */
|
//*********************************** */
|
||||||
|
|
||||||
@@ -208,8 +209,8 @@ export class BlogsService {
|
|||||||
}
|
}
|
||||||
//*********************************** */
|
//*********************************** */
|
||||||
|
|
||||||
async getBlogComments(blogId: string) {
|
async getBlogCommentsForAdmin(blogId: string) {
|
||||||
const comments = await this.blogCommentsRepository.findAllByBlogId(blogId);
|
const comments = await this.blogCommentsRepository.findBlogCommentsForAdmin(blogId);
|
||||||
return { comments };
|
return { comments };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Injectable } from "@nestjs/common";
|
import { Injectable } from "@nestjs/common";
|
||||||
import { InjectRepository } from "@nestjs/typeorm";
|
import { InjectRepository } from "@nestjs/typeorm";
|
||||||
import { Repository } from "typeorm";
|
import { IsNull, Repository } from "typeorm";
|
||||||
|
|
||||||
import { BlogComment } from "../entities/blog-comment.entity";
|
import { BlogComment } from "../entities/blog-comment.entity";
|
||||||
import { CommentStatus } from "../enums/comment-status.enum";
|
import { CommentStatus } from "../enums/comment-status.enum";
|
||||||
@@ -17,10 +17,39 @@ export class BlogCommentsRepository extends Repository<BlogComment> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async findAllByBlogId(blogId: string) {
|
async findBlogCommentsForAdmin(blogId: string) {
|
||||||
return this.find({
|
return this.find({
|
||||||
where: { blog: { id: blogId }, status: CommentStatus.APPROVED },
|
where: { blog: { id: blogId, deletedAt: IsNull() } },
|
||||||
order: { createdAt: "DESC" },
|
order: { createdAt: "DESC" },
|
||||||
|
relations: {
|
||||||
|
user: true,
|
||||||
|
},
|
||||||
|
select: {
|
||||||
|
id: true,
|
||||||
|
title: true,
|
||||||
|
content: true,
|
||||||
|
createdAt: true,
|
||||||
|
status: true,
|
||||||
|
user: { id: true, firstName: true, lastName: true },
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async findBlogCommentsByBlogId(blogId: string) {
|
||||||
|
return this.find({
|
||||||
|
where: { blog: { id: blogId, deletedAt: IsNull() }, status: CommentStatus.APPROVED },
|
||||||
|
order: { createdAt: "DESC" },
|
||||||
|
relations: {
|
||||||
|
user: true,
|
||||||
|
},
|
||||||
|
select: {
|
||||||
|
id: true,
|
||||||
|
title: true,
|
||||||
|
content: true,
|
||||||
|
createdAt: true,
|
||||||
|
status: true,
|
||||||
|
user: { id: true, firstName: true, lastName: true },
|
||||||
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user