HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
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);
  }
}