chore: add crude for admin
This commit is contained in:
@@ -3,7 +3,7 @@ import { IsBoolean, IsNotEmpty, IsString, IsUrl, MaxLength } from "class-validat
|
||||
|
||||
import { BlogMessage } from "../../../common/enums/message.enum";
|
||||
|
||||
export class CreateCategoryDto {
|
||||
export class CreateBlogCategoryDto {
|
||||
@IsNotEmpty({ message: BlogMessage.TITLE_REQUIRED })
|
||||
@IsString({ message: BlogMessage.TITLE_STRING })
|
||||
@MaxLength(100, { message: BlogMessage.TITLE_MAX_LENGTH })
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { PartialType } from "@nestjs/swagger";
|
||||
|
||||
import { CreateCategoryDto } from "./create-category.dto";
|
||||
import { CreateBlogCategoryDto } from "./create-category.dto";
|
||||
|
||||
export class UpdateCategoryDto extends PartialType(CreateCategoryDto) {}
|
||||
export class UpdateBlogCategoryDto extends PartialType(CreateBlogCategoryDto) {}
|
||||
|
||||
@@ -11,12 +11,12 @@ import { ParamDto } from "../../../common/DTO/param.dto";
|
||||
import { CategoryListSearchQueryDto } from "../../danak-services/DTO/category-search-query.dto";
|
||||
import { PermissionEnum } from "../../users/enums/permission.enum";
|
||||
import { CreateBlogDto } from "../DTO/create-blog.dto";
|
||||
import { CreateCategoryDto } from "../DTO/create-category.dto";
|
||||
import { CreateBlogCategoryDto } from "../DTO/create-category.dto";
|
||||
import { CreateCommentDto } from "../DTO/create-comment.dto";
|
||||
import { BlogSlugDto } from "../DTO/get-blog-by-slug.dto";
|
||||
import { BlogListSearchQueryDto, BlogSearchQueryDto } from "../DTO/search-blog-query.dto";
|
||||
import { UpdateBlogDto } from "../DTO/update-blog.dto";
|
||||
import { UpdateCategoryDto } from "../DTO/update-category.dto";
|
||||
import { UpdateBlogCategoryDto } from "../DTO/update-category.dto";
|
||||
import { UpdateCommentStatusDto } from "../DTO/update-comment-status.dto";
|
||||
import { BlogsService } from "../providers/blogs.service";
|
||||
|
||||
@@ -165,7 +165,7 @@ export class BlogsController {
|
||||
@Post("categories")
|
||||
@AdminRoute()
|
||||
@PermissionsDec(PermissionEnum.BLOGS)
|
||||
createCategory(@Body() createCategoryDto: CreateCategoryDto) {
|
||||
createCategory(@Body() createCategoryDto: CreateBlogCategoryDto) {
|
||||
return this.blogsService.createCategory(createCategoryDto);
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ export class BlogsController {
|
||||
@Patch("categories/:id")
|
||||
@AdminRoute()
|
||||
@PermissionsDec(PermissionEnum.BLOGS)
|
||||
updateCategory(@Param() paramDto: ParamDto, @Body() updateCategoryDto: UpdateCategoryDto) {
|
||||
updateCategory(@Param() paramDto: ParamDto, @Body() updateCategoryDto: UpdateBlogCategoryDto) {
|
||||
return this.blogsService.updateCategory(paramDto.id, updateCategoryDto);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@ import { BlogMessage, CommonMessage } from "../../../common/enums/message.enum";
|
||||
import { CategoryListSearchQueryDto } from "../../danak-services/DTO/category-search-query.dto";
|
||||
import { UsersService } from "../../users/providers/users.service";
|
||||
import { CreateBlogDto } from "../DTO/create-blog.dto";
|
||||
import { CreateCategoryDto } from "../DTO/create-category.dto";
|
||||
import { CreateBlogCategoryDto } from "../DTO/create-category.dto";
|
||||
import { CreateCommentDto } from "../DTO/create-comment.dto";
|
||||
import { BlogListSearchQueryDto, BlogSearchQueryDto } from "../DTO/search-blog-query.dto";
|
||||
import { UpdateBlogDto } from "../DTO/update-blog.dto";
|
||||
import { UpdateCategoryDto } from "../DTO/update-category.dto";
|
||||
import { UpdateBlogCategoryDto } from "../DTO/update-category.dto";
|
||||
import { UpdateCommentStatusDto } from "../DTO/update-comment-status.dto";
|
||||
import { CommentStatus } from "../enums/comment-status.enum";
|
||||
import { BlogCategoriesRepository } from "../repositories/blog-categories.repository";
|
||||
@@ -25,7 +25,7 @@ export class BlogsService {
|
||||
) {}
|
||||
|
||||
//*********************************** */
|
||||
async createCategory(createCategoryDto: CreateCategoryDto) {
|
||||
async createCategory(createCategoryDto: CreateBlogCategoryDto) {
|
||||
const existingCategory = await this.blogCategoriesRepository.findOneBy({ title: createCategoryDto.title });
|
||||
if (existingCategory) throw new BadRequestException(BlogMessage.CATEGORY_ALREADY_EXISTS);
|
||||
|
||||
@@ -38,7 +38,7 @@ export class BlogsService {
|
||||
}
|
||||
//*********************************** */
|
||||
|
||||
async updateCategory(id: string, updateCategoryDto: UpdateCategoryDto) {
|
||||
async updateCategory(id: string, updateCategoryDto: UpdateBlogCategoryDto) {
|
||||
const category = await this.findCategoryById(id);
|
||||
|
||||
if (updateCategoryDto.title) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { IsNull, Repository } from "typeorm";
|
||||
|
||||
import { CategoryListSearchQueryDto } from "../../danak-services/DTO/category-search-query.dto";
|
||||
import { PaginationUtils } from "../../utils/providers/pagination.utils";
|
||||
import { CreateCategoryDto } from "../DTO/create-category.dto";
|
||||
import { CreateBlogCategoryDto } from "../DTO/create-category.dto";
|
||||
import { BlogCategory } from "../entities/blog-category.entity";
|
||||
|
||||
@Injectable()
|
||||
@@ -44,7 +44,7 @@ export class BlogCategoriesRepository extends Repository<BlogCategory> {
|
||||
return query.getManyAndCount();
|
||||
}
|
||||
|
||||
async createCategory(createBlogCategoryDto: CreateCategoryDto) {
|
||||
async createCategory(createBlogCategoryDto: CreateBlogCategoryDto) {
|
||||
const { title, description, iconUrl, isActive } = createBlogCategoryDto;
|
||||
|
||||
const blogCategory = this.create({ title, description, iconUrl, isActive });
|
||||
|
||||
Reference in New Issue
Block a user