import { Body, Controller, Delete, Get, Param, Patch, Post, Query, UseGuards } from '@nestjs/common' import { JwtAuthGuard } from '../auth/jwt-auth.guard.js' import { OperatorGuard } from '../auth/operator.guard.js' import { CreatePriceDto } from './dto/create-price.dto.js' import { UpdatePriceDto } from './dto/update-price.dto.js' import { PricesService } from './prices.service.js' // All endpoints require an authenticated caller. Read is open to any // authenticated JWT (partners + portal users see prices for display); // write operations layer the OperatorGuard on top. @Controller('prices') @UseGuards(JwtAuthGuard) export class PricesController { constructor(private readonly prices: PricesService) {} @Get() list(@Query('includeInactive') includeInactive?: string) { return this.prices.findAll(includeInactive === 'true') } @Post() @UseGuards(OperatorGuard) create(@Body() dto: CreatePriceDto) { return this.prices.create(dto) } @Patch(':id') @UseGuards(OperatorGuard) update(@Param('id') id: string, @Body() dto: UpdatePriceDto) { return this.prices.update(id, dto) } @Delete(':id') @UseGuards(OperatorGuard) deactivate(@Param('id') id: string) { return this.prices.deactivate(id) } }