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