Files
toir-light-v7/backend/src/equipment/equipment.controller.ts
2026-04-22 07:44:34 +00:00

45 lines
1.5 KiB
TypeScript

import { Controller, Get, Post, Body, Patch, Param, Delete, Query, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiTags, ApiParam, ApiQuery } from '@nestjs/swagger';
import { EquipmentService } from './equipment.service';
import { CreateEquipmentDto } from './dto/create-equipment.dto';
import { UpdateEquipmentDto } from './dto/update-equipment.dto';
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
import { EquipmentStatus } from '@prisma/client';
@ApiTags('equipment')
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Controller('equipment')
export class EquipmentController {
constructor(private readonly equipmentService: EquipmentService) {}
@Get()
@ApiQuery({ name: 'skip', required: false, type: Number })
@ApiQuery({ name: 'take', required: false, type: Number })
findAll(@Query('skip') skip?: number, @Query('take') take?: number) {
return this.equipmentService.findAll({ skip: +skip || 0, take: +take || 25 });
}
@Get(':id')
@ApiParam({ name: 'id', type: String })
findOne(@Param('id') id: string) {
return this.equipmentService.findOne({ id });
}
@Post()
create(@Body() dto: CreateEquipmentDto) {
return this.equipmentService.create(dto);
}
@Patch(':id')
@ApiParam({ name: 'id', type: String })
update(@Param('id') id: string, @Body() dto: UpdateEquipmentDto) {
return this.equipmentService.update({ where: { id }, data: dto });
}
@Delete(':id')
@ApiParam({ name: 'id', type: String })
remove(@Param('id') id: string) {
return this.equipmentService.remove({ id });
}
}