File: /var/dev/shahnamag/back-end/src/predicate/predicate.controller.ts
import { Controller, Get, Post, Body, Patch, Param, Delete, HttpException, HttpStatus } from '@nestjs/common';
import { PredicateService } from './predicate.service';
import { CreatePredicateDto } from './dto/create-predicate.dto';
import { UpdatePredicateDto } from './dto/update-predicate.dto';
import { Public } from 'src/user/auth.guard';
@Controller('predicate')
export class PredicateController {
constructor(private readonly predicateService: PredicateService) {}
@Post()
create(@Body() createPredicateDto: CreatePredicateDto) {
return this.predicateService.create(createPredicateDto);
}
@Public()
@Get()
async findAll() {
let predicates = await this.predicateService.findAll().catch(error => error);
if(predicates instanceof Error)
throw new HttpException({error: 500, message: predicates.message}, HttpStatus.INTERNAL_SERVER_ERROR);
for(let predicate of predicates) {
predicate.label = {fa: predicate.label, en: predicate.translation};
delete predicate.translation;
}
return {data: predicates, error: 0};
}
@Get(':id')
findOne(@Param('id') id: string) {
return this.predicateService.findOne(+id);
}
@Patch(':id')
update(@Param('id') id: string, @Body() updatePredicateDto: UpdatePredicateDto) {
return this.predicateService.update(+id, updatePredicateDto);
}
@Delete(':id')
remove(@Param('id') id: string) {
return this.predicateService.remove(+id);
}
}