update: the blog list get for admin

This commit is contained in:
mahyargdz
2025-08-04 09:48:39 +03:30
parent 9262c5b569
commit 629b8dbdd5
3 changed files with 30 additions and 3 deletions
+2
View File
@@ -775,6 +775,8 @@ export const enum BlogMessage {
SLUG_MAX_LENGTH = "حداکثر طول اسلاگ بلاگ باید ۲۵۵ کاراکتر باشد",
CATEGORY_HAS_BLOGS = "دسته بندی مورد نظر دارای بلاگ می‌باشد",
BLOG_ALREADY_EXISTS_WITH_THIS_SLUG = "بلاگی با این اسلاگ قبلا ثبت شده است",
CREATED_AT_REQUIRED = "تاریخ ایجاد الزامی است",
CREATED_AT_DATE_STRING = "تاریخ ایجاد باید یک تاریخ باشد",
}
export const enum SliderMessage {
+10 -2
View File
@@ -1,5 +1,13 @@
import { PartialType } from "@nestjs/swagger";
import { ApiProperty, PartialType } from "@nestjs/swagger";
import { IsDateString, IsNotEmpty, IsOptional } from "class-validator";
import { CreateBlogDto } from "./create-blog.dto";
import { BlogMessage } from "../../../common/enums/message.enum";
export class UpdateBlogDto extends PartialType(CreateBlogDto) {}
export class UpdateBlogDto extends PartialType(CreateBlogDto) {
@IsOptional()
@IsNotEmpty({ message: BlogMessage.CREATED_AT_REQUIRED })
@IsDateString({}, { message: BlogMessage.CREATED_AT_DATE_STRING })
@ApiProperty({ description: "Created at of the blog", example: "2021-01-01" })
createdAt?: Date;
}
@@ -123,7 +123,23 @@ export class BlogsRepository extends Repository<Blog> {
const queryBuilder = this.createQueryBuilder("blog")
.where("blog.deletedAt IS NULL")
.leftJoinAndSelect("blog.category", "category")
.leftJoinAndSelect("blog.author", "author");
.leftJoinAndSelect("blog.author", "author")
.select([
"blog.id",
"blog.title",
"blog.previewContent",
"blog.metaTitle",
"blog.imageUrl",
"blog.slug",
"blog.isActive",
"blog.createdAt",
"blog.viewCount",
"category.id",
"category.title",
"author.id",
"author.firstName",
"author.lastName",
]);
if (queryDto.isActive) {
queryBuilder.andWhere("blog.isActive = :isActive", { isActive: queryDto.isActive === 1 });
@@ -158,6 +174,7 @@ export class BlogsRepository extends Repository<Blog> {
return queryBuilder.getManyAndCount();
}
//*********************************** */
async getMostVisitedBlogs(limit: number = 5) {
return this.createQueryBuilder("blog")