chore: complete criticism module
This commit is contained in:
@@ -131,4 +131,5 @@ export const enum CriticismMessage {
|
||||
TITLE_STRING = "عنوان انتقادات باید یک رشته باشد",
|
||||
CONTENT_IS_REQUIRED = "متن انتقادات مورد نیاز است",
|
||||
CONTENT_IS_STRING = "متن انتقادات باید رشته باشد",
|
||||
NOT_FOUND = "انتقادی با این ایدی یافت نشد",
|
||||
}
|
||||
|
||||
@@ -27,6 +27,14 @@ export class CriticismController {
|
||||
return this.criticismService.findAll();
|
||||
}
|
||||
|
||||
@AuthGuards()
|
||||
@Roles(RoleEnum.ADMIN)
|
||||
@ApiOperation({ summary: "Get one Criticism with id ===> login as admin" })
|
||||
@Get(":id")
|
||||
fineOne(@Param() paramDto: ParamDto) {
|
||||
return this.criticismService.findOneAndMarkAsRead(paramDto.id);
|
||||
}
|
||||
|
||||
@AuthGuards()
|
||||
@Roles(RoleEnum.ADMIN)
|
||||
@ApiOperation({ summary: "Delete one Criticism with id ===> login as admin" })
|
||||
|
||||
@@ -14,6 +14,9 @@ export class Criticism extends BaseEntity {
|
||||
@Column({ type: "text", nullable: false })
|
||||
content: string;
|
||||
|
||||
@Column({ type: "boolean", default: false })
|
||||
isRead: boolean;
|
||||
|
||||
@OneToMany(() => CriticismFile, (criticismFile) => criticismFile.criticism, { eager: true, cascade: true })
|
||||
files: CriticismFile[];
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { BadRequestException, Injectable } from "@nestjs/common";
|
||||
|
||||
import { CommonMessage } from "../../../common/enums/message.enum";
|
||||
import { CommonMessage, CriticismMessage } from "../../../common/enums/message.enum";
|
||||
import { CreateCriticismDto } from "../DTO/create-criticism.dto";
|
||||
import { CriticismRepository } from "../repositories/criticisms.repository";
|
||||
|
||||
@@ -23,10 +23,29 @@ export class CriticismsService {
|
||||
};
|
||||
}
|
||||
|
||||
//##################################### ##
|
||||
|
||||
async findAll() {
|
||||
return await this.criticismRepository.find({});
|
||||
const criticisms = await this.criticismRepository.find();
|
||||
return {
|
||||
criticisms,
|
||||
};
|
||||
}
|
||||
|
||||
//##################################### ##
|
||||
|
||||
async findOneAndMarkAsRead(id: string) {
|
||||
const criticism = await this.criticismRepository.findOneBy({ id });
|
||||
if (!criticism) throw new BadRequestException(CriticismMessage.NOT_FOUND);
|
||||
criticism.isRead = true;
|
||||
await this.criticismRepository.save(criticism);
|
||||
return {
|
||||
criticism,
|
||||
};
|
||||
}
|
||||
|
||||
//##################################### ##
|
||||
|
||||
async delete(id: string) {
|
||||
const criticism = await this.criticismRepository.findOneBy({ id });
|
||||
if (!criticism) throw new BadRequestException();
|
||||
|
||||
Reference in New Issue
Block a user